Get Payout Modes
API to retrieve the available fund withdrawal (payout) modes and eligibility criteria for the authenticated user. Returns details for NEFT (Standard) and IMPS (Instant) modes, including the minimum and maximum withdrawal limits, current eligibility status, and the amount available for withdrawal.
For IMPS-specific eligibility conditions, see Instant Withdrawal Eligibility.
The Payout APIs are subject to a separate rate limit. For more information, please check here.
Request
curl --location 'https://api.upstox.com/v2/user/payments/payout/modes' \
--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": {
"neft": {
"status": "ENABLED",
"eligible": true,
"min_amount": 100.0,
"max_amount": 200000000.0,
"currency": "INR",
"eligible_amount": 15000.0
},
"imps": {
"status": "ENABLED",
"eligible": false,
"min_amount": 100.0,
"max_amount": 500000.0,
"currency": "INR",
"eligible_amount": 0.0
}
}
}
| Name | Type | Description |
|---|---|---|
| status | string | Outcome of the request. |
| data | object | Map of available payout modes. |
| data.neft | object | Standard (NEFT) withdrawal mode details. |
| data.neft.status | string | Availability status of the NEFT mode, either ENABLED or DISABLED. |
| data.neft.eligible | boolean | Whether the user is eligible for NEFT withdrawal. |
| data.neft.min_amount | number | Minimum withdrawal amount across platform in INR. |
| data.neft.max_amount | number | Maximum withdrawal amount across platform in INR. |
| data.neft.currency | string | Currency code. Always INR. |
| data.neft.eligible_amount | number | Amount currently available for NEFT withdrawal in INR. |
| data.imps | object | Instant (IMPS) withdrawal mode details. |
| data.imps.status | string | Availability status of the IMPS mode. |
| data.imps.eligible | boolean | Whether the user is eligible for IMPS withdrawal. |
| data.imps.min_amount | number | Minimum withdrawal amount across platform in INR. |
| data.imps.max_amount | number | Maximum withdrawal amount across platform in INR. |
| data.imps.currency | string | Currency code. Always INR. |
| data.imps.eligible_amount | number | Amount currently available for IMPS withdrawal in INR. |
Error codes
Errors follow the standard API error format. Ensure the request is authenticated.
Sample Code
Get payout modes
- Python
- Node.js
- Java
- PHP
import requests
url = 'https://api.upstox.com/v2/user/payments/payout/modes'
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/modes', {
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/modes"))
.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/modes';
$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...