Skip to main content
POST
Upload a KYC document image

Authorizations

x-juno-jwt
string
header
required

JWT issued by Dynamic Labs or Privy. Sent in the x-juno-jwt header on every authenticated request.

Headers

x-juno-orgid
string | null

Tenant org ID for multi-tenant auth

x-sumvin-token
string | null
x-sumvin-pat
string | null
x-juno-jwt
string | null
X-Timestamp-Format
string

Controls how timestamp fields are serialized in JSON response bodies.

Default (header omitted or any other value): epoch milliseconds as integers. iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.

Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".

Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.

Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.

Example:

"iso8601"

Body

multipart/form-data
document_type
enum<string>
required
Available options:
PASSPORT,
ID_CARD,
DRIVERS,
SELFIE,
PROOF_OF_ADDRESS
country
string
required
Required string length: 3
Pattern: ^[A-Z]{3}$
file
file
required
side
enum<string> | null
Available options:
FRONT_SIDE,
BACK_SIDE

Response

Successful Response

HAL-style hypermedia links for navigation and available actions.

document_type
string
required

Type of document uploaded.

country
string
required

Issuing country (ISO 3166-1 alpha-3).

side
string | null

Document side (FRONT_SIDE or BACK_SIDE).

image_id
string | null

Sumsub image ID for the uploaded document.