🚀 VaultsPay API v1 is live. See what's new →
UsersUpload Documents

Upload Documents

For backend-only integrations (no hosted KYC), you can upload identity documents directly to VaultsPay.

POST/v1/users/{id}/documents

Headers

Send as multipart/form-data.

Form fields

FieldTypeDescription
typerequiredenumemirates_id | passport | address_proof | selfie
filerequiredfilePNG, JPG, or PDF. Max 10 MB.
sideenumfront | back. Required for emirates_id.

Request

curl -X POST https://api.vaultspay.ae/v1/users/usr_01HX7.../documents \
  -H "Authorization: Bearer sk_test_yourApiKeyHere" \
  -F "type=emirates_id" \
  -F "side=front" \
  -F "file=@./emirates_id_front.jpg"

Response

201 Created
{
  "id": "doc_01HX78PKQ...",
  "object": "document",
  "user_id": "usr_01HX7...",
  "type": "emirates_id",
  "side": "front",
  "status": "received",
  "uploaded_at": "2026-04-24T14:52:03Z"
}

Once all required documents for the selected KYC level are received, verification runs automatically. You’ll receive the user.kyc.status_changed webhook when it completes.