The KYB document checklist with status and version history
Every document slot for the business, with its current status and the retained prior versions - the status history, newest version first.
Every document slot for the business, with its current status and the retained prior versions - the status history, newest version first.
Authorization
OAuth2PasswordBearer In: header
Cookie Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/api/b/v1/kyb/documents"{ "documents": [ { "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "document_type": "incorporation_certificate", "related_person_id": "e89305b6-37c6-4c70-a103-82102281f6c8", "label": "string", "status": "pending", "rejection_reason": "string", "versions": [ { "version": 0, "status": "pending", "rejection_reason": "string", "original_filename": "string", "content_type": "string", "size_bytes": 0, "storage_url": "string", "uploaded_by": "e134ce2c-a199-4e99-9c11-627b70a7ff28", "created_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z" } ] } ]}Balances this business holds, per currency GET
Per currency, from the ledger. Readable by anybody who can see the business. A Viewer exists to look at the numbers, and a finance permission on the balance would leave them with a dashboard that shows everything except the thing it is for.
Submit a KYB document (or resubmit after rejection) POST
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.