API reference

Manual review

The review queue, document expertise and employee decisions.

List review tasks

GET/v1/review-tasks

Scopes
review:read

Filters combine with AND. A cursor is bound to the filter it was issued for; another filter with that cursor is 400. Invalid filter value is 400 schema_validation_failed.

Parameters

FieldTypeRequired
cursorquerystringno
limitqueryintegerno
case_idqueryOnly tasks of this case.string (uuid)no
statusqueryOnly tasks in this status (lease expiry applied).enum: open, claimed, resolved, expiredno
assignmentqueryassigned: claimed by anyone; unassigned: open; mine: claimed by the calling identity.enum: assigned, unassigned, mineno
assigned_principal_idqueryOnly tasks claimed by this principal.string (uuid)no

Responses

  • 200ReviewTaskList
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Claim a review task

POST/v1/review-tasks/{task_id}/claim

Scopes
review:claim
Required header
Idempotency-Key
Required header
If-Match

Parameters

FieldTypeRequired
task_idpathstring (uuid)yes

Responses

  • 200ReviewTask
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Resolve a review task

POST/v1/review-tasks/{task_id}/resolve

Scopes
review:resolve
Required header
Idempotency-Key
Required header
If-Match

Parameters

FieldTypeRequired
task_idpathstring (uuid)yes

Request bodyReviewResolve

FieldTypeRequired
resolutionenum: approve, reject, request_evidence, inconclusiveyes
reason_codesarray of stringyes
evidence_idsarray of string (uuid)yes
notestringyes
kyb_conflict_decisionsarray of KybConflictDecisionno
approval_idstring (uuid)no
resolution_payload_sha256stringno

Responses

  • 200ReviewTask
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

List expert records

GET/v1/review-tasks/{task_id}/expert-records

Scopes
review:read

Parameters

FieldTypeRequired
task_idpathstring (uuid)yes

Responses

  • 200ExpertRecordList
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Create an expert record

POST/v1/review-tasks/{task_id}/expert-records

Scopes
review:expert
Required header
Idempotency-Key

Document expert interface: a signed correction or assessment of a check of the task case. Two disagreeing expert assessments escalate the check to a senior expert. Scope review:expert: roles owner, reviewer, document_expert, senior_document_expert.

Parameters

FieldTypeRequired
task_idpathstring (uuid)yes

Request bodyExpertRecordCreate

FieldTypeRequired
kindenum: correction, assessmentyes
check_idstring (uuid)yes
reason_codestringyes
proposed_outcomeenum: pass, fail, inconclusive, not_supported, unavailable, not_performedno
fieldstringno
sourceobjectno
new_valueCorrected value; stored sealed with the subject key, never returned, recorded in the expert record only as a digest.stringno

Responses

  • 201ExpertRecord
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Create a senior assessment

POST/v1/review-tasks/{task_id}/senior-assessments

Scopes
review:senior
Required header
Idempotency-Key

Senior document expert assessment of an escalated check. The senior expert is not one of the disagreeing experts.

Parameters

FieldTypeRequired
task_idpathstring (uuid)yes

Request bodySeniorAssessmentCreate

FieldTypeRequired
check_idstring (uuid)yes
proposed_outcomeenum: pass, fail, inconclusive, not_supported, unavailable, not_performedyes
reason_codeenum: fields_consistent, layout_mismatch, security_feature_doubtful, needs_original_documentyes

Responses

  • 201ExpertRecord
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

List the expert queue

GET/v1/expert-queue

Scopes
review:expert

Queue of document checks for expert review: latest succeeded checks of the document family (document_*, nfc_*) of cases with an open or claimed review task, with the expert review status of each check; needs_review=true keeps checks whose outcome is not pass or that already have expert records. No applicant, case or screening data is returned.

Parameters

FieldTypeRequired
cursorquerystringno
limitqueryintegerno
statusqueryOnly checks in this expert review status.enum: open, agreed, escalated_to_senior, resolved_by_seniorno
case_idqueryOnly checks of this case.string (uuid)no
needs_reviewquerytrue: only checks with an outcome other than pass or with expert records.booleanno

Responses

  • 200ExpertQueue
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Get expert material

GET/v1/review-tasks/{task_id}/expert-material

Scopes
review:expert

Material of one document check for the expert: the check, its source and derived evidence (metadata only), observed fields with their visibility class, conflicting values of other sources, the expert review state and the history of records with original and new values. Values are exposed by the masking profile of the caller: full with evidence:download, otherwise expert_masked (personal identifiers and address masked); a field outside the attribute list of the check is never shown.

Parameters

FieldTypeRequired
task_idpathstring (uuid)yes
check_idqueryDocument check of the task case.string (uuid)yes

Responses

  • 200ExpertMaterial
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Preview expert evidence

GET/v1/review-tasks/{task_id}/expert-material/evidence/{evidence_id}/preview

Scopes
review:expert

Backend masked low resolution projection of a source or derived image of the check for the expert (same projection as previewEvidence); only evidence of this check or derived from it.

Parameters

FieldTypeRequired
task_idpathstring (uuid)yes
evidence_idpathstring (uuid)yes
check_idqueryDocument check of the task case.string (uuid)yes

Responses

  • 200EvidencePreview
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503

Reveal expert evidence

POST/v1/review-tasks/{task_id}/expert-material/evidence/{evidence_id}/reveal

Scopes
review:expert
Required header
Idempotency-Key

Reveal of the original image of the check to the expert while the review task is open or claimed: a short-lived signed link with a required reason (EvidenceReveal); only evidence of this check or derived from it. The audit event records the reason, the review task and the digest.

Parameters

FieldTypeRequired
task_idpathstring (uuid)yes
evidence_idpathstring (uuid)yes
check_idqueryDocument check of the task case.string (uuid)yes

Request bodyEvidenceReveal

FieldTypeRequired
reason_codeenum: case_review, appeal_review, quality_assurance, customer_support, legal_obligationyes

Responses

  • 200Download
  • 400
  • 401
  • 403
  • 404
  • 409
  • 412
  • 413
  • 415
  • 422
  • 428
  • 429
  • 503