Skip to content

Data Models

Reference documentation for all API resource data models.

Verification

A verification represents a single identity verification request.

json
{
  "id": "ver_xxxxx",
  "url": "https://{workspace}.colleckt.io/spa/v3/.../process",
  "qr_code": "https://{workspace}.colleckt.io/qr/...",
  "vendor_reference": "REF-001",
  "vendor_state": "TN",
  "expected_data": { ... },
  "status_label": "Approved",
  "submitted_at": "2026-06-11T07:36:11.000000Z",
  "created_at": "2026-06-11T07:04:50.000000Z",
  "updated_at": "2026-06-11T07:36:42.000000Z",
  "flow": "USPS 1583",
  "documents": [ ... ],
  "comments": [ ... ],
  "history": [ ... ]
}

Fields:

FieldTypeDescription
idstringUnique verification ID, prefixed with ver_
urlstringURL to the end-user verification widget
qr_codestringQR code image URL for mobile access
vendor_referencestring (nullable)Internal reference for tracking
vendor_statestring (nullable)Vendor state information
expected_dataobjectExpected person, address, and document details
status_labelstringHuman-readable status (e.g. Started, Submitted, Approved, etc.)
submitted_atstring (nullable)ISO 8601 timestamp of submission
created_atstringISO 8601 timestamp of creation
updated_atstringISO 8601 timestamp of last update
flowstringDisplay name of the verification flow (e.g. "USPS 1583")
documentsarrayVerification documents (only present on detail view)
commentsarrayNon-private comments (sorted newest first)
historyarrayStatus change history (only present on detail view)

Expected Data

json
{
  "person": {
    "first_name": "Homer",
    "last_name": "Simpson",
    "date_of_birth": "1988-05-06"
  },
  "address": {
    "street": "742 Evergreen Terrace",
    "city": "Springfield",
    "state": "Tennessee",
    "postal_code": "92026",
    "country": "USA"
  },
  "documents": {
    "photo_id": {
      "type": "Passport",
      "number": "AB123456",
      "country": "USA"
    },
    "proof_of_address": {
      "type": "Driver License",
      "number": "DL789012",
      "country": "USA"
    }
  }
}

Fields:

FieldTypeDescription
person.first_namestringExpected first name
person.last_namestringExpected last name
person.date_of_birthstringExpected date of birth (YYYY-MM-DD)
address.streetstringExpected street address
address.citystringExpected city
address.statestringExpected state/province
address.postal_codestringExpected postal/ZIP code
address.countrystringExpected country (ISO3 code)
documents.photo_id.typestringExpected photo ID document type name
documents.photo_id.numberstringExpected photo ID document number
documents.photo_id.countrystringExpected photo ID issuing country (ISO3)
documents.proof_of_address.typestringExpected proof of address document type name
documents.proof_of_address.numberstringExpected proof of address document number
documents.proof_of_address.countrystringExpected proof of address issuing country (ISO3)

Verification Document

A document uploaded as part of a verification.

json
{
  "id": "doc_xxxxx",
  "url_front": "https://...",
  "url_back": "https://...",
  "status_label": "Approved",
  "verification_id": "ver_xxxxx",
  "document_type": {
    "id": 5,
    "name": "Uniformed Service ID",
    "type_label": "Photo ID"
  },
  "country": {
    "name": "United States of America",
    "iso2": "US",
    "iso3": "USA"
  },
  "created_at": "2026-06-11T02:42:50.000000Z",
  "updated_at": "2026-06-11T02:42:50.000000Z",
  "extracted_data": { ... },
  "decisions": [ ... ],
  "rules": { ... }
}

Fields:

FieldTypeDescription
idstringUnique document ID, prefixed with doc_
url_frontstringTemporary signed S3 URL for the front side image (30-min expiry)
url_backstring (nullable)Temporary signed S3 URL for the back side image (30-min expiry)
status_labelstringHuman-readable status (e.g. Uploaded, Extracted, Approved, etc.)
verification_idstringID of the parent verification
document_typeobject (nullable)Document type information
countryobject (nullable)Country information
created_atstringISO 8601 upload timestamp
updated_atstringISO 8601 last update timestamp
extracted_dataobject (nullable)extracted data
decisionsarrayList of decisions
rulesobject (nullable)Validation rule results

Extracted Data

json
{
  "person": {
    "surname": "Simpson",
    "full_name": "Simpson Homer",
    "given_names": "Homer",
    "date_of_birth": "1988-07-23"
  },
  "address": {
    "zip": "92026",
    "city": "Springfield",
    "full": "742 Evergreen Terrace, Springfield, Tennessee 92026",
    "state": "Tennessee",
    "street": "742 Evergreen Terrace",
    "country": "USA"
  },
  "document": {
    "type": "Driver License",
    "number": "",
    "has_selfie": "1",
    "identified": "United States of America - Driver License",
    "country_code": "USA",
    "country_name": "United States of America",
    "issuing_entity": "Government",
    "expiration_date": "2028-07-23",
    "selfie_comparison": "99"
  }
}

Person Fields:

FieldTypeDescription
surnamestringExtracted surname
full_namestringExtracted full name
given_namesstringExtracted given names
date_of_birthstringExtracted date of birth

Address Fields:

FieldTypeDescription
zipstringExtracted postal/ZIP code
citystringExtracted city
fullstringExtracted full address string
statestringExtracted state/province
streetstringExtracted street address
countrystringExtracted country name

Document Fields:

FieldTypeDescription
typestringExtracted document type name
numberstringExtracted document number
has_selfiestringWhether a selfie was provided ("1" or "0")
identifiedstringIdentified document description
country_codestringExtracted ISO3 country code
country_namestringExtracted country name
issuing_entitystringDocument issuing authority
expiration_datestringDocument expiration date
selfie_comparisonstringSelfie match percentage (e.g., "99")

