Export a payout run for reconciliation
curl --request GET \
--url https://api.lightspark.com/grid/2025-10-13/payout-runs/{payoutRunId}/export \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.lightspark.com/grid/2025-10-13/payout-runs/{payoutRunId}/export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.lightspark.com/grid/2025-10-13/payout-runs/{payoutRunId}/export")
.get()
.addHeader("Authorization", "Basic <encoded-value>")
.build()
val response = client.newCall(request).execute(){
"payoutRunId": "PayoutRun:019542f5-b3e7-1d02-0000-000000000001",
"rows": [
{
"id": "PayoutRunRow:019542f5-b3e7-1d02-0000-000000000002",
"payoutRunId": "PayoutRun:019542f5-b3e7-1d02-0000-000000000001",
"clientRowId": "contractor-0042",
"rowIndex": 41,
"state": "PENDING",
"lockedCurrencySide": "SENDING",
"lockedCurrencyAmount": 125000,
"destination": {
"destinationType": "EXTERNAL_ACCOUNT",
"externalAccountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123"
},
"createdAt": "2026-11-04T22:00:00Z",
"updatedAt": "2026-11-05T02:14:00Z",
"description": "October invoice",
"purposeOfPayment": "GIFT",
"quoteId": "Quote:019542f5-b3e7-1d02-0000-000000000006",
"transactionId": "Transaction:019542f5-b3e7-1d02-0000-000000000005",
"failureCode": "INSUFFICIENT_FUNDS",
"failureReason": "Insufficient balance on the source account.",
"transactionStatus": "PENDING",
"sentAmount": {
"amount": 12550,
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$",
"decimals": 2
}
},
"receivedAmount": {
"amount": 12550,
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$",
"decimals": 2
}
},
"fees": 150,
"exchangeRate": 0.058,
"providerReference": "TZP-0042-8812",
"settledAt": "2026-11-05T02:13:00Z"
}
]
}{
"code": "UNAUTHORIZED",
"reason": "<string>",
"details": {}
}{
"code": "FORBIDDEN",
"reason": "<string>",
"details": {
"refusalReason": "AGENT_POLICY_DENIED",
"permission": "ISSUE_CARDS",
"policyDenialReason": "DAILY_LIMIT_EXCEEDED"
}
}{
"code": "TRANSACTION_NOT_FOUND",
"reason": "<string>",
"details": {}
}{
"code": "GRID_SWITCH_ERROR",
"reason": "<string>",
"details": {}
}Payout Runs
Export a payout run for reconciliation
Every row of the run in submission order, each with the transaction it produced: what was sent and received, the fees, the rate, the provider’s reference and why it failed. Amounts are in the smallest unit of their currency. The transaction fields are absent for a row that produced no transaction.
GET
/
payout-runs
/
{payoutRunId}
/
export
Export a payout run for reconciliation
curl --request GET \
--url https://api.lightspark.com/grid/2025-10-13/payout-runs/{payoutRunId}/export \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.lightspark.com/grid/2025-10-13/payout-runs/{payoutRunId}/export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.lightspark.com/grid/2025-10-13/payout-runs/{payoutRunId}/export")
.get()
.addHeader("Authorization", "Basic <encoded-value>")
.build()
val response = client.newCall(request).execute(){
"payoutRunId": "PayoutRun:019542f5-b3e7-1d02-0000-000000000001",
"rows": [
{
"id": "PayoutRunRow:019542f5-b3e7-1d02-0000-000000000002",
"payoutRunId": "PayoutRun:019542f5-b3e7-1d02-0000-000000000001",
"clientRowId": "contractor-0042",
"rowIndex": 41,
"state": "PENDING",
"lockedCurrencySide": "SENDING",
"lockedCurrencyAmount": 125000,
"destination": {
"destinationType": "EXTERNAL_ACCOUNT",
"externalAccountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123"
},
"createdAt": "2026-11-04T22:00:00Z",
"updatedAt": "2026-11-05T02:14:00Z",
"description": "October invoice",
"purposeOfPayment": "GIFT",
"quoteId": "Quote:019542f5-b3e7-1d02-0000-000000000006",
"transactionId": "Transaction:019542f5-b3e7-1d02-0000-000000000005",
"failureCode": "INSUFFICIENT_FUNDS",
"failureReason": "Insufficient balance on the source account.",
"transactionStatus": "PENDING",
"sentAmount": {
"amount": 12550,
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$",
"decimals": 2
}
},
"receivedAmount": {
"amount": 12550,
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "$",
"decimals": 2
}
},
"fees": 150,
"exchangeRate": 0.058,
"providerReference": "TZP-0042-8812",
"settledAt": "2026-11-05T02:13:00Z"
}
]
}{
"code": "UNAUTHORIZED",
"reason": "<string>",
"details": {}
}{
"code": "FORBIDDEN",
"reason": "<string>",
"details": {
"refusalReason": "AGENT_POLICY_DENIED",
"permission": "ISSUE_CARDS",
"policyDenialReason": "DAILY_LIMIT_EXCEEDED"
}
}{
"code": "TRANSACTION_NOT_FOUND",
"reason": "<string>",
"details": {}
}{
"code": "GRID_SWITCH_ERROR",
"reason": "<string>",
"details": {}
}Authorizations
API token authentication using format <api token id>:<api client secret>
Path Parameters
System-generated unique payout run identifier
Was this page helpful?