Get Payouts
API to retrieve the payout (fund withdrawal) transactions for the authenticated user. It returns details such as amount, payment mode, current status, bank name, transaction ID, and applicable charges. The response includes the most recent 20 transactions.
Request
curl --location 'https://api.upstox.com/v2/user/payments/payout' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'
Additional samples in various languages are available in the Sample Code section on this page.
Responses
- 200
- 400
Response Body
{
"status": "success",
"data": [
{
"transaction_id": "qws_0426_9680091",
"status": "COMPLETED",
"mode": "NEFT",
"amount": 16995.00,
"currency": "INR",
"eta": "2026-04-19 13:30:00",
"created_at": "2026-04-19 13:25:56",
"bank_name": "AXIS BANK"
},
{
"transaction_id": "imps_0426_7654321",
"status": "TRANSFER_IN_PROGRESS",
"mode": "IMPS",
"amount": 10000.00,
"currency": "INR",
"eta": "2026-04-19 12:35:00",
"created_at": "2026-04-19 12:30:00",
"bank_name": "ICICI BANK"
}
]
}
| Name | Type | Description |
|---|---|---|
| status | string | Outcome of the request. |
| data | array | List of payout transaction records. |
| data[].transaction_id | string | Unique identifier for the transaction. |
| data[].status | string | Current status of the payout. One of RECEIVED, VALIDATING, APPROVED, TRANSFER_IN_PROGRESS, COMPLETED, REJECTED, REVERSED. |
| data[].mode | string | Payment mode. One of NEFT or IMPS. |
| data[].amount | number | Transaction amount in rupees. |
| data[].currency | string | Currency code. Always INR. |
| data[].eta | string | Estimated completion time (YYYY-MM-DD HH:MM:SS). |
| data[].created_at | string | Transaction creation timestamp (YYYY-MM-DD HH:MM:SS). |
| data[].bank_name | string | Name of the bank associated with the transaction. |
Error codes
Errors follow the standard API error format. Ensure the request is authenticated.
Sample Code
Get payouts
- Python
- Node.js
- Java
- PHP
import requests
url = 'https://api.upstox.com/v2/user/payments/payout'
headers = {
'accept': 'application/json',
'Authorization': 'Bearer {your_access_token}',
}
print(requests.get(url, headers=headers).json())
const axios = require('axios');
axios.get('https://api.upstox.com/v2/user/payments/payout', {
headers: {
accept: 'application/json',
Authorization: 'Bearer {your_access_token}',
},
}).then(r => console.log(r.data));
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.upstox.com/v2/user/payments/payout"))
.header("accept", "application/json")
.header("Authorization", "Bearer {your_access_token}")
.GET()
.build();
System.out.println(HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString()).body());
}
}
<?php
$url = 'https://api.upstox.com/v2/user/payments/payout';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'accept: application/json',
'Authorization: Bearer {your_access_token}',
]);
echo curl_exec($ch);
curl_close($ch);
Loading...