Create document
const url = 'https://api.dockt.com/v1/documents';const form = new FormData();form.append('file', 'file');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.dockt.com/v1/documents \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: multipart/form-data' \ --form file=@fileUploads one standalone document for asynchronous document-intelligence processing.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ”Caller-generated retry key for duplicate-sensitive create and resend operations. Keys are scoped to the authenticated principal, method, and route and are retained for 24 hours.
Caller-generated retry key for duplicate-sensitive create and resend operations. Keys are scoped to the authenticated principal, method, and route and are retained for 24 hours.
Request Body required
Section titled “Request Body required ”One standalone document upload.
object
One PDF or image file, no larger than 10 MB.
Responses
Section titled “ Responses ”Envelope for a single resource response.
Envelope for a single resource response.
object
Canonical workspace document and public document-intelligence projection.
object
Unique Dockt document identifier.
Unique Dockt workspace identifier.
Processing lifecycle state for a workspace document.
A string at least 1 character(s) long
Dockt document classification assigned after processing.
object
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
Public extracted facts keyed by normalized claim key. Empty keys and raw_text are omitted.
object
One extracted value for a public document fact key.
One authority or registry check. An empty verifications array means no check applies only when the document status is completed; before completion it means no result is available.
object
Status for one authority or registry verification check.
A string at least 1 character(s) long
A string at least 1 character(s) long
Document enrichment outcome, kept separate from the intrinsic document verdict.
object
One safe, customer-visible evidence-discovery outcome from document enrichment.
object
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
Machine-readable document issue with a human-readable reason.
object
A string at least 1 character(s) long
A string at least 1 character(s) long
Customer-safe registry-backed credential assertion derived from a document or lookup.
object
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
Machine-readable document issue with a human-readable reason.
object
A string at least 1 character(s) long
A string at least 1 character(s) long
Machine-readable fraud signal with a human-readable reason.
object
A string at least 1 character(s) long
A string at least 1 character(s) long
Public intrinsic Finding produced from this document alone.
object
A string at least 1 character(s) long
A string at least 1 character(s) long
A string at least 1 character(s) long
ISO 8601 date-time string.
Example
{ "object": "single", "data": { "object": "document", "id": "doc_example1042", "workspace_id": "wsp_example1042", "assessment_id": null, "status": "uploaded", "document_result": null, "filename": "passport.pdf", "classified_as": null, "facts": {}, "verifications": [], "enrichment": { "status": "pending", "checks": [], "issues": [] }, "credential_assertions": [], "issues": [], "fraud_signals": [], "findings": [], "uploaded_at": "2026-08-23T09:30:00Z", "completed_at": null }}The request did not match the expected schema
Standard error response with a stable status, human-readable detail, and optional validation errors.
object
Structured request validation issues.
object
One request validation issue with a stable field path and human-readable message.
object
Example
{ "type": "https://docs.dockt.com/errors/invalid-request", "title": "Bad request", "status": 400, "detail": "The request did not match the expected schema.", "instance": "req_example1042"}Problem Details response for HTTP 401. The type URI is the stable machine-readable error code.
Standard error response with a stable status, human-readable detail, and optional validation errors.
object
Structured request validation issues.
object
One request validation issue with a stable field path and human-readable message.
object
Example
{ "type": "https://docs.dockt.com/errors/missing-auth", "title": "Unauthorized", "status": 401, "detail": "Send a valid bearer token or browser session.", "instance": "req_example1042"}Problem Details response for HTTP 403. The type URI is the stable machine-readable error code.
Standard error response with a stable status, human-readable detail, and optional validation errors.
object
Structured request validation issues.
object
One request validation issue with a stable field path and human-readable message.
object
Example
{ "type": "https://docs.dockt.com/errors/forbidden", "title": "Forbidden", "status": 403, "detail": "The authenticated principal does not have the required permission.", "instance": "req_example1042"}Problem Details response for HTTP 404. The type URI is the stable machine-readable error code.
Standard error response with a stable status, human-readable detail, and optional validation errors.
object
Structured request validation issues.
object
One request validation issue with a stable field path and human-readable message.
object
Example
{ "type": "https://docs.dockt.com/errors/not-found", "title": "Not found", "status": 404, "detail": "The requested resource was not found in the authenticated scope.", "instance": "req_example1042"}Problem Details response for HTTP 409. The type URI is the stable machine-readable error code.
Standard error response with a stable status, human-readable detail, and optional validation errors.
object
Structured request validation issues.
object
One request validation issue with a stable field path and human-readable message.
object
Example
{ "type": "https://docs.dockt.com/errors/conflict", "title": "Conflict", "status": 409, "detail": "The request conflicts with the current resource state.", "instance": "req_example1042"}Problem Details response for HTTP 422. The type URI is the stable machine-readable error code.
Standard error response with a stable status, human-readable detail, and optional validation errors.
object
Structured request validation issues.
object
One request validation issue with a stable field path and human-readable message.
object
Example
{ "type": "https://docs.dockt.com/errors/validation", "title": "Validation failed", "status": 422, "detail": "Correct the invalid fields and send the request again.", "instance": "req_example1042", "errors": { "issues": [ { "path": [ "body", "worker", "nationality" ], "message": "Expected a two-letter country code." } ] }}Problem Details response for HTTP 429. The type URI is the stable machine-readable error code.
Standard error response with a stable status, human-readable detail, and optional validation errors.
object
Structured request validation issues.
object
One request validation issue with a stable field path and human-readable message.
object
Example
{ "type": "https://docs.dockt.com/errors/rate-limit", "title": "Too many requests", "status": 429, "detail": "Wait for the Retry-After interval before retrying.", "instance": "req_example1042"}Problem Details response for HTTP 500. The type URI is the stable machine-readable error code.
Standard error response with a stable status, human-readable detail, and optional validation errors.
object
Structured request validation issues.
object
One request validation issue with a stable field path and human-readable message.
object
Example
{ "type": "https://docs.dockt.com/errors/internal", "title": "Internal server error", "status": 500, "detail": "Retry the request safely or contact Dockt support with the request ID.", "instance": "req_example1042"}