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
| Field | Type | Required |
|---|
cursorquery | string | no |
|---|
limitquery | integer | no |
|---|
case_idqueryOnly tasks of this case. | string (uuid) | no |
|---|
statusqueryOnly tasks in this status (lease expiry applied). | enum: open, claimed, resolved, expired | no |
|---|
assignmentqueryassigned: claimed by anyone; unassigned: open; mine: claimed by the calling identity. | enum: assigned, unassigned, mine | no |
|---|
assigned_principal_idqueryOnly tasks claimed by this principal. | string (uuid) | no |
|---|
Responses
200ReviewTaskList400401403404409412413415422428429503
Claim a review task
POST/v1/review-tasks/{task_id}/claim
- Scopes
review:claim- Required header
Idempotency-Key- Required header
If-Match
Parameters
| Field | Type | Required |
|---|
task_idpath | string (uuid) | yes |
|---|
Responses
200ReviewTask400401403404409412413415422428429503
Resolve a review task
POST/v1/review-tasks/{task_id}/resolve
- Scopes
review:resolve- Required header
Idempotency-Key- Required header
If-Match
Parameters
| Field | Type | Required |
|---|
task_idpath | string (uuid) | yes |
|---|
Request bodyReviewResolve
| Field | Type | Required |
|---|
resolution | enum: approve, reject, request_evidence, inconclusive | yes |
|---|
reason_codes | array of string | yes |
|---|
evidence_ids | array of string (uuid) | yes |
|---|
note | string | yes |
|---|
kyb_conflict_decisions | array of KybConflictDecision | no |
|---|
approval_id | string (uuid) | no |
|---|
resolution_payload_sha256 | string | no |
|---|
Responses
200ReviewTask400401403404409412413415422428429503
List expert records
GET/v1/review-tasks/{task_id}/expert-records
- Scopes
review:read
Parameters
| Field | Type | Required |
|---|
task_idpath | string (uuid) | yes |
|---|
Responses
200ExpertRecordList400401403404409412413415422428429503
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
| Field | Type | Required |
|---|
task_idpath | string (uuid) | yes |
|---|
Request bodyExpertRecordCreate
| Field | Type | Required |
|---|
kind | enum: correction, assessment | yes |
|---|
check_id | string (uuid) | yes |
|---|
reason_code | string | yes |
|---|
proposed_outcome | enum: pass, fail, inconclusive, not_supported, unavailable, not_performed | no |
|---|
field | string | no |
|---|
source | object | no |
|---|
new_valueCorrected value; stored sealed with the subject key, never returned, recorded in the expert record only as a digest. | string | no |
|---|
Responses
201ExpertRecord400401403404409412413415422428429503
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
| Field | Type | Required |
|---|
task_idpath | string (uuid) | yes |
|---|
Request bodySeniorAssessmentCreate
| Field | Type | Required |
|---|
check_id | string (uuid) | yes |
|---|
proposed_outcome | enum: pass, fail, inconclusive, not_supported, unavailable, not_performed | yes |
|---|
reason_code | enum: fields_consistent, layout_mismatch, security_feature_doubtful, needs_original_document | yes |
|---|
Responses
201ExpertRecord400401403404409412413415422428429503
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
| Field | Type | Required |
|---|
cursorquery | string | no |
|---|
limitquery | integer | no |
|---|
statusqueryOnly checks in this expert review status. | enum: open, agreed, escalated_to_senior, resolved_by_senior | no |
|---|
case_idqueryOnly checks of this case. | string (uuid) | no |
|---|
needs_reviewquerytrue: only checks with an outcome other than pass or with expert records. | boolean | no |
|---|
Responses
200ExpertQueue400401403404409412413415422428429503
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
| Field | Type | Required |
|---|
task_idpath | string (uuid) | yes |
|---|
check_idqueryDocument check of the task case. | string (uuid) | yes |
|---|
Responses
200ExpertMaterial400401403404409412413415422428429503
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
| Field | Type | Required |
|---|
task_idpath | string (uuid) | yes |
|---|
evidence_idpath | string (uuid) | yes |
|---|
check_idqueryDocument check of the task case. | string (uuid) | yes |
|---|
Responses
200EvidencePreview400401403404409412413415422428429503
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
| Field | Type | Required |
|---|
task_idpath | string (uuid) | yes |
|---|
evidence_idpath | string (uuid) | yes |
|---|
check_idqueryDocument check of the task case. | string (uuid) | yes |
|---|
Request bodyEvidenceReveal
| Field | Type | Required |
|---|
reason_code | enum: case_review, appeal_review, quality_assurance, customer_support, legal_obligation | yes |
|---|
Responses
200Download400401403404409412413415422428429503