Submit a KYB document (or resubmit after rejection)
Validate, virus-scan, store and record one document upload. A resubmission is the same call with the same `document_type`: it mints the next version and keeps every earlier one, so a rejected copy remains retrievable. The file must be PDF, JPEG or PNG and within `KYB_DOC_MAX_BYTES`; the content type is checked from the bytes, never from the client. `expires_at` is optional and belongs to this version alone — E3-9. A renewal is a fresh upload with a later date, so the new file's expiry never inherits from the one it replaces. A date already past is refused: that files a document expired on arrival.
Validate, virus-scan, store and record one document upload.
A resubmission is the same call with the same document_type: it mints
the next version and keeps every earlier one, so a rejected copy remains
retrievable. The file must be PDF, JPEG or PNG and within
KYB_DOC_MAX_BYTES; the content type is checked from the bytes, never
from the client.
expires_at is optional and belongs to this version alone — E3-9. A
renewal is a fresh upload with a later date, so the new file's expiry
never inherits from the one it replaces. A date already past is refused:
that files a document expired on arrival.
Authorization
OAuth2PasswordBearer In: header
Cookie Parameters
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/api/b/v1/kyb/documents" \ -F file="string" \ -F document_type="string"{ "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "document_type": "incorporation_certificate", "related_person_id": "e89305b6-37c6-4c70-a103-82102281f6c8", "label": "string", "version": 0, "status": "pending", "storage_url": "string", "uploaded_by": "e134ce2c-a199-4e99-9c11-627b70a7ff28", "uploaded_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z"}