This flow is used for fund withdrawals. When an end user requests to withdraw their overseas investments, you, as the Indian broker, initiate the withdrawal by providing the user's bank account details, which are treated as the beneficiary account. The withdrawal flow involves four steps:
- Create a Beneficiary — register the user's bank account details as the beneficiary account.
- Create a Document — upload the user's consent to withdraw the money.
- Create a Payout — initiate the transfer to the beneficiary, referencing the beneficiary and the uploaded documents.
- Payout Success — once the bank has processed the payout, its status changes to
successand the finalizeddestination_amount,mid_market_rate,taxes, andutrare made available.
Creates a beneficiary with structured nested objects for beneficiary details, address, and bank account information.
Note:
- Create the LRS withdrawal beneficiary with
categoryset to"payout"andbank_account.currencyset to"INR".- Pass the IFSC code in the
local_routing_numberfield. You do not need to pass aswift_code.- Ensure you include the
tax_identification_number(PAN) of the beneficiary inside thenotesobject.- Store the
idreceived in the response — it is passed asbeneficiary_idin the Create a Payout API request.
POST https://api.glomopay.com/api/v2/beneficiariescurl -i -X POST \
https://api.glomopay.com/api/v2/beneficiaries \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"category": "payout",
"beneficiary": {
"name": "John Doe",
"type": "individual",
"address": {
"address_line1": "202 Swarna Residency",
"city": "Bengaluru",
"state": "Karnataka",
"country_code": "IND",
"postal_code": "560048"
}
},
"bank_account": {
"account_number": "XXXXXXXXXX0291",
"name": "HDFC Bank",
"local_routing_number": "HDFC0000123",
"currency": "INR",
"address": {
"address_line1": "HDFC Bank House, Senapati Bapat Marg",
"city": "Mumbai",
"state": "Maharashtra",
"country_code": "IND",
"postal_code": "400013"
}
},
"notes": {
"tax_identification_number": "EFEXXXX68F"
}
}'{
"id": "bene_5JU9yv0lGSUP",
"name": "John Doe",
"type": "individual",
"category": "payout",
"status": "pending",
"email": null,
"phone": null,
"nickname": null,
"upi_account": null,
"created_at": "2025-01-15T10:00:00Z",
"updated_at": "2025-01-15T10:00:00Z",
"address": {
"address_line1": "202 Swarna Residency",
"city": "Bengaluru",
"state": "Karnataka",
"country_code": "IND",
"postal_code": "560048"
},
"bank_account": {
"account_number": "XXXXXXXXXX0291",
"name": "HDFC Bank",
"local_routing_number": "HDFC0000123",
"currency": "INR",
"address": {
"address_line1": "HDFC Bank House, Senapati Bapat Marg",
"city": "Mumbai",
"state": "Maharashtra",
"country_code": "IND",
"postal_code": "400013"
}
},
"notes": {
"tax_identification_number": "EFEXXXX68F"
}
}Upload the user's consent to withdraw the money by calling this API. The consent is a withdrawal request letter on your company letterhead confirming the investor's withdrawal request — download the sample template here: Sample Withdrawal Request Letter. The file is sent as binary in a multipart/form-data request.
Note: Store the
idreceived in the response — it is passed in thedocumentsarray of the Create a Payout API request.
POST https://api.glomopay.com/api/v1/documentcurl -i -X POST \
https://api.glomopay.com/api/v1/document \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-F 'document_name=Letterhead' \
-F 'file=@/path/to/Sample_Withdrawal_Request_Letter.pdf'{
"id": "doc_nYUqLpuYQ0M8",
"document_name": "Letterhead",
"file_name": "Letterhead_BC8tFdE.pdf",
"preview_url": "https://glomopay-service-staging-documents.s3.ap-south-1.amazonaws.com/12345_Letterhead",
"status": "uploaded",
"created_at": "2021-06-01T12:00:00Z",
"updated_at": "2021-06-01T12:00:00Z"
}Initiate the withdrawal by creating a payout to the beneficiary, referencing the beneficiary_id and the uploaded document id.
Note:
- For the LRS withdrawal flow,
source_currencyis"USD",destination_currencyis"INR", and thepayment_railis"neft".- All amounts are expressed in the smallest unit of the currency (e.g., cents for USD, paisa for INR). For example,
100000represents $1,000.00 in USD.request_idis a client-provided unique identifier for the payout. A payout with a duplicaterequest_idis rejected with a409error.
POST https://api.glomopay.com/api/v1/payoutscurl -i -X POST \
https://api.glomopay.com/api/v1/payouts \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"purpose_code": "P0001",
"beneficiary_id": "bene_a1b2c3d4e5",
"source_currency": "USD",
"destination_currency": "INR",
"source_amount": 10000,
"payment_rail": "neft",
"invoice_number": "INV-2026-001",
"request_id": "req-7f3a9c20",
"documents": ["doc_11aa22bb33"],
"notes": {
"internal_ref": "batch-42"
}
}'{
"id": "payout_6a7c51772CX2A",
"beneficiary_id": "bene_6a7061db3UDRq",
"destination_amount": null,
"destination_currency": "INR",
"source_currency": "USD",
"source_amount": 10000,
"purpose_code": "P0001",
"status": "in_progress",
"fees": {
"txn_fee": {
"currency": "USD",
"amount": 0
},
"fx_fee": {
"currency": "USD",
"amount": 0
}
},
"mid_market_rate": {
"currency": null,
"rate": null
},
"documents": [],
"utr": null,
"created_at": "2026-08-11T05:27:16Z",
"updated_at": "2026-08-11T05:27:17Z",
"receipt_ids": [],
"fee_collection_mode": "deferred",
"request_id": "2026-08-11T05:27:10.995Z",
"payment_rail": "neft",
"invoice_number": null,
"notes": null,
"error_code": null,
"error_description": null,
"customer_error_description": null,
"quote_id": null,
"taxes": []
}Once the bank has processed the payout, its status changes to success.
Note: The values of
destination_amount,mid_market_rate,taxes, andutrare only finalized once the payout status issuccess. Once the payout succeeds, these values are delivered via thepayoutwebhook, and can also be fetched by polling Retrieve a Payout.
{
"id": "payout_6a7c51772CX2A",
"beneficiary_id": "bene_6a7061db3UDRq",
"destination_amount": 946700,
"destination_currency": "INR",
"source_currency": "USD",
"source_amount": 10000,
"purpose_code": "P0001",
"status": "success",
"fees": {
"txn_fee": {
"currency": "USD",
"amount": 0
},
"fx_fee": {
"currency": "USD",
"amount": 0
}
},
"mid_market_rate": {
"currency": "INR",
"rate": 96.67
},
"documents": [],
"utr": "AXISN1234567890",
"created_at": "2026-08-12T10:56:55Z",
"updated_at": "2026-08-12T10:56:56Z",
"receipt_ids": [],
"fee_collection_mode": "immediate",
"request_id": "Glomo6",
"payment_rail": "neft",
"invoice_number": null,
"notes": null,
"error_code": null,
"error_description": null,
"customer_error_description": null,
"quote_id": null,
"taxes": [
{
"name": "GST",
"amount": 20000,
"currency": "INR",
"bps": 1800
}
]
}