Validation Rules

json
{
  "id": "rule_xxxxx",
  "approved_rules": {
    "RulePH001": { "expected": "Homer Simpson", "extracted": "Homer Simpson" },
    "RulePH002": { "expected": "USA", "extracted": "USA" },
    "RulePH003": { "expected": "ID Card", "extracted": "ID Card" },
    "RulePH004": { "expected": "SIMPSON HOMER", "extracted": "Simpson Homer" },
    "RulePH005": { "expected": "AB123456", "extracted": "AB123456" },
    "RulePH006": { "expected": "1988-07-23", "extracted": "1988-07-23" },
    "RulePH007": { "expected": "Same document sides", "extracted": "Same document sides" }
  },
  "failed_rules": {},
  "suggestions": ["The document you uploaded is correct."]
}

Fields:

FieldTypeDescription
idstringUnique rule ID, prefixed with rule_
approved_rulesobjectRules that passed validation, with expected vs extracted values
failed_rulesobjectRules that failed validation, with expected vs extracted values
suggestionsarrayHuman-readable suggestions for fixing issues

Document Decision

A decision made on a verification document.

json
{
  "id": "dec_xxxxx",
  "status_label": "Approved",
  "validation_workflow": "Automatic",
  "created_at": "2026-06-11T07:36:42.000000Z",
  "updated_at": "2026-06-11T07:36:42.000000Z"
}

Fields:

FieldTypeDescription
idstringUnique decision ID, prefixed with dec_
status_labelstringHuman-readable decision status (e.g. Approved, Rejected, etc.)
validation_workflowstring (nullable)How the decision was made (e.g. "Automatic", "Manual by some@email.com")
created_atstringISO 8601 decision timestamp
updated_atstringISO 8601 last update timestamp

Comment

A comment attached to a verification.

json
{
  "content": "Document appears valid after manual review.",
  "status": "Double Check",
  "created_at": "2026-06-11T08:00:00.000000Z"
}

Fields:

FieldTypeDescription
contentstringComment text
statusstringVerification status label at the time of the comment
created_atstringISO 8601 comment timestamp

Verification History

A record of a verification status change.

json
{
  "id": "hist_xxxxx",
  "from_status": "Submitted",
  "to_status": "Approved",
  "user": "system",
  "comment": null,
  "created_at": "2026-06-11T07:36:42.000000Z"
}

Fields:

FieldTypeDescription
idstringUnique history entry ID, prefixed with hist_
from_statusstring (nullable)Previous status label (null for initial creation)
to_statusstringNew status label
userstring (nullable)Who triggered the change (email or "system")
commentstring (nullable)Associated comment
created_atstringISO 8601 timestamp

Document Type

A type of document that can be uploaded for verification.

json
{
  "id": 5,
  "name": "Uniformed Service ID",
  "type_label": "Photo ID"
}

Fields:

FieldTypeDescription
idintegerDocument type ID
namestringDocument type name
type_labelstringCategory label

Country

A country reference.

json
{
  "name": "United States of America",
  "iso2": "US",
  "iso3": "USA"
}

Fields:

FieldTypeDescription
namestringFull country name
iso2stringISO 3166-1 alpha-2 code
iso3stringISO 3166-1 alpha-3 code

Statuses & Enums

Verification Status

ValueLabel
1Started
2Submitted
3Approved
4Rejected
5Double Check
6Expired
7Canceled
8Hold

Transition lifecycle:

text
Started → Submitted → Approved
                  ↘ Rejected
                  ↘ Double Check ─→ Approved / Rejected
Started ──────────────────────────→ Canceled

Document Status

ValueLabel
1Uploaded
2In progress
3Approved
4Rejected
5Double check
6Canceled
7Extracted

Document Decision Status

ValueLabel
0Pending
1Approved
2Rejected
3Double check
4Canceled

Document Type Category

ValueLabel
1Photo ID
2Proof of Address
3Selfie

Flow Type

Pretty PathLabel
usps1583USPS 1583
identityIdentity Verification

Webhook Event Codes

ValueCodeDescription
1verification.startedA verification has been started
2verification.submittedA verification has been submitted by the end user
3verification.finishedA verification has been resolved (approved/rejected/expired)
4verification.canceledA verification has been canceled
5document.uploadedA document has been uploaded
6document.canceledA document has been canceled
7decision.madeA decision has been made on a document
8decision.canceledA decision has been canceled

Pagination Meta

json
{
  "current_page": 1,
  "from": 1,
  "last_page": 5,
  "path": "https://{workspace}.colleckt.io/api/v1/usps1583/verifications",
  "per_page": 15,
  "to": 15,
  "total": 72
}

Fields:

FieldTypeDescription
current_pageintegerCurrent page number
fromintegerIndex of the first item on this page
last_pageintegerTotal number of pages
pathstringBase URL for pagination
per_pageintegerItems per page
tointegerIndex of the last item on this page
totalintegerTotal number of items
json
{
  "first": "https://{workspace}.colleckt.io/api/v1/usps1583/verifications?page=1",
  "last": "https://{workspace}.colleckt.io/api/v1/usps1583/verifications?page=5",
  "prev": null,
  "next": "https://{workspace}.colleckt.io/api/v1/usps1583/verifications?page=2"
}

Fields:

FieldTypeDescription
firststringURL to the first page
laststringURL to the last page
prevstring (nullable)URL to the previous page
nextstring (nullable)URL to the next page

Built for virtual address providers requiring USPS 1583 compliance.