🚀 VaultsPay API v1 is live. See what's new →
UsersCreate User

Create User

Creates a new end user in VaultsPay.

POST/v1/users

Body parameters

FieldTypeDescription
emailrequiredstringUnique email address for the user.
first_namerequiredstringLegal first name.
last_namerequiredstringLegal last name.
mobilerequiredstringE.164 phone number, e.g. +971501234567.
date_of_birthstring (YYYY-MM-DD)Required before KYC can be initiated.
nationalityISO 3166-1 alpha-2e.g. AE, IN, GB.
addressobjectPostal address. See sub-fields below.
metadataobjectUp to 20 string key/value pairs for your own use.

address sub-fields

FieldTypeDescription
line1requiredstringStreet line 1.
line2stringStreet line 2 (apt, suite, etc).
cityrequiredstringCity.
countryrequiredISO 3166-1 alpha-2e.g. AE.
postal_codestringPostal/ZIP code if applicable.

Request

curl -X POST https://api.vaultspay.ae/v1/users \
  -H "Authorization: Bearer sk_test_yourApiKeyHere" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -d '{
    "email": "ali@example.com",
    "first_name": "Ali",
    "last_name": "Hassan",
    "mobile": "+971501234567",
    "date_of_birth": "1993-05-14",
    "nationality": "AE",
    "address": {
      "line1": "Sheikh Zayed Road",
      "city": "Dubai",
      "country": "AE"
    }
  }'

Response

201 Created
{
  "id": "usr_01HX71YM6FJ3A8W7T5K6NRB2DN",
  "object": "user",
  "email": "ali@example.com",
  "first_name": "Ali",
  "last_name": "Hassan",
  "mobile": "+971501234567",
  "date_of_birth": "1993-05-14",
  "nationality": "AE",
  "kyc": { "status": "pending", "level": "basic" },
  "status": "active",
  "created_at": "2026-04-24T14:52:03.182Z"
}

Errors

HTTPCodeDescription
400invalid_emailemail is malformed.
400invalid_phonemobile is not in E.164 format.
409duplicate_emailAn existing user already has that email.
422validation_failedOne or more fields are missing or invalid.