Request a payout
POST /v1/partners/payoutsMoves your balance to a bank account.
| Permission | request-payout — issued by Moria, not creatable in the console |
| Idempotency | Required — X-Idempotency-Key, 8–128 characters |
| Answers | 200 |
Request
Section titled “Request”POST /v1/partners/payoutsAuthorization: Bearer sk_live_xxxxxxxxxxxxxxxxx-partner-signature: <hmac-sha256 of the raw body, hex>X-Idempotency-Key: payout-2026-09-03-001Content-Type: application/json{ "amount": "500000", "bank_code": "BRI", "bank_account_number": "888801000157508", "beneficiary_name": "Koperasi Al-Fath"}| Field | Required | Notes |
|---|---|---|
amount | yes | Decimal string |
bank_code | yes | |
bank_account_number | yes | |
beneficiary_name | no | Recorded and shown on your statements |
Response
Section titled “Response”{ "data": { "id": "8a21…", "reference": "PGW-8A21C4…", "status": "pending", "is_final": false, "amount": "500000.0000", "fee": "5000.0000", "net_amount": "495000.0000", "currency": "IDR", "bank_code": "BRI", "bank_account_number": "888801000157508", "status_url": "/v1/partners/payouts/8a21…", "created_at": "2026-09-03T07:10:00.000Z", "finalized_at": null }, "request_id": "req_…"}The amount is reserved before the transfer is sent, so the same money can never be promised twice. Under the default DEDUCTED mode, fee stays behind and net_amount is what reaches the bank. A failed payout returns the full reservation and your balance goes back up.
An unclear outcome keeps your money reserved
Section titled “An unclear outcome keeps your money reserved”Limits
Section titled “Limits”Moria sets these per partner. Your operations team can see them, and what is left, on the Pencairan page of the console.
| Limit | Meaning |
|---|---|
| Per transaction | The largest single payout |
| Per day | A rolling 24 hours, not a calendar day |
| Per hour | A count, not an amount |
Two rules that look inconsistent and are not: a failed payout consumes none of the daily amount — the money came back — but it does count toward the hourly count. A burst of failures is what a stolen credential looks like.
| Code | Means |
|---|---|
FUNDS_INSUFFICIENT_BALANCE | available does not cover it |
FUNDS_LIMIT_EXCEEDED | A limit would be breached |
FUNDS_PAYOUT_SUSPENDED | Payouts are off for your account, or no limits are configured yet |
- Check your balance before requesting
- Payout detail to follow it to a terminal state