Pay a counterparty directly
/api/v2/payouts/{id}/paySends the money to the counterparty's saved payment method. Settlement is asynchronous; payout.completed or payout.failed follows. A failed payout is paid again with the same call. Needs payouts:write, plus payouts:approve for a failed payout: it goes to the counterparty's current payment method, which the approval did not cover.
Path Parameters
The payout id (payout_…) or your customId.
Header Parameters
Client-chosen key, 1 to 255 characters (a UUID is recommended). The same key on the same endpoint within 24 hours replays the stored response with Idempotent-Replayed: true.
1 <= length <= 255Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v2/payouts/payout_0e4ba886-0bfe-4b6a-ae2e-d6d9d135dd1e/pay"{ "object": "payout", "id": "payout_0e4ba886-0bfe-4b6a-ae2e-d6d9d135dd1e", "customId": "campaign-42", "description": "string", "amount": "100.00", "currency": "USD", "recipient": { "type": "email", "email": "jane@example.com", "phone": "string" }, "status": "created", "locked": true, "availableOn": "2026-10-01", "expiresAt": "2026-09-24T10:00:00.000Z", "tags": [ "string" ], "paymentMethod": { "type": "crypto", "asset": "string", "currency": "EUR" }, "senderInvoiceUrl": "string", "recipientInvoiceUrl": "string", "recipientInvoiceSource": "self_billing", "failureCode": "account_closed", "failureReason": "string", "approvedAt": "2026-09-24T10:00:00.000Z", "claimLinkSentAt": "2026-09-24T10:00:00.000Z", "requestedAt": "2026-09-24T10:00:00.000Z", "completedAt": "2026-09-24T10:00:00.000Z", "createdAt": "2026-09-24T10:00:00.000Z", "updatedAt": "2026-09-24T10:00:00.000Z"}Send the claim link POST
Talentir emails the claim link to the recipient. Calling it again resends and restarts the reminder schedule. Needs `payouts:write`.
Approve payouts in one request POST
Approves up to 100 payouts and reserves their sum against the team balance in one decision. `andThen` runs `send-claim-link` or `pay` for every payout. All or nothing: one failing item fails the request with that item's code and `error.index`, and nothing is applied. Needs `payouts:approve`, plus `payouts:write` with `andThen: "pay"`.