Upload a document
Uploads a file and creates a document record. You do not have to declare what the document is: Conduit identifies it, and its own determination is what applies. Sending type is optional and records which requirement slot you uploaded the file against, so the file is shown against that slot. Optional multipart fields: purpose, name (human-readable label) and type. Maximum file size is 10 MB; the request may contain at most 16 multipart fields in total. File type is determined by inspecting the file’s contents — the Content-Type header and filename extension are advisory only.
Authorizations
Body
Document file. Allowed types (validated by inspecting the file's magic bytes, not the filename or Content-Type header): application/pdf, image/jpeg, image/png. Maximum size: 10 MB.
Purpose of the document.
organization_onboarding, kyc, feature_request, transaction_support, rfi_response Human-readable label for the document.
The requirement slot you uploaded this file against, from documents[].canonicalType in the requirements response. Sending it shows the file against that slot; Conduit still identifies the document itself, and that determination is what applies.
BUSINESS_REGISTRATION, ARTICLES_OF_INCORPORATION, TAX_CERTIFICATE, OPERATING_LICENSE, REGULATORY_LICENSE, SHAREHOLDERS_REGISTRY, DIRECTORS_REGISTRY, AUTHORIZATION_TO_ACT, PROOF_OF_ADDRESS, CERTIFICATE_OF_GOOD_STANDING, FLOW_OF_FUNDS, AUDITED_FINANCIAL_STATEMENT, BANK_STATEMENT, ORG_STRUCTURE_CHART, AML_AUDIT, COMPLIANCE_POLICY, INSTITUTIONAL_INVESTOR_DOCUMENTATION, IDENTITY_VERIFICATION, IDENTITY_VERIFICATION_ATTESTATION, BANK_VERIFICATION_LETTER, INVOICE, CONTRACT, PAYROLL_REGISTER, INVESTMENT_AGREEMENT Response
Unique document identifier
^doc_[0-9A-Za-z]{22}$Server-side classifier lifecycle: pending (not yet run), completed (a verdict was produced — the type set may be empty), or failed (the classifier could not complete: the file may be unreadable, or a transient vendor/network error was exhausted). Transient failures are re-attempted on the next review run; a persistent failed warrants re-uploading a clearer file.
pending, completed, failed Timestamp when the document was uploaded
"2026-01-15T09:30:00.000Z"
Timestamp when the document was last updated
"2026-01-15T09:30:00.000Z"
Original file name as uploaded
"passport-scan.pdf"
MIME type of the uploaded file
"application/pdf"
Human-readable label for the document
"John Doe Passport"
Canonical document types assigned by the server-side classifier. Omitted until classification runs (asynchronously, after the document is attached to a submitted application); the type declared at upload is stored separately and does not populate this field.
BUSINESS_REGISTRATION, ARTICLES_OF_INCORPORATION, TAX_CERTIFICATE, OPERATING_LICENSE, REGULATORY_LICENSE, SHAREHOLDERS_REGISTRY, DIRECTORS_REGISTRY, AUTHORIZATION_TO_ACT, PROOF_OF_ADDRESS, CERTIFICATE_OF_GOOD_STANDING, FLOW_OF_FUNDS, AUDITED_FINANCIAL_STATEMENT, BANK_STATEMENT, ORG_STRUCTURE_CHART, AML_AUDIT, COMPLIANCE_POLICY, INSTITUTIONAL_INVESTOR_DOCUMENTATION, IDENTITY_VERIFICATION, IDENTITY_VERIFICATION_ATTESTATION, BANK_VERIFICATION_LETTER, INVOICE, CONTRACT, PAYROLL_REGISTER, INVESTMENT_AGREEMENT Purpose of the document within the onboarding or KYC flow.
organization_onboarding, kyc, feature_request, transaction_support, rfi_response Size in bytes. Omitted for documents uploaded before size capture was added.
-9007199254740991 <= x <= 9007199254740991