DotsDocs
Payouts

Send a Payout

Send a payout to a person when you know their phone number or user id. If the user has a Dots acconut, the funds will delivered according to their saved prefernces. Otherwise, they will be sent a Payout Link to onboard and recieve funds.

POST
/v2/payouts/send-payout

Send a payout to a person when you know their phone number or user id. If the user has a Dots acconut, the funds will delivered according to their saved prefernces. Otherwise, they will be sent a Payout Link to onboard and recieve funds.

AuthorizationBasic <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v2/payouts/send-payout" \  -H "Content-Type: application/json" \  -d '{    "amount": 1  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "created": "2019-08-24T14:15:22Z",  "link": "http://example.com",  "amount": 0,  "status": "funds_pending",  "payee": {    "first_name": "string",    "last_name": "string",    "email": "user@example.com",    "country_code": "string",    "phone_number": "string"  },  "delivery": {    "method": "link",    "email": "user@example.com",    "country_code": "string",    "phone_number": "string"  },  "tax_exempt": true,  "claimed_user_id": "66f08eaa-a101-4a26-b1a7-7241439dcee8",  "flow_id": "0746f03b-16cc-49fb-9833-df3713d407d2",  "transfer_id": "d4a2d8dd-7def-4545-a062-761683b9aa05",  "memo": "string",  "metadata": "string",  "description": "string",  "accounting_data": {    "quickbooks_account_id": 0,    "quickbooks_class_id": 0  },  "created_by_email": "user@example.com",  "funding_source": "dots_balance"}

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.

Create a Payout Link Batch

Validate and submit 1 to 500 payout links for asynchronous processing using the authenticated App. The response contains normalized input rows, not created payout links. Retrying an identical batch while its status is submitted re-enqueues the existing batch and returns the same ID, allowing recovery after a queue publication failure.