Retrieve payout state
Changed onReturns the current lifecycle state of a payout. Identify the payout by exactly one of payout_id or idempotency_key — supplying neither or both returns 400 Bad Request. The response is lifecycle-only (PII-free); full per-resource details are fetched from the existing per-resource endpoints (GET /participants/{code}, GET /payments/external_accounts/{id}, GET /payments/{payment_id}) once the caller has the identifier. All queries are scoped to the caller's platform_code; a payout_id belonging to another tenant returns 404 Not Found (indistinguishable from a non-existent payout).
Request
- Base URLhttps://api.cert.zerohash.com
- AuthAPI key in header X-SCX-API-KEY and API key in header X-SCX-PASSPHRASE
Query parameters
Public-facing payout identifier returned by POST /payouts (202 acknowledgement) and emitted on payout.status_updated webhooks. Mutually exclusive with idempotency_key.
The Idempotency-Key value the caller supplied on the original POST /payouts submission. Useful for reconciliation when the POST response was lost mid-flight and the caller is unsure whether a payout was created. Mutually exclusive with payout_id.
Headers
HMAC-SHA256 signature of the request, base64-encoded. See the Authentication guide for the exact signing formula.
Current Unix timestamp in seconds. Must be within 60 seconds of server time or the request is rejected.
Response
Current state of the payout.
Example response
{
"payout_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"idempotency_key": "client-supplied-uuid",
"status": "completed",
"sub_status": "payment.settled",
"previous_sub_status": "payment.posted",
"created_at": "2026-05-06T12:00:00Z",
"updated_at": "2026-05-06T12:01:45Z",
"resources": {
"payor": {
"participant_code": "PAYOR1",
"payor": {
"participant_code": "ORIG01",
"status": "approved"
}
},
"beneficiary": {
"participant_code": "PART_7e2a4f9c",
"status": "approved",
"external_account": {
"external_account_id": "ea_3b1d8e4a",
"account_nickname": "Max's USDC wallet",
"status": "approved",
"details": {
"network": "SOL",
"supported_symbols": [
"USDC"
],
"crypto_address": "ab123..."
},
"created_at": "2026-05-06T12:01:00Z",
"updated_at": "2026-05-06T12:01:20Z"
}
},
"payment": {
"payment_id": "pmt_4c9d2e10",
"network": "SOL",
"asset": "USDC",
"quoted_asset": "USD",
"total": "100.00",
"rate": "1",
"destination_amount": "100.00",
"status": "posted",
"description": "Monthly payout",
"payment_details": {
"withdrawal_request_id": "wr_uuid_xyz",
"trade_id": "tr_uuid_qrs",
"on_chain_transaction_id": "0xabc123...",
"network_fee_notional": "0.01",
"network_fee_quantity": "0.0000000384712"
},
"created_at": "2026-05-06T12:01:30Z",
"updated_at": "2026-05-06T12:01:45Z"
}
},
"account_model": "omnibus"
}Changes
- warning
added the new
compliance_riskenum value to theresponse property for the response status - warning
added the new
conflict_recovery_failedenum value to theresponse property for the response status - warning
added the new
external_account_creation_failedenum value to theresponse property for the response status - warning
added the new
insufficient_balanceenum value to theresponse property for the response status - warning
added the new
jurisdiction_not_allowedenum value to theresponse property for the response status - warning
added the new
rejected_by_rulesenum value to theresponse property for the response status - warning
added the new
temporarily_unavailableenum value to theresponse property for the response status
- warning