Skip to main content
POST
/
v1
/
users
/
{userId}
/
virtual-accounts
/
{accountId}
/
withdrawals
Create a Withdrawal
curl --request POST \
  --url https://remittances.sandbox.api-us.meridianapps.dev:80/v1/users/{userId}/virtual-accounts/{accountId}/withdrawals \
  --header 'Content-Type: application/json' \
  --header 'X-Meridian-Api-Key: <x-meridian-api-key>' \
  --header 'X-Meridian-Signature: <x-meridian-signature>' \
  --header 'X-Meridian-Timestamp: <x-meridian-timestamp>' \
  --data '
{
  "amount": 50,
  "quoteId": "quote_01HT2P6W9PC2QV4W0Q63QMFJ44",
  "externalRef": "order-2026-00142"
}
'
{
  "transaction": {
    "createdAt": "<string>",
    "fees": [
      {
        "amount": "5.00",
        "currency": "USD",
        "label": "Wire processing fee",
        "type": "WIRE_PROCESSING_FEE"
      }
    ],
    "id": "<string>",
    "transactionRef": "<string>",
    "updatedAt": "<string>",
    "userId": "<string>",
    "virtualAccountId": "<string>",
    "debitAmount": "50.00",
    "debitCurrency": "USD",
    "depositType": "<string>",
    "exchangeRate": "56.00",
    "externalRef": "order-2026-00142",
    "fromAmount": "50.00",
    "fromCurrency": "USD",
    "originatorAccount": "<string>",
    "originatorInstitution": "<string>",
    "originatorMemo": "<string>",
    "originatorName": "<string>",
    "receiverAccount": "<string>",
    "receiverInstitution": "<string>",
    "receiverName": "<string>",
    "relatedId": "<string>",
    "statusReason": "<string>",
    "toAmount": "2800.00",
    "toCurrency": "PHP"
  }
}
Legacy endpoint. This is part of the legacy withdrawal flow and will be deprecated. An upcoming Transactions Intent API will replace it. Avoid building new integrations against this endpoint — contact your Solutions Engineer for migration guidance.

Headers

X-Meridian-Api-Key
string
required

API key issued by Meridian during provisioning. See Authentication.

X-Meridian-Timestamp
string
required

Current time in milliseconds since the Unix epoch. Must be within 60 seconds of the request. See Authentication.

X-Meridian-Signature
string
required

HMAC SHA-256 signature of the canonical request string, computed per request. See Authentication for how to construct it.

Path Parameters

userId
string
required

ID of the user initiating the withdrawal

accountId
string
required

ID of the virtual account to withdraw from

Body

application/json

Request body for creating a virtual account withdrawal transaction

amount
number
required

Amount to withdraw from the virtual account

Example:

50

quoteId
string
required

Quote ID for the withdrawal

Example:

"quote_01HT2P6W9PC2QV4W0Q63QMFJ44"

externalRef
null | string

A unique reference from your own systems used to identify and reconcile this transaction, such as a contract number, order ID, or internal transaction reference.

Example:

"order-2026-00142"

Response

Details of the created transaction

Response returned after creating a withdrawal transaction.

transaction
null | VirtualAccountTransactionDto · object

The created withdrawal transaction