Create assessment
const url = 'https://api.dockt.com/v1/assessments';const options = { method: 'POST', headers: { 'x-dockt-expected-workspace': 'wsp_example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"external_id":"worker-case-1042","inputs":[{"code":"person.name.first","value":"Amina","source":{"kind":"integration","reference":"contract_management:worker:1042"}},{"code":"person.name.last","value":"Diallo","source":{"kind":"integration","reference":"contract_management:worker:1042"}},{"code":"person.date_of_birth","value":"1990-05-17","source":{"kind":"integration","reference":"contract_management:worker:1042"}},{"code":"person.nationality","value":["FR"],"source":{"kind":"integration","reference":"contract_management:worker:1042"}},{"code":"employment.relationship","value":"employee","source":{"kind":"integration","reference":"contract_management:worker:1042"}},{"code":"employment.posting_status","value":"posted","source":{"kind":"integration","reference":"contract_management:worker:1042"}},{"code":"employment.employer_country","value":"FR","source":{"kind":"integration","reference":"contract_management:worker:1042"}}]}'};
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/assessments \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'x-dockt-expected-workspace: wsp_example' \ --data '{ "external_id": "worker-case-1042", "inputs": [ { "code": "person.name.first", "value": "Amina", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "person.name.last", "value": "Diallo", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "person.date_of_birth", "value": "1990-05-17", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "person.nationality", "value": [ "FR" ], "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "employment.relationship", "value": "employee", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "employment.posting_status", "value": "posted", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "employment.employer_country", "value": "FR", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } } ] }'Creates a verification case for one worker in the active workspace and returns required evidence based on the effective workspace policy. Requires assessments:write, decisions:read, documents:read, and social-compliance-packages:read, including when reuse_existing returns an existing case.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Rejects the request with 401 unless the browser session belongs to this auth_user_id. This assertion does not grant authority.
Unique Dockt workspace identifier.
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 Bodyrequired
Section titled “Request Bodyrequired”Creates a case for one worker in the active workspace. You can start with no details and add inputs and documents later. Dockt uses the workspace selected by your authentication and its configured policy to determine the evidence requirements for the worker.
object
Atomically returns the existing assessment with this external_id in the active workspace, or creates one if absent. Requires a nonblank external_id; multiple matches return 409. Existing inputs are not updated. Omit to create a new case even when the external_id is already used.
Namespaced customer job identifier resolved through the active Job Profile revisions.
object
A value you provide with its source, called a Claim. Send null to withdraw the current value from that source. Dockt determines whether evidence verifies the value; your application cannot set verification.
object
object
ISO 8601 calendar date string.
ISO 8601 calendar date string.
object
Example
{ "external_id": "worker-case-1042", "inputs": [ { "code": "person.name.first", "value": "Amina", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "person.name.last", "value": "Diallo", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "person.date_of_birth", "value": "1990-05-17", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "person.nationality", "value": [ "FR" ], "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "employment.relationship", "value": "employee", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "employment.posting_status", "value": "posted", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } }, { "code": "employment.employer_country", "value": "FR", "source": { "kind": "integration", "reference": "contract_management:worker:1042" } } ]}Responses
Section titled “Responses”Envelope for a single resource response.
Envelope for a single resource response.
object
A case containing one worker’s details, documents, and evaluation results in a Workspace. The Workspace configuration determines which requirements apply.
object
Unique Dockt assessment identifier.
Unique Dockt workspace identifier.
Lifecycle state for an assessment.
Read-only summary of the worker identity Dockt can establish from the available information. All known nationalities are kept. Fields that remain unknown or conflicting are omitted.
object
ISO 8601 calendar date string.
object
object
ISO 8601 calendar date string.
ISO 8601 calendar date string.
object
ISO 8601 date-time string.
The value Dockt can use for a field, its sources, and how it is supported or verified. The status identifies values that are established, unknown, or conflicting.
object
Human-readable name shown in Dockt and customer systems.
Known values: declared, document_supported, authority_verified. New values may appear; preserve unfamiliar values and use a safe fallback.
object
object
A question about details still needed to evaluate the requirements in your active policy. An incomplete Decision may be available while questions remain unanswered.
object
Human-readable name shown in Dockt and customer systems.
Known values: string, integer, boolean, date, country_code, single_select. New values may appear; preserve unfamiliar values and use a safe fallback.
Known values: one, many. New values may appear; preserve unfamiliar values and use a safe fallback.
object
Human-readable name shown in Dockt and customer systems.
Exact executable compliance-package release applied to an assessment.
object
Policy-neutral evidence requirement and its current assessment status.
object
Human-readable name shown in Dockt and customer systems.
Current result of evaluating one evidence requirement.
External or planning obligation signaled by an applied compliance package.
object
Human-readable name shown in Dockt and customer systems.
Exact executable compliance-package release applied to an assessment.
object
Assessment-embedded summary of a canonical document, plus assessment-scoped match status.
object
Unique Dockt document identifier.
Processing lifecycle state for a workspace document.
Machine-readable document issue with a human-readable reason.
object
ISO 8601 date-time string.
Whether the assessment needs manual review and the machine-readable reasons.
object
Customer-safe periodic monitoring state for an assessment.
object
Compact current decision with actionable findings projected into an assessment detail response.
object
Unique Dockt decision identifier.
Dockt decision for an assessment based on available worker context and evidence.
Customer-facing traffic-light signal derived from the semantic decision.
object
ISO 8601 date-time string.
ISO 8601 date-time string.
ISO 8601 date-time string.
Example
{ "object": "single", "data": { "object": "assessment", "id": "ast_example1042", "workspace_id": "wsp_example1042", "external_id": "worker-case-1042", "job": null, "resolved_job_profile_id": null, "status": "created", "inputs": [], "resolved_inputs": [], "worker": { "first_name": "Amina", "last_name": "Diallo", "date_of_birth": "1990-05-17", "nationalities": [ "FR" ] }, "input_requests": [ { "code": "project.is_construction", "label": "Construction project", "reason": "The applicable requirements depend on whether the work is construction work.", "value_type": "boolean", "options": [] } ], "applied_packages": [ { "code": "social_construction_be_v1", "version": "v1" } ], "requirements": [], "advisories": [], "documents": [], "review": { "review_required": false, "reason_codes": [] }, "monitoring": { "enabled": false, "status": "disabled", "next_reassessment_at": null, "monitoring_ends_at": null, "last_reassessed_at": null }, "latest_decision": null, "created_at": "2026-08-23T09:30:00Z", "updated_at": "2026-08-23T09:30:00Z" }}Problem Details response for HTTP 400. 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/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", "inputs", "3", "value" ], "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"}Problem Details response for HTTP 503. 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
{ "instance": "req_example1042"}