Users

Upload application documents

POSThttps://api.firstleeward.com/v0/users/:id/application/documents

Uploads one supporting document type for a user whose application is awaiting documents. Set documentType to one of the pending documents from the advance response's nextAction, and attach its file(s) as files (repeat for multi-page or front/back). Upload one type per request, across as many requests as there are pending documents; each response reports the remaining documents in nextAction. When the last required document is received the application advances to review.

Authorizations

Authorizationstring · headerrequired

API key as Bearer token, e.g. Bearer YOUR_API_KEY

Headers

Leeward-Versionenum<string>required

API version (YYYY-MM-DD). Available option: 2026-09-18

Path Parameters

idstring<uuid>required

User ID

Body

multipart/form-data

documentTypestringrequired

Which supporting document this upload is for (one type per request; from the pending documents in nextAction)

Available options:IDENTITYPROOF_OF_ADDRESSCURP
filesany | any[]required

The document file(s) for this type. Send a single file, or repeat the files field for multi-page or front/back (max 15).

Response

200Application state after uploading documents
statusstringrequired

Current KYC application status

Available options:NOT_STARTEDAWAITING_DOCUMENTSIN_REVIEWAPPROVEDREJECTEDRETRY_REQUIRED
nextActionobject | nullrequired

Action the client must take next, or null if none remains

Show child attributes
Option 1 · Provider SDK
typestringrequired
providerstringrequired
Available options:SUMSUB
sdkTokenstringrequired

Token for initializing the provider verification widget

Option 2 · Document upload
typestringrequired
documentsobject[]required

Supporting documents to upload, each with its current upload state

Show child attributes
typestringrequired

Supporting document category

Available options:IDENTITYPROOF_OF_ADDRESSCURP
statusstringrequired

Review state of this document

Available options:PENDINGUPLOADEDRETRY_REQUIREDREJECTED
400Response for status 400
Option 1 · InvalidApplicationStatusError
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
Option 2 · UserDocumentNotRequiredError
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
Option 3 · ApplicationSubmissionRejectedError
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
403The requested verification method is not enabled for this project
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
404User not found
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired