v1

latestOpenAPI 3.1.0Proprietary2026-07-2464170247.4 KB
Onboarding V2

Upload Controller Document

Upload a document for a business controller.

put/v2/accounts/{main_account_id}/businesses/{sub_account_id}/controllers/{controller_id}/documents/{document_type}

Path parameters

main_account_idstring required

Main account id in the form BZ-XXXX-XXXX.

sub_account_idstring required

Business child account ID

controller_idstring required

Controller (related party) id, as returned in the controllers[].id field of the Initiate Business Account API.

document_type'ID_FRONT' | 'ID_BACK' | 'POA' required

Controller-level business onboarding document type.

Controller document type

Headers

Content-Typestring required

Document MIME type

Content-Dispositionstring required

Attachment filename header

Response

Document uploaded successfully.

typestring required

Document type that was uploaded, in SCREAMING_SNAKE_CASE, such as CERT_OF_INC, ID_FRONT, or POA.

status'PENDING' | 'UPLOADED' | 'REJECTED' | 'REMOVED' required

Current status of an onboarding document.

  • PENDING — the document is required but has not been uploaded yet.
  • UPLOADED — the document has been uploaded successfully and is awaiting review.
  • REJECTED — the document has been reviewed and rejected; re-upload via the corresponding Upload Company Document or Upload Controller Document API.
  • REMOVED — the document was removed and is no longer associated with the sub-account.
requiredboolean required

Whether the document type is required for the sub-account to complete onboarding. false indicates an optional supporting document.

controller_idstring nullable

Identifier of the controller the document belongs to. null for company-level documents.

filenamestring nullable

Original filename of the uploaded document, as supplied in the Content-Disposition header.

uploaded_atstring nullable

Timestamp at which the document was uploaded (RFC 3339 format).