Update Requested Currency
Define, change, or cancel the currency to which funds received by a virtual account are converted.
The status of the virtual account must be ACT (active) or PEN (pending).
To cancel a previously defined currency conversion, set requested_currency to null.
Note
This endpoint replaces the deprecated endpoint -
POST v1/issuing/bankaccounts/:virtual_accountRapyd no longer supports the deprecated endpoint.
The code samples include successful requests (200) and bad requests (400).
For error messages that appear due to bad requests (400), see:
For information about unauthorized request (401) and other authentication errors, see Troubleshooting Authentication and Authorization Errors.
Prerequisites
virtual_account
ID of the virtual account number object. String starting with issuing_.
requested_currency
Currency received by the virtual account after conversion. Uppercase. One of the following:
AUD - Australian Dollar
EUR - Euro
GBP - Pound Sterling
HKD - Hong Kong Dollar
SGD - Singapore Dollar
USD - US Dollar
When not specified, the funds appear in the wallet’s currency account for the currency of the transaction.
/v1/virtual_accounts/:virtual_account
Update Requested Currency
curl -X post 'https://sandboxapi.rapyd.net/v1/virtual_accounts/issuing_59fd68cb3837f632abdcb5ddaa75045b' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here' \ --data-raw '{ "requested_currency": "USD" }'{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "cf126b8b-b6d4-4250-9221-18dc9ea22fad" }, "data": { "id": "issuing_59fd68cb3837f632abdcb5ddaa75045b", "merchant_reference_id": "issuing_59fd68cb3837f632abdcb5ddaa75045b", "ewallet": "ewallet_b16ab040e51deda7f6a786862bd3fe7b", "bank_account": { "beneficiary_name": "Rapyd Holdings Pte. Ltd.", "country_iso": "ID", "bank": "Bank Sahabat Sampoerna", "country": "Indonesia", "local_bank_code": "523", "account_number": "4010299991035202" }, "metadata": {}, "status": "ACT", "description": "Issue test bank account", "funding_instructions": null, "currency": "IDR", "requested_currency": "USD", "transactions": [ { "id": "isutran_5ac346053c6b65b3bdcf4baa7aad67c0", "amount": 1, "currency": "IDR", "original_amount": 1, "original_currency": "IDR", "fx_rate": 1, "created_at": 1677495859 }, { "id": "isutran_5fbe2b43f4aa143eea2147e3967dd2ac", "amount": 1, "currency": "IDR", "original_amount": 1, "original_currency": "IDR", "fx_rate": 1, "created_at": 1760277099 }, { "id": "isutran_c4410cfa3b8b46d47368323e26f358a4", "amount": 1, "currency": "IDR", "original_amount": 1, "original_currency": "IDR", "fx_rate": 1, "created_at": 1760277964 } ] } }
Cancel Requested Currency
curl -X post 'https://sandboxapi.rapyd.net/v1/virtual_accounts/issuing_59fd68cb3837f632abdcb5ddaa75045b' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here' \ --data-raw '{ "requested_currency": null }'{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "2205ef11-951e-448f-b038-39f8289cf95b" }, "data": { "id": "issuing_59fd68cb3837f632abdcb5ddaa75045b", "merchant_reference_id": "issuing_59fd68cb3837f632abdcb5ddaa75045b", "ewallet": "ewallet_b16ab040e51deda7f6a786862bd3fe7b", "bank_account": { "beneficiary_name": "Rapyd Holdings Pte. Ltd.", "country_iso": "ID", "bank": "Bank Sahabat Sampoerna", "country": "Indonesia", "local_bank_code": "523", "account_number": "4010299991035202" }, "metadata": {}, "status": "ACT", "description": "Issue test bank account", "funding_instructions": null, "currency": "IDR", "requested_currency": null, "transactions": [ { "id": "isutran_5ac346053c6b65b3bdcf4baa7aad67c0", "amount": 1, "currency": "IDR", "original_amount": 1, "original_currency": "IDR", "fx_rate": 1, "created_at": 1677495859 }, { "id": "isutran_5fbe2b43f4aa143eea2147e3967dd2ac", "amount": 1, "currency": "IDR", "original_amount": 1, "original_currency": "IDR", "fx_rate": 1, "created_at": 1760277099 }, { "id": "isutran_c4410cfa3b8b46d47368323e26f358a4", "amount": 1, "currency": "IDR", "original_amount": 1, "original_currency": "IDR", "fx_rate": 1, "created_at": 1760277964 } ] } }
Bad Request - Requested Currency Not Valid
curl -X post 'https://sandboxapi.rapyd.net/v1/virtual_accounts/issuing_59fd68cb3837f632abdcb5ddaa75045b' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here' \ --data-raw '{ "requested_currency": "PHP" }'{ "status": { "error_code": "ERROR_UNSUPPORTED_REQUESTED_CURRENCY", "status": "ERROR", "message": "Unsupported requested currency.", "response_code": "ERROR_UNSUPPORTED_REQUESTED_CURRENCY", "operation_id": "8fca14dd-c1a6-44b7-98d1-59606987dcc4" } }
Bad Request - Virtual Account Not Found
curl -X post 'https://sandboxapi.rapyd.net/v1/virtual_accounts/issuing_59fd68cb3837f632abdcb5ddaa75045' \ -H 'access_key: your-access-key-here' \ -H 'Content-Type: application/json' \ -H 'idempotency: your-idempotency-parameter-here' \ -H 'salt: your-random-string-here' \ -H 'signature: your-calculated-signature-here' \ -H 'timestamp: your-unix-timestamp-here' \ --data-raw '{ "requested_currency": "USD" }'{ "status": { "error_code": "ERROR_GET_ISSUING", "status": "ERROR", "message": "The request tried to retrieve a virtual account number issued to a wallet, but the ID of the object was not recognized. The request was rejected. Corrective action: Provide the ID of a valid Virtual Account Number object, a string starting with 'issuing_'.", "response_code": "ERROR_GET_ISSUING", "operation_id": "c9ddf30d-cecf-4ca5-b491-4a07bdb33074" } }