Request & Response Format
All VaultsPay endpoints exchange JSON over HTTPS.
Requests
- Send JSON with the header
Content-Type: application/json. - Use
UTF-8encoding. - Numeric monetary values are sent as minor units (e.g.
1050= AED 10.50). - Timestamps are ISO 8601 in UTC (
2026-04-24T14:52:03.182Z).
curl -X POST https://api.vaultspay.ae/v1/accounts \
-H "Authorization: Bearer sk_test_yourApiKeyHere" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: a4f8c2b6-1d95-47e1-b0cf-8cb6d2f1fbd0" \
-d '{ "user_id": "usr_01HX7...", "currency": "AED" }'Responses
Every response is a JSON object with at least:
{
"id": "acc_01HX71YM6FJ3A8W7T5K6NRB2DN",
"object": "account",
"created_at": "2026-04-24T14:52:03.182Z",
...
}Collection endpoints wrap results in a data array along with pagination metadata:
{
"object": "list",
"data": [ { ... }, { ... } ],
"has_more": true,
"next_cursor": "acc_01HX72PKQ1..."
}Common headers
| Header | Purpose |
|---|---|
Authorization | Bearer token — your secret API key. |
Content-Type | Always application/json for JSON bodies. |
Idempotency-Key | Unique key to safely retry mutating calls. |
VaultsPay-Version | Pin the API version (default: latest stable). |
Versioning
The API version is pinned by date. You can opt into a specific version by sending:
VaultsPay-Version: 2026-04-01If you don’t send this header, requests use the version set in your dashboard. See Changelog for details.