DotsDocs
Payouts

Create a Payout

Create a payout for an existing user that has a payout method saved to their account.

POST
/v2/payouts

Create a payout for an existing user that has a payout method saved to their account.

AuthorizationBasic <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Base schema for creating a payout

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v2/payouts" \  -H "Content-Type: application/json" \  -d '{    "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",    "amount": 1,    "platform": "paypal"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "created": "2019-08-24T14:15:22Z",  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",  "status": "created",  "error": "account_closed",  "error_message": "string",  "sender_details": {    "name": "string",    "bank_name": "string",    "routing_number": "string",    "account_number_last4": "string",    "trace_number": "string",    "reference": "string",    "memo": "string"  },  "type": "refill",  "amount": "string",  "external_data": {    "account_id": "string",    "external_id": "string",    "platform": "ach"  },  "transactions": [    {      "id": 0,      "amount": "string",      "created": "2019-08-24T14:15:22Z",      "source_name": "string",      "destination_name": "string",      "type": "balance",      "metadata": "string",      "transfer_id": "d4a2d8dd-7def-4545-a062-761683b9aa05",      "transfer": {}    }  ],  "payout_link_id": "50673cb3-bf8b-4fdc-9f5f-114b168da4ab",  "metadata": "string"}

Redeliver Payout Link

Redeliver a payout link. Payout links will be delivered up to 5 times.

Estimate Payout Fees

Calculate the fees a payout would incur without creating it. The query accepts the same identifying fields as Create a Payout, so the estimate reflects the rail, fee party and customer fee upcharges that a matching payout request would be charged. Unknown query parameters are rejected. No money moves and no `transfer` is created. Provider setup is deferred, so a later payout can still fail at the provider. For ACH estimates, Dots may refresh instant payout eligibility with the provider and update its internal cache before choosing ACH or RTP pricing. If a Plaid-linked ACH account has no stored account details, Dots retrieves them from Plaid without saving the bank account details. The instant payout eligibility cache may still be updated. Use `user_fee_amount` and `payout_amount` to show a user what they would pay and receive before you create the payout. Omit `amount` to get only the fee schedules that apply to the user and rail (`fee_settings` and `platform_fee_settings`); the per-payout amounts are then `null`. The schedules describe configured fees, but cannot give an exact quote without an amount. Visa and Amazon calculate their base fees on a whole-dollar payout, while a per-payout override uses the requested amount. Without an amount no payout checks run and `platform` is the requested rail: the ACH-to-RTP upgrade depends on the amount. Pass `amount` for the actual fee breakdown and RTP pricing.