Retrieves a single payout by ID.
Unlike GET /payouts, this returns a payout in any state, including one still in draft that the list endpoint hides. The payout must belong to the merchant the API key authenticates as — an ID that exists but belongs to another merchant returns 404, not 403, so the response does not reveal whether the ID exists. An ID that is not a well-formed payout ID is rejected with 400 before any lookup happens.
The unique identifier for the payout. Starts with payout_ followed by letters and digits. An ID of any other shape is rejected with 400 and a message saying it must start with payout_; a well-formed ID that doesn't match a payout on your account returns 404.
- Production serverhttps://api.glomopay.com/api/v1/payouts/{id}
curl -i -X GET \
https://api.glomopay.com/api/v1/payouts/payout_E602dMzgjpDC \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Payout found
The status of the payout.
pending_approval— the payout is waiting for a reviewer on your account to approve it. Only used when payout approval is turned on for your account.queued— the payout is waiting for enough balance to cover it. It moves on once funds arrive, or fails withQUEUE_EXPIREDif they do not arrive in time.in_progress— the payout has been accepted and is being processed or reviewed.action_required— Glomo needs more information before the payout can proceed. Respond to the open RFI to continue.success— the beneficiary has been paid. Terminal.failed— the payout could not be completed; seeerror_code. Terminal.cancelled— the payout was stopped before it was paid. Terminal.
The amount the beneficiary will receive, in the smallest unit of destination_currency (paise for INR, cents for USD). 1000 is $10.00 when destination_currency is USD.
The currency code in ISO 4217 format. For example, USD.
The amount you intend to send, in the smallest unit of source_currency (cents for USD). 1000 is $10.00 when source_currency is USD.
The currency code in ISO 4217 format. For example, USD.
The unique identifier of the beneficiary the payout is sent to.
Purpose code of this payout, from the fixed set of payout purpose codes.
The mid-market rate at the time of payout creation. The currency represents the destination currency and rate represents the factor of conversion. Example: 1 EUR = 1.17 USD. Rate corresponds to 1.17 and currency is USD.
When the payout was created, as an ISO 8601 date-time in UTC.
When the payout was last updated, as an ISO 8601 date-time in UTC.
(Optional) Unique Transaction Reference for the payout. This is a unique identifier assigned by the bank to track the transaction.
The request_id you sent when creating this payout, at most 64 characters; null if you sent none. Look the payout up with GET /v1/payouts?request_id=<your_request_id>.
The payment rail used to settle this payout. Each local rail serves one corridor: upi, imps, neft, rtgs for INR; ipp, fts for AED; sepa for EUR; fps for GBP; npp for AUD. swift is used for international transfers.
The invoice reference sent when the payout was created, up to 50 characters. null when none was sent.
A machine-readable code describing why the payout failed or was cancelled. null unless the payout is in an error state. The accompanying error_description carries the human-readable text.
| Code | Description |
|---|---|
QUOTE_EXPIRED | Quote has expired. Please create a new payout with a valid quote. |
QUEUE_EXPIRED | Payout stayed queued for 30 days because the balance did not cover it. No funds were held. |
PAYOUT_REJECTED | Payout was rejected by the bank. Please reach out to support. (default fallback) |
INSUFFICIENT_BALANCE | The balance no longer covered the payout when it came out of review. No funds were held. |
INVALID_BENE_ACCOUNT_NUMBER | Beneficiary account number is invalid. |
INVALID_BENE_ACCOUNT_TYPE | Beneficiary account type is invalid. |
INVALID_BENE_IFSC | Beneficiary IFSC code is invalid. |
INVALID_VPA | VPA/UPI address is invalid. |
INVALID_BENE_NAME | Beneficiary name is invalid. |
INVALID_BENE_ADDRESS | Beneficiary address or PIN/ZIP code is invalid. |
INVALID_BENE_EMAIL | Beneficiary email is invalid. |
INVALID_BENE_CONTACT | Beneficiary contact/mobile number is invalid. |
NAME_MISMATCH | Remitter and beneficiary names do not match for the selected purpose. |
A merchant-facing, human-readable description of the error. Operational copy for the merchant. null unless the payout is in an error state. See customer_error_description for the copy meant for the end-customer.
Customer-facing error copy, written for the merchant to relay to their end-customer. Derives from the same error_code as error_description but targets a different audience. null when there is no error_code, or when the error code has no customer-facing variant (some codes are merchant-only).
The identifier of the quote this payout was created against. null for payouts that were not created from a quote.
Taxes withheld on this payout, deducted from the amount before it reached the beneficiary. Present on repatriation payouts (purpose code P0001), where the remitting bank withholds GST on the currency conversion; empty for every other purpose, and empty until the bank has confirmed the payout.
The date Glomo expects the beneficiary's account to be credited, as an ISO 8601 date (YYYY-MM-DD) in IST. Set once, when the payout moves to in_progress, and not updated afterwards. It accounts for bank cut-off times, weekends, and settlement holidays for destination_currency. It is an estimate, not a guarantee; a status of success confirms the beneficiary has been paid. null until the payout reaches in_progress, and stays null for payouts that fail or are cancelled before then.
Optional key-value pairs for attaching custom metadata (e.g. invoice references, project codes). Keys must be strings and cannot collide with reserved field names. Your account may require some notes fields: Glomo configures custom field rules per account, and for beneficiaries they are checked when the beneficiary is created. Some fields are also validated by the beneficiary's country (for example, a PAN format for Indian beneficiaries). A missing required field returns 422 with Validation failed: Notes <field> is required, and type and validation errors (such as enum constraints) are returned the same way. The rule is set on your account, not by currency or rail. No API lists the fields, but the 422 names each missing one: add that key to notes with the value your account expects, and ask your Glomo account manager if you don't know what the field should hold. See Custom fields. Each key appears as a separate column in CSV report exports, with corresponding values populating the rows.
{ "invoice_ref": "INV-2026-001", "project": "Alpha" }
{ "id": "payout_DdWp_HUbOnlg", "status": "success", "destination_amount": 1000, "destination_currency": "USD", "source_amount": 1000, "source_currency": "USD", "beneficiary_id": "bene_5JU9yv0lGSUP", "documents": [ { … } ], "purpose_code": "S0017", "mid_market_rate": { "currency": "USD", "rate": 1.17 }, "fees": { "fx_fee": { … }, "txn_fee": { … } }, "created_at": "2021-06-01T12:00:00Z", "updated_at": "2021-06-01T12:00:00Z", "utr": "AXISN52024112000001234", "request_id": "your-internal-id", "payment_rail": "swift", "invoice_number": "INV-2026-001", "fee_collection_mode": "merchant", "error_code": null, "error_description": null, "customer_error_description": null, "quote_id": "quote_3m4n5o6p7q", "taxes": [ { … } ], "estimated_credit_date": "2026-06-05", "notes": { "invoice_ref": "INV-2026-001", "project": "Alpha" } }