Skip to main content
POST
cURL
Upload borrower evidence or documents supporting a lending product or risk policy. Upload creates a new record; it cannot overwrite an existing document. All IDs and cursors must belong to the authorized workspace and environment. Required scope: evidence:write. Examples use synthetic IDs. Replace them with values returned by your environment.

Authorizations

Authorization
string
header
required

Server-to-server API key bound to exactly one workspace, institution tenant and environment. No caller-supplied workspace override is accepted. Do not use in public browser code.

Headers

Idempotency-Key
string
required

Stable for one intended command and its retries, scoped to key workspace/environment and operation. Mismatched body returns 409. Full response replay 24 hours; durable receipt remains.

Minimum string length: 1

Body

multipart/form-data

Upload once, then reference document ID in the origination. A later upload may include origination_id and an open requirement_id: borrower and requirement ownership are checked and association occurs atomically. Late attachment is accepted only while collecting/requires_action, otherwise 409. Never overwrite a file or change a completed assessment.

file
file
required

File for UploadDocument. Constraints, requiredness and allowed values are defined by this schema.

context
enum<string>
required

Context for UploadDocument. Constraints, requiredness and allowed values are defined by this schema.

Available options:
borrower,
lending_product,
risk_policy
document_type
string
required

Document type for UploadDocument. Constraints, requiredness and allowed values are defined by this schema.

Minimum string length: 1
borrower_id
string

Opaque identifier, authorized within the API key workspace and environment.

Minimum string length: 1
origination_id
string

Opaque identifier, authorized within the API key workspace and environment.

Minimum string length: 1
requirement_id
string

Opaque identifier, authorized within the API key workspace and environment.

Minimum string length: 1

Response

Accepted asynchronously; inspect status, not just HTTP success.

data
object
required
meta
object
required