Skip to content

Guides

Verification workflows

Create, process, and complete verification cases across sources and review states.

  • Guides
  • 1 min read

Scope

This guide covers day-to-day verification operations: open a case, attach sources, wait for processing, and complete review. Prerequisites: Installation and Verification concepts.

Create a case

const verificationCase = await client.cases.create({
  type: 'employment',
  subjectRef: 'applicant_4521',
  sources: ['document', 'employer_attestation'],
  ownerId: 'user_123',
})

Required fields depend on tenant policy. Validation errors list missing or invalid fields by name.

Attach evidence

await client.cases.attachDocument(verificationCase.id, {
  kind: 'employment_letter',
  contentType: 'application/pdf',
  uploadId: 'upload_4521_letter',
})

Document kinds must match the verification type. Unsupported kinds return 400 with allowed kinds for that type.

Advance processing

Processing starts automatically after required sources are present, or can be requested explicitly:

await client.cases.process(verificationCase.id)

Poll or subscribe for status transitions (intakeprocessingready_for_reviewcompleted). Invalid transitions return 409 with the allowed next states.

List and filter

const page = await client.cases.list({
  type: ['income', 'employment'],
  status: ['ready_for_review'],
  limit: 50,
})

Prefer server-side filters. Pagination cursors are opaque; do not invent offset arithmetic.

Complete review

const reviewed = await client.cases.review(verificationCase.id, {
  outcome: 'verified',
  notes: 'Employment letter and attestation consistent for stated period',
})

Review outcomes and remediation paths are covered in Decision review. Document extraction details: Document processing.

Related