Modify Payout
API to update the amount of an existing pending fund withdrawal (payout) request. Only requests currently in RECEIVED status can be modified. IMPS requests cannot be edited once initiated.
The eligibility and withdrawal fee criteria described in Payout Request also apply to modifying a payout.
Request
curl --location --request PUT 'https://api.upstox.com/v2/user/payments/payout/{transaction_id}' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {your_access_token}' \
--header 'Content-Type: application/json' \
--data '{"amount": 10000.0}'
Replace {transaction_id} with the transaction_id returned by the Payout Request API.
Additional samples in various languages are available in the Sample Code section on this page.
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
| amount | number | Yes | Updated withdrawal amount in INR. Must satisfy the min/max bounds for the mode of the original request. |
Responses
- 200
- 400
Response Body
{
"status": "success",
"data": {
"transaction_id": "ABC123XYZ-GC0173-7HIMPSABC",
"status": "received",
"mode": "NEFT",
"amount": 10000.0,
"currency": "INR",
"eta": "2026-04-19 14:00:00",
"created_at": "2026-04-19 13:25:56",
"bank_name": "AXIS BANK",
"message": "Your withdrawal request has been updated successfully."
}
}
| Name | Type | Description |
|---|---|---|
| status | string | Outcome of the request. |
| data | object | Updated payout transaction record. |
| data.transaction_id | string | Unique identifier for the payout transaction. |
| data.status | string | Current state of the payout. One of RECEIVED, VALIDATING, APPROVED, TRANSFER_IN_PROGRESS, COMPLETED, REJECTED, REVERSED. |
| data.mode | string | Updated resolved payout mode. One of NEFT or IMPS. |
| data.amount | number | Updated withdrawal amount in INR. |
| data.currency | string | Currency code. Always INR. |
| data.eta | string | Updated estimated completion time (YYYY-MM-DD HH:MM:SS). |
| data.created_at | string | Original transaction creation timestamp (YYYY-MM-DD HH:MM:SS). |
| data.bank_name | string | Display name of the destination bank. |
| data.message | string | User-facing status message. |
Error codes
Errors follow the standard API error format.
| Error Code | Description |
|---|---|
| UDAPI1217 | Payout amount is required. |
| UDAPI1218 | Payout amount must be at least 100. |
| UDAPI100500 | Withdrawal request cannot be modified. |
| UDAPI100500 | Your withdrawal amount cannot be greater than your available to withdraw balance. |
| UDAPI100072 | The Funds service is accessible from 5:30 AM to 12:00 AM IST daily. Please try again during these service hours. |
Sample Code
Modify payout
- Python
- Node.js
- Java
- PHP
import requests
transaction_id = 'ABC123XYZ-GC0173-7HIMPSABC'
url = f'https://api.upstox.com/v2/user/payments/payout/{transaction_id}'
headers = {
'accept': 'application/json',
'Authorization': 'Bearer {your_access_token}',
'Content-Type': 'application/json',
}
payload = {
'amount': 10000.0,
}
print(requests.put(url, headers=headers, json=payload).json())
const axios = require('axios');
const transactionId = 'ABC123XYZ-GC0173-7HIMPSABC';
axios.put(`https://api.upstox.com/v2/user/payments/payout/${transactionId}`,
{ amount: 10000.0 },
{
headers: {
accept: 'application/json',
Authorization: 'Bearer {your_access_token}',
'Content-Type': 'application/json',
},
}
).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 {
String transactionId = "ABC123XYZ-GC0173-7HIMPSABC";
String body = "{\"amount\": 10000.0}";
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.upstox.com/v2/user/payments/payout/" + transactionId))
.header("accept", "application/json")
.header("Authorization", "Bearer {your_access_token}")
.header("Content-Type", "application/json")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
System.out.println(HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString()).body());
}
}
<?php
$transactionId = 'ABC123XYZ-GC0173-7HIMPSABC';
$url = "https://api.upstox.com/v2/user/payments/payout/{$transactionId}";
$payload = json_encode(['amount' => 10000.0]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'accept: application/json',
'Authorization: Bearer {your_access_token}',
'Content-Type: application/json',
]);
echo curl_exec($ch);
curl_close($ch);
Loading...