For the complete documentation index, see llms.txt. This page is also available as Markdown.

Payouts

Payouts to coaches, instructors, and partners.

List all payouts

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
stripeAccountIdstringRequired
Query parameters
statusstring · enumOptional

Filter by payout status

Possible values:
arrivalDateFromstring · date-timeOptional

Filter by arrival date (from)

Example: 2024-01-01T00:00:00.000Z
arrivalDateTostring · date-timeOptional

Filter by arrival date (to)

Example: 2024-01-31T23:59:59.999Z
pagenumberOptional

Page number (default: 1)

Example: 1
ippnumberOptional

Items per page (default: 30)

Example: 30
Responses
200

Returns a PayoutCollectionDto

application/json
get/payouts/{stripeAccountId}
GET /apis/v2/payouts/{stripeAccountId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "text",
      "stripePayout": {
        "id": "text"
      },
      "stripeAccount": {
        "id": "text"
      },
      "amount": 1,
      "currency": "text",
      "arrivalDate": "2026-01-01T00:00:00.000Z",
      "status": {
        "id": "text",
        "value": "text",
        "displayName": "text"
      },
      "method": "text",
      "balanceTransaction": {
        "id": "text"
      },
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z",
      "reconciliationStatus": "PENDING",
      "reconciledAt": "2026-01-01T00:00:00.000Z",
      "reconciliation": {
        "id": "text"
      },
      "_links": {}
    }
  ],
  "_pagination": {
    "page": 1,
    "ipp": 1,
    "count": 1,
    "total": 1
  },
  "_links": {
    "self": {
      "href": "text"
    }
  }
}

Get a payout by ID

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
stripeAccountIdstringRequired
payoutIdstringRequired
Responses
200

Returns a PayoutDto

application/json
idstringRead-onlyRequired
amountnumberRead-onlyRequired

Payout amount in dollars

currencystringRead-onlyRequired

Three letter currency code (e.g., USD)

arrivalDatestring · date-timeRead-onlyRequired

Expected arrival date of the payout

methodstringRead-onlyRequired

Payout method (e.g., standard, instant)

createdAtstring · date-timeRead-onlyRequired
updatedAtstring · date-timeRead-onlyRequired
reconciliationStatusstring · enum · nullableOptional

Reconciliation status of this payout

Possible values:
reconciledAtstring · date-time · nullableRead-onlyOptional
reconciliationone of · nullableRead-onlyOptional
or
_linksobjectRequired
get/payouts/{stripeAccountId}/{payoutId}
GET /apis/v2/payouts/{stripeAccountId}/{payoutId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "text",
  "stripePayout": {
    "id": "text"
  },
  "stripeAccount": {
    "id": "text"
  },
  "amount": 1,
  "currency": "text",
  "arrivalDate": "2026-01-01T00:00:00.000Z",
  "status": {
    "id": "text",
    "value": "text",
    "displayName": "text"
  },
  "method": "text",
  "balanceTransaction": {
    "id": "text"
  },
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "reconciliationStatus": "PENDING",
  "reconciledAt": "2026-01-01T00:00:00.000Z",
  "reconciliation": {
    "id": "text"
  },
  "_links": {}
}

Get reconciliation summary for a payout

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
stripeAccountIdstringRequired
payoutIdstringRequired
Responses
200Success
application/json
statusstring · enumRequired

Reconciliation status

Possible values:
reconciledAtstring · date-time · nullableRequired

When the payout was last reconciled

get/payouts/{stripeAccountId}/{payoutId}/reconciliation
GET /apis/v2/payouts/{stripeAccountId}/{payoutId}/reconciliation HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "PENDING",
  "reconciledAt": "2026-01-01T00:00:00.000Z",
  "issuesSummary": {
    "unmatchedCount": 3,
    "netMismatchCount": 2,
    "totalNetDifference": 12.34,
    "totalNetReconciled": 1200.45,
    "errorsCount": 1,
    "severity": "low"
  },
  "unmatchedTransactions": [
    {
      "transactionId": "txn_1234567890abcdef",
      "type": "payment",
      "amount": 2500,
      "currency": "usd",
      "created": "2024-01-15T10:30:00Z",
      "description": "Payment for booking #123",
      "sourceId": "ch_1234567890abcdef",
      "reason": "No matching settlement found for this transaction"
    }
  ]
}

Reconcile a payout with settlements

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
stripeAccountIdstringRequired
payoutIdstringRequired
Responses
200

Reconciliation processed successfully

application/json
post/payouts/{stripeAccountId}/{payoutId}/reconciliation
POST /apis/v2/payouts/{stripeAccountId}/{payoutId}/reconciliation HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "payout": {
    "id": "text",
    "stripePayout": {
      "id": "text"
    },
    "stripeAccount": {
      "id": "text"
    },
    "amount": 1,
    "currency": "text",
    "arrivalDate": "2026-01-01T00:00:00.000Z",
    "status": {
      "id": "text",
      "value": "text",
      "displayName": "text"
    },
    "method": "text",
    "balanceTransaction": {
      "id": "text"
    },
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-01-01T00:00:00.000Z",
    "reconciliationStatus": "PENDING",
    "reconciledAt": "2026-01-01T00:00:00.000Z",
    "reconciliation": {
      "id": "text"
    },
    "_links": {}
  },
  "reconciliationStats": {
    "totalTransactions": 150,
    "chargesProcessed": 120,
    "refundsProcessed": 15,
    "transfersProcessed": 10,
    "settlementsUpdated": 145,
    "errors": [
      {
        "transactionId": "txn_error123",
        "error": "Settlement not found"
      }
    ],
    "unmatchedTransactions": [
      {
        "transactionId": "txn_1234567890abcdef",
        "type": "payment",
        "amount": 2500,
        "currency": "usd",
        "created": "2024-01-15T10:30:00Z",
        "description": "Payment for booking #123",
        "sourceId": "ch_1234567890abcdef",
        "reason": "No matching settlement found for this transaction"
      }
    ],
    "totalGross": 125000,
    "totalNet": 120000
  }
}

Sync historical payouts from Stripe

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
stripeAccountIdstringRequired
Query parameters
startDatestring · date-timeOptional

Start date for sync (optional)

Example: 2024-01-01T00:00:00.000Z
endDatestring · date-timeOptional

End date for sync (optional)

Example: 2024-12-31T23:59:59.999Z
Responses
200

Sync completed successfully

application/json
syncednumberRequired

Number of payouts successfully synced

failednumberRequired

Number of payouts that failed to sync

hasMorebooleanRequired

Whether there are more payouts to sync

post/payouts/{stripeAccountId}/sync
POST /apis/v2/payouts/{stripeAccountId}/sync HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "synced": 1,
  "failed": 1,
  "errors": [
    {
      "payout": {
        "id": "text"
      },
      "error": "text"
    }
  ],
  "hasMore": true
}

Reconcile a single balance transaction for the payout

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
stripeAccountIdstringRequired
payoutIdstringRequired
transactionIdstringRequired
Responses
200

Single transaction reconciliation processed successfully

application/json
post/payouts/{stripeAccountId}/{payoutId}/reconciliation/transactions/{transactionId}
POST /apis/v2/payouts/{stripeAccountId}/{payoutId}/reconciliation/transactions/{transactionId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "payout": {
    "id": "text",
    "stripePayout": {
      "id": "text"
    },
    "stripeAccount": {
      "id": "text"
    },
    "amount": 1,
    "currency": "text",
    "arrivalDate": "2026-01-01T00:00:00.000Z",
    "status": {
      "id": "text",
      "value": "text",
      "displayName": "text"
    },
    "method": "text",
    "balanceTransaction": {
      "id": "text"
    },
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-01-01T00:00:00.000Z",
    "reconciliationStatus": "PENDING",
    "reconciledAt": "2026-01-01T00:00:00.000Z",
    "reconciliation": {
      "id": "text"
    },
    "_links": {}
  },
  "reconciliationStats": {
    "totalTransactions": 150,
    "chargesProcessed": 120,
    "refundsProcessed": 15,
    "transfersProcessed": 10,
    "settlementsUpdated": 145,
    "errors": [
      {
        "transactionId": "txn_error123",
        "error": "Settlement not found"
      }
    ],
    "unmatchedTransactions": [
      {
        "transactionId": "txn_1234567890abcdef",
        "type": "payment",
        "amount": 2500,
        "currency": "usd",
        "created": "2024-01-15T10:30:00Z",
        "description": "Payment for booking #123",
        "sourceId": "ch_1234567890abcdef",
        "reason": "No matching settlement found for this transaction"
      }
    ],
    "totalGross": 125000,
    "totalNet": 120000
  }
}

Last updated

Was this helpful?