Account Document

Adds a document to the account.

Account document endpoint can be used to add a document to the Veem account. This could be, for example, a Personal ID, Proof of address, or Business Registration.

Add document

POST https://sandbox-api.veem.com/veem/v1.2/account/documents/{DocumentType}

📘

Headers

Three headers are required to use this endpoint.

Required Headers

Name

Type

Required

Description

Authorization

string

Yes

Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and belongs to the owner account. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows: Bearer c047594b-082c-4da1-be89-08fe3770f4b3

See Get Access Token section to generate your Bearer token

X-Request-Id

string

Yes

This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows:
48855846-628d-4177-b071-80332a116f0a

Content-Type

string

Yes

The content type of the request. Must be application/json


📌

Effective April 29, 2026: Account document payload supports beneficialOwnershipId, to link the uploaded document to the beneficial ownership record.

Query Parameters

Document Types

{DocumentType} query param can be any of the following

ParameterDescription
AddressProof of address (e.g. Bank statement)
BusinessBusiness Registration (e.g. Business registration, Business license)
IdentityPersonal Id (e.g. Passport, Driver's License, Government ID Card)
SelfieIdSelfie with Id photo
PhotoIdFrontID Front
PhotoIdBackID Back
FundsSourceSource of funds (e.g. Bank statement)
BeneficialOwnershipBeneficial ownership
ProofOfBalanceProof of balance (e.g. Bank statement, Screen capture of bank balance)
AccountantAuthorizationAccountant authorization
NonProfitRegistrationNon-profit registration
NonProfitAuthorizedSignatoriesNon-profit authorized signatories
BeneficialOwnershipIdBeneficial ownership id to link the document
OtherOther

Request Parameters

👍

Partner Notes:

  • A partner account can be configured to make this API request on behalf of their customers. This requires internal configuration for the partner account by Veem. Once the internal configuration is enabled, the API request can be made using partner account bearer token.
  • onBehalfAccountId is an optional query string parameter, this needs to be included in the request URL in case of partner making an API request on behalf of their customer. This is the customer Veem accountId.

Body

Body is expected as form-data with the follow elements:

Field

Description

file

Multi-part File content

Allowed extensions: bmp, doc, docx, gif, jpg, jpeg, pdf, png, tif, tiff, xls, xlsx

request

JSON with the following structure

{ "description": "UBO selfie", "beneficialOwnershipId": <id> }

description is mandatory, must contain document description beneficialOwnershipId is optional, must be a valid beneficial owner ID returned by Beneficial Ownership Information API

Example

curl -sS -w "\n\nHTTP_CODE:%{http_code}\n" 
-X POST 'https://sandbox-api.veem.com/veem/v1.2/account/documents/SelfieId' 
-H 'Authorization: Bearer <API TOKEN HERE>' 
-H 'Accept: application/json' 
-H "X-REQUEST-ID: 163cd6aa-fd69-45d9-8034-4c184a4aa588" 
-F 'file=@/Users/johndeer/Desktop/Selfie.png' 
-F 'request={"description":"UBO selfie"};type=application/json'
curl -sS -w "\n\nHTTP_CODE:%{http_code}\n" 
-X POST 'https://sandbox-api.veem.com/veem/v1.2/account/documents/SelfieId' 
-H 'Authorization: Bearer <API TOKEN HERE>' 
-H 'Accept: application/json' 
-H "X-REQUEST-ID: 163cd6aa-fd69-45d9-8034-4c184a4aa588" 
-F 'file=@/Users/johndeer/Desktop/Selfie.png' 
-F 'request={"description":"UBO selfie","beneficialOwnershipId":20455};type=application/json'
curl -sS -w "\n\nHTTP_CODE:%{http_code}\n" 
-X POST 'https://sandbox-api.veem.com/veem/v1.2/account/documents/SelfieId?onBehalfAccountId=12345' 
-H 'Authorization: Bearer <API TOKEN HERE>' 
-H 'Accept: application/json' 
-H "X-REQUEST-ID: 163cd6aa-fd69-45d9-8034-4c184a4aa588" 
-F 'file=@/Users/johndeer/Desktop/Selfie.png' 
-F 'request={"description":"UBO selfie"};type=application/json'

Response

{
"id":9092,
"type":"SelfieId",
"isoCountryCode":null,
"originalFilename":"Selfie.png",
"processingState":"ReadyForReview",
"timeProcessed":null,
"status":"Active",
"description":"UBO selfie"
}