AEPS Express · Agents & Outlets
Update Bank Account
Optional: Link or update settlement bank account (already linked in Step 1).
POST request
URL: https://uat-api.vizodigital.com/api/v1/aeps-express/outlet/bank-account
Body
{
"agent_code": "AC12345678",
"agent_bank_name": "Canara Bank",
"agent_bank_account_number": "2178108019268",
"agent_bank_ifsc": "CNRB0002178",
"latitude": "25.5940",
"longitude": "85.1375"
}
Include a valid Bearer token with every request
Code sample
curl -X POST "https://uat-api.vizodigital.com/api/v1/aeps-express/outlet/bank-account" \
-H "X-API-Key: YOUR_API_KEY_OR_TOKEN" \
-H "X-Timestamp: $(TZ=Asia/Kolkata date '+%Y-%m-%d %H:%M:%S')" \
-H "Content-Type: application/json" \
-d '{
"agent_code": "AC12345678",
"agent_bank_name": "Canara Bank",
"agent_bank_account_number": "2178108019268",
"agent_bank_ifsc": "CNRB0002178",
"latitude": "25.5940",
"longitude": "85.1375"
}'
Success Response
{
"status": "success",
"message": "Settlement bank account linked successfully.",
"data": {
"agent_code": "AC12345678",
"outlet_id": "1029384",
"bank_account": "XXXXXXXX9268",
"bank_ifsc": "CNRB0002178",
"provider_status": "Linked"
}
}
Failure response
{
"status": "error",
"code": "provider_rejected",
"message": "Invalid bank account number or IFSC."
}
Overview
Link or update the merchant's settlement bank account with InstantPay.
Note: If you already supplied bank details during Step 1 (
/outlet/signup), your bank account was automatically linked! Use this endpoint only if you need to update or re-link settlement bank accounts.
Headers
-
X-API-Key · string required
Your credential: either your `rr_live_` API key, or the Bearer token from `POST /api/v1/auth/client-credentials` (the same token every other API uses). The token may instead be sent as `Authorization: Bearer <token>`. A token follows the same IP whitelist as your keys, and all your tokens share one requests-per-minute allowance.
Example: rr_live_xxxxxxxxxxxxx
-
X-Timestamp · string required
Current time in IST as `YYYY-MM-DD HH:MM:SS` (or `YYYY-MM-DDTHH:MM:SS`). Do not add a timezone suffix such as `+05:30`. Must be within 15 seconds of our server time.
Example: 2026-10-03 10:30:45
-
Content-Type · string required
Request content type.
Example: application/json
Body
Update Bank Account request body
Schema
{
"type": "object",
"required": [
"agent_code",
"agent_bank_account_number",
"agent_bank_ifsc"
],
"properties": {
"agent_code": {
"type": "string",
"description": "Your unique agent code from Step 1."
},
"agent_bank_name": {
"type": "string",
"description": "Optional bank name where funds settle."
},
"agent_bank_account_number": {
"type": "string",
"description": "Settlement account number."
},
"agent_bank_ifsc": {
"type": "string",
"description": "11-character bank IFSC code."
},
"latitude": {
"type": "string",
"description": "Outlet GPS latitude with 4 decimals."
},
"longitude": {
"type": "string",
"description": "Outlet GPS longitude with 4 decimals."
}
}
}
Example
{
"agent_code": "AC12345678",
"agent_bank_name": "Canara Bank",
"agent_bank_account_number": "2178108019268",
"agent_bank_ifsc": "CNRB0002178",
"latitude": "25.5940",
"longitude": "85.1375"
}
Responses
-
200 · application/json default
Success
Schema
{ "type": "object" }Example
{ "status": "success", "message": "Settlement bank account linked successfully.", "data": { "agent_code": "AC12345678", "outlet_id": "1029384", "bank_account": "XXXXXXXX9268", "bank_ifsc": "CNRB0002178", "provider_status": "Linked" } } -
422 · application/json
Failed or rejected
Schema
{ "type": "object" }Example
{ "status": "error", "code": "provider_rejected", "message": "Invalid bank account number or IFSC." }
Errors
-
INVALID_API_KEY · HTTP 401
Invalid or revoked API key.
{ "message": "Invalid or revoked API key." } -
TIMESTAMP_OUT_OF_RANGE · HTTP 400
Request timestamp is outside the ±15 second window.
{ "message": "Request timestamp is outside the ±15 second window." } -
service_not_enabled · HTTP 403
AEPS is not enabled for your account. Contact your account manager to activate it.
{ "status": "error", "code": "service_not_enabled", "message": "AEPS is not enabled for your account. Contact your account manager to activate it." } -
RATE_LIMITED · HTTP 429
Rate limit exceeded.
{ "message": "Rate limit exceeded." } -
agent_code_taken · HTTP 409
You already have an agent with this agent_code.
{ "status": "error", "code": "agent_code_taken", "message": "You already have an agent with this agent_code." } -
agent_limit_reached · HTTP 403
You have reached your limit of 10 agents.
{ "status": "error", "code": "agent_limit_reached", "message": "You have reached your limit of 10 agents." } -
provider_rejected · HTTP 422
The bank network refused the request. The message says why.
{ "status": "error", "code": "provider_rejected", "message": "The bank network refused the request. The message says why." } -
provider_unavailable · HTTP 502
The AEPS provider did not respond. Try again shortly.
{ "status": "error", "code": "provider_unavailable", "message": "The AEPS provider did not respond. Try again shortly." } -
noble_credentials_unavailable · HTTP 503
Noble credentials are not available. Contact your partner.
{ "status": "error", "code": "noble_credentials_unavailable", "message": "Noble credentials are not available. Contact your partner." } -
instantpay_credentials_unavailable · HTTP 503
InstantPay credentials are not configured or incomplete.
{ "status": "error", "code": "instantpay_credentials_unavailable", "message": "InstantPay credentials are not configured or incomplete." }
Rate Limits
100/min