Skip to main content
POST

Authorizations

Authorization
string
header
required

OAuth 2.0 client credentials. Exchange the client id and secret Securitize issued you for a bearer token at the token URL (the host root, not under the base URL), with grant_type=client_credentials; the token lasts 2 hours and goes in the Authorization: Bearer header of every request. No scope is needed. The token identifies your partner account, so you never send a partner id, and every record you create is scoped to you.

Path Parameters

investorId
string
required

The investorId Securitize returned when you created the investor. Not your externalInvestorId.

Identifier assigned by Securitize, opaque and specific to your partner account. Store it as an opaque string.

Minimum string length: 1
Example:

"6aca84e5dc49fe8369dd1da4"

Body

An identity document for an individual investor or a person key party, as JSON, with all of its files in one call. The whole request body is capped at about 31 MB (31,107,760 bytes), enough for two files at the maximum. The same document can also be sent as multipart/form-data (DocumentUpload), up to 20 MB a file.

A wrong file count or a missing side answers 400 invalid_document.

type
enum<string>
required

The kind of identity document.

Available options:
passport,
driving-licence,
national-identity-card,
residence-permit
documentNumber
string
required

The number printed on the document.

Minimum string length: 1
expiresAt
string<date>
required

Expiry date. Send YYYY-MM-DD; it is returned exactly as sent.

Example:

"2015-06-30"

files
object[]
required

The document's sides, both in the same call for a two-sided document.

Required array length: 1 - 2 elements

Response

Stored. Verification did not start; read verification.status.

Result of an identity document upload for an individual investor.

documents
object[]
required

What is now stored for this document — one entry per side.

verification
object
required

Whether the individual has what verification needs.