DocV Webhook Payload Reference

Field-by-field reference for the Predictive DocV webhook payloads, including documentVerification, documentData, and Socure Pass enrichment results.

This page documents the fields in the DocV webhook payloads delivered on evaluation_completed. Use it to look up a specific object — you don't need to read it end to end. For how to subscribe to webhooks and act on the decision, see Receive Results with DocV Webhooks.


Payload structure

Every evaluation_completed webhook wraps the evaluation in a four-key envelope. The evaluation details — including the final decision, tags, and enrichment results — are nested under data. The data.data_enrichments array holds the per-flow verification output documented in the rest of this page.

{
  "event_id": "336ccd2a-b3a8-49a8-b2cc-89a4ae90feeb",
  "event_at": "2025-08-27T16:16:23.104744158Z",
  "event_type": "evaluation_completed",
  "data": {
    "id": "test-1245",
    "workflow": "consumer_onboarding",
    "eval_id": "8770e076-f568-48a9-8201-dca13087e592",
    "decision": "ACCEPT",
    "status": "CLOSED",
    "sub_status": "Approved",
    "tags": ["DocV Accept"],
    "evaluation_status": "evaluation_completed",
    "review_queues": [],
    "data_enrichments": [
      { "...": "Per-flow verification output — see Enrichment results below." }
    ]
  }
}

Top-level fields

FieldTypeDescriptionExample
event_idString (UUID)Unique identifier for the webhook event."336ccd2a-b3a8-49a8-b2cc-89a4ae90feeb"
event_atStringRFC 3339 timestamp when the event was created."2025-08-27T16:16:23.104744158Z"
event_typeStringEvent type. Always "evaluation_completed" for this payload."evaluation_completed"
dataObjectEvaluation details, including the decision, tags, and enrichments.See data fields.

data fields

FieldTypeDescriptionExample
idStringCustomer-provided identifier for the evaluation."test-1245"
workflowStringWorkflow name for the evaluation use case."consumer_onboarding"
eval_idString (UUID)RiskOS™-generated unique evaluation ID. Use it to correlate the webhook with your records."8770e076-f568-48a9-8201-dca13087e592"
decisionStringFinal decision outcome. Use this as the primary routing field."ACCEPT"
decision_atStringRFC 3339 timestamp when the decision was finalized."2025-08-27T16:16:23.096676037Z"
statusStringCase status (for example, OPEN or CLOSED)."CLOSED"
sub_statusStringCase sub-status (for example, Approved or Surveillance)."Approved"
tagsArray of StringsTags associated with the evaluation. See data.tags.["DocV Accept"]
evaluation_statusStringProcessing status. Always "evaluation_completed" for this event."evaluation_completed"
review_queuesArray of StringsReview queues assigned to the evaluation.["Default Queue"]
customObjectAdditional session identifiers. Present for Socure Pass flows. See data.custom fields.See data.custom fields.
data_enrichmentsArray of ObjectsPer-flow enrichment results. See Enrichment results.See Enrichment results.
📘

Two decision values, two formats:

The envelope data.decision is the final routing decision in uppercase (ACCEPT, REJECT, REVIEW). The DocV enrichment result has its own decision.value in lowercase (accept, reject, resubmit, review) that describes only the document analysis. Route on data.decision.


data.custom fields

The data.custom object contains Socure Pass session identifiers for traceability and audit. It is present when the evaluation runs a Socure Pass flow.

FieldTypeDescriptionExample
consent_idStringUnique consent record for this session. Ties the disclosure to the consumer's explicit approval."01KR4PQH6MRJ3RFXAHFF4MVECW"
eval_idStringLinks back to the RiskOS™ evaluation."2b74fe41-bf69-484a-82c7-4630f5846fa6"
redirect_uriStringThe partner's callback URI for post-flow redirect."stellardemo://callback"
wallet_idStringThe consumer's Socure Pass identifier (internal)."01KQZCSS0TDXKGSBVE9E9J3W1C"

data.tags

The data.tags array carries labels for filtering and reporting. Evaluations involving Socure Pass include the following tags:

TagDescription
Socure Pass TriggeredThe system initiated the Socure Pass flow (consumer selected "Verify with Socure Pass").
Socure Pass Has DataThe consumer has valid stored verification data available for reuse.
DocV AcceptDocument verification was accepted (either via reuse or fresh DocV).

Enrichment results

Enrichment outputs are returned in the data.data_enrichments array.

FieldTypeDescriptionExample
enrichment_nameStringName of the enrichment executed as part of the evaluation."Socure DocV"
enrichment_endpointStringAPI endpoint used for the enrichment request."https://service.socure.com/api/5.0/documents/verify"
enrichment_providerStringProvider responsible for the enrichment."Socure"
status_codeIntegerHTTP status code returned by the enrichment provider.200
is_source_cacheBooleanWhether the enrichment result was served from cache.false
total_attemptsIntegerNumber of attempts made to complete the enrichment call.1
error_messageStringError detail returned by the provider, or an empty string on success.""
requestObjectPayload sent to the enrichment provider (often redacted in documentation examples).{ ... }
responseObjectEnrichment response payload. Contains a flow-specific result object — for example, documentVerification or secondaryDocument for DocV flows, or individual for Socure Pass.See the following response schemas.

documentVerification fields

FieldTypeDescriptionExample
reasonCodesArray of StringsList of rule or insight codes returned from DocV analysis. See the reason code list.["<reason_code>", "<reason_code>"]
documentTypeObjectDetails about the document type provided for verification.See documentType fields.
decisionObjectResult of the document verification analysis.See decision fields.
documentDataObjectParsed data extracted from the submitted document.See documentData fields.
👍

Tip:

reasonCodes are machine-readable flags that explain why a decision occurred (for example, data mismatches, capture issues, authenticity checks). They appear under data_enrichments.response.documentVerification.reasonCodes and are intended for routing, UX, and review workflows.

How to use them:

  • Drive resubmission UX (for example, prompt for glare removal if an image-quality code is present).
  • Route to manual review when authenticity or data-consistency codes indicate risk.
  • Log for audit and analytics.

The full catalog of reason codes and their descriptions is available in the reason code list.


documentType fields

FieldTypeDescriptionExample
typeStringHuman-readable document type. May return "Unknown" when the system doesn't support the document type or can't classify it."Drivers License"
countryStringCountry associated with the document type, in ISO 3166-1 alpha-2 format. May return "Unknown" when the country cannot be determined."US"
stateStringState/region associated with the document type. May return "Unknown" when the state cannot be determined."NY"
⚠️

Handle "Unknown" values:

The documentType fields (type, country, or state) may return "Unknown" instead of a specific value. This occurs when the uploaded document type isn't supported or when the system cannot confidently extract or classify the document information from the submitted images. Design your integration to handle "Unknown" values and avoid assuming these fields always contain a recognized document type or region.

Supported document types

These are the document types you may encounter in documentVerification.documentType and when configuring capture flows. Coverage and acceptance may vary by country and program.

Document typeDescription
Drivers LicenseA government-issued license permitting the consumer to operate a motor vehicle.
Identification CardA non-driver government-issued photo ID for verifying identity.
PassportAn official government document certifying identity and nationality, used for international travel.
Employment Authorization CardA document issued by USCIS that proves authorization to work in the U.S.
Permanent Resident CardA document (for example, U.S. Green Card) proving the consumer's lawful permanent resident status.
Passport CardA wallet-sized U.S. document used for land and sea travel between certain countries.
Military IDAn ID card issued by a country's armed forces to identify active-duty or retired service members.
Health CardAn ID card issued by a government or insurer to access health services.
VisaAn official endorsement permitting the consumer to enter, stay, or work in a foreign country.
Social Security CardA U.S. government-issued card showing the consumer's Social Security Number (SSN).
Weapons LicenseA document permitting the consumer to carry or own firearms or other regulated weapons.
Tribal ID CardA government-recognized identity card issued by a Native American or Indigenous tribe.
Mexican Permanent Resident CardAn identity document for foreign nationals authorized to live permanently in Mexico.
UnknownReturned when the document type is not supported or can't be confidently classified.

decision fields

📘

Recommendations only:

DocV responses are recommendations only. They inform your decision-making process and fit into your organization's broader risk strategy.

FieldTypeDescriptionExample
nameStringInternal label representing the configured decision rule set (for example, "lenient" or "strict")."lenient"
valueStringOutcome of the DocV analysis. One of:
accept — Images met validation criteria and were verified.
reject — Images failed some or all required validation criteria.
resubmit — User must resubmit due to unacceptable image quality or missing data.
review — Images did not meet configured criteria and should be manually reviewed. Returned only if enabled in your DocV Product Settings.
"reject"

documentData fields

The documentData object contains the data extracted from OCR, barcode, or MRZ.

📘

Missing documentData:

If DocV cannot extract sufficient information due to poor image quality or unreadable fields, the documentData object is not present, and the decision is resubmit.

FieldTypeDescriptionExample
personalNumberStringThe personal identifier value extracted from the ID, when applicable. Meaning and availability vary by country and document type, but it generally represents an identifier tied to the individual rather than the document itself (for example, a tax identification number or voter ID)."123456"
personalNumberTypeStringIndicates what the personal number represents. Supported values depend on the issuing country and document type."BRA_CPF"
firstNameStringFirst/given name parsed from the document."John"
surNameStringLast/family name parsed from the document."Smith"
fullNameStringFull name as printed on the document."John Smith"
addressStringSingle-line address string (as returned)."32194 N College Ave, New York City, NY 10001"
parsedAddressObjectStructured address parts extracted from address.See parsedAddress fields.
documentNumberStringDocument identifier/number."00000000"
dobStringDate of birth (YYYY-MM-DD)."1989-05-07"
issueDateStringDocument issue date (YYYY-MM-DD)."2021-01-12"
expirationDateStringDocument expiration date (YYYY-MM-DD)."2029-05-07"
barcodeObjectIdentity and license details parsed from the barcode of a government-issued ID.See barcode fields.

parsedAddress fields

FieldTypeDescriptionExample
physicalAddressStringPrimary street address (line 1) of the parsed location."32194 N College Ave"
physicalAddress2StringCombined city, state, and postal code as returned from parsing."New York City NY 10001"
cityStringCity component extracted from the parsed address."New York City"
stateStringState, province, or regional code component extracted from the address."NY"
countryStringISO 3166-1 alpha-2 country code associated with the parsed address."US"
zipStringPostal or ZIP code component extracted from the parsed address."10001"

barcode fields

FieldTypeDescriptionExample
firstNameStringThe individual's given or first name as encoded in the barcode."John"
middleNameStringThe individual's middle name or initial extracted from the barcode."Larry"
surNameStringThe individual's last name or family name as encoded in the barcode."Smith"
nameSuffixStringAny name suffix present, such as Jr., Sr., II, or III."JR"
complianceTypeStringCode representing the license's compliance type (for example, Federal or state)."F"
licenseClassStringThe class or category of license (for example, commercial, operator)."C"

Example standard Document Verification webhook payload

This example shows a complete evaluation_completed payload for the standard Document Verification path, with the documentVerification result nested under data.data_enrichments[].response.

{
  "event_id": "a4c92f1e-8b3d-4a17-9c5e-f2d8e7b61a03",
  "event_at": "2025-08-27T16:16:23.104744158Z",
  "event_type": "evaluation_completed",
  "data": {
    "id": "test-1245",
    "workflow": "consumer_onboarding",
    "eval_id": "8770e076-f568-48a9-8201-dca13087e592",
    "decision": "ACCEPT",
    "status": "CLOSED",
    "sub_status": "Approved",
    "tags": ["Document Verification Triggered", "DocV Accept"],
    "evaluation_status": "evaluation_completed",
    "review_queues": [],
    "data_enrichments": [
      {
        "enrichment_name": "Socure DocV",
        "enrichment_endpoint": "https://service.socure.com/api/5.0/documents/verify",
        "enrichment_provider": "Socure",
        "status_code": 200,
        "is_source_cache": false,
        "total_attempts": 1,
        "error_message": "",
        "request": {},
        "response": {
          "documentVerification": {
            "reasonCodes": ["<reason_code>", "<reason_code>"],
            "documentType": {
              "type": "Drivers License",
              "country": "US",
              "state": "NY"
            },
            "decision": {
              "name": "lenient",
              "value": "accept"
            },
            "documentData": {
              "firstName": "John",
              "surName": "Smith",
              "fullName": "John Smith",
              "dob": "1989-05-07",
              "address": "32194 N College Ave, New York City, NY 10001",
              "parsedAddress": {
                "physicalAddress": "32194 N College Ave",
                "physicalAddress2": "New York City NY 10001",
                "city": "New York City",
                "state": "NY",
                "country": "US",
                "zip": "10001"
              },
              "documentNumber": "00000000",
              "issueDate": "2021-01-12",
              "expirationDate": "2029-05-07"
            }
          }
        }
      }
    ]
  }
}

secondaryDocument fields

When the evaluation runs a Secondary Document Capture flow, the result is nested under data_enrichments[].response.secondaryDocument instead of documentVerification.

FieldTypeDescriptionExample
transactionGroupIdStringIdentifier linking related document transactions. May be null."2b74fe41-bf69-484a-82c7"
decisionObjectResult of the secondary document analysis.See secondaryDocument.decision fields.
reasonCodesArray of StringsRule or insight codes explaining the result.See the reason code list.
documentsArray of ObjectsOne entry per uploaded document, with capture metadata.See documents fields.
documentObjectParsed details for a single secondary document, when extraction is available. May be null.See document fields.
digitalIntelligenceObjectDevice risk signals collected during capture. May be null.{ ... }
signalsObjectAdditional DocV signal data. May be null.{ ... }

secondaryDocument.decision fields

FieldTypeDescriptionExample
strategyStringConfigured decision rule set applied to the secondary document."lenient"
valueStringOutcome of the analysis. One of accept, reject, resubmit, or review."accept"

documents fields

Each object in the documents array describes one uploaded file.

FieldTypeDescriptionExample
typeStringDocument type label configured for the flow."Utility Bill"
namesArray of StringsNames detected on the document, when available.["Jane Doe"]
uploadedAtStringTimestamp when the document was uploaded."2026-05-01T12:34:56Z"
uploadsStringReference to the uploaded file or files. May be null."upload-7f2a"

document fields

The document object contains parsed data extracted from a single secondary document.

FieldTypeDescriptionExample
documentTypeStringType of the secondary document."Utility Bill"
namesArray of StringsNames parsed from the document.["Jane Doe"]
uploadedAtStringTimestamp when the document was uploaded."2026-05-01T12:34:56Z"
userDataObjectIdentity data extracted from the document. May be null.See document.userData fields.
documentDataObjectAdditional key-value data extracted from the document. Keys vary by document type.{ "accountNumber": "1234" }

document.userData fields
FieldTypeDescriptionExample
firstNameStringFirst/given name extracted from the document."Jane"
surNameStringLast/family name extracted from the document."Doe"
fullNameStringFull name as printed on the document."Jane Doe"
dobStringDate of birth (YYYY-MM-DD)."2000-05-01"
addressStringSingle-line address string."463 Mertz Motorway, Port Spencer, OH 65036"
parsedAddressObjectStructured address parts. Uses the same fields as the parsedAddress object documented above.See parsedAddress fields.

Socure Pass enrichment results

Enrichment outputs are returned in the data_enrichments array. The response shape depends on which path the consumer took:

  • Socure Pass path: A single SocurePass enrichment containing the stored verified identity data.
  • Standard DocV path: Two enrichments: SocureDocRequest (session metadata) and Socure (document verification results).
📘

Handle both response shapes:

The webhook payload differs depending on which path the consumer takes. If the consumer selects "Verify with Socure Pass," the enrichment comes from the SocurePass provider. If the consumer selects "Continue with Standard Verification," the enrichment comes from the standard Document Verification provider. Your integration must handle both response shapes.


How to determine which path the consumer took

Check the tags array or enrichment_provider field:

SignalSocure Pass pathStandard DocV path
tags contains "Socure Pass Triggered"YesNo
enrichment_provider"SocurePass""Socure" / "SocureDocRequest"
Verified data locationdata_enrichments[].response.individualdata_enrichments[].response.documentVerification.documentData

Socure Pass enrichment (reuse path)

FieldTypeDescriptionExample
enrichment_nameStringName of the enrichment executed as part of the evaluation."Socure Pass"
enrichment_endpointStringAPI endpoint used for the enrichment request."https://reusable-id-sandbox.webapps.us-east-1.prod.socure.link/api/proof"
enrichment_providerStringProvider responsible for the enrichment."SocurePass"
status_codeIntegerHTTP status code returned by the enrichment provider.200
requestObjectIdentifiers sent to the Socure Pass service to retrieve verified claims.See the request fields in the following sections.
responseObjectEnrichment response payload containing verified identity data.See the response.individual fields in the following sections.
is_source_cacheBooleanWhether the enrichment result was served from cache.false
total_attemptsIntegerNumber of attempts made to complete the enrichment call.1
error_messageStringError detail returned by the provider, or an empty string on success.""

Example Socure Pass webhook payload

{
  "enrichment_name": "Socure Pass",
  "enrichment_endpoint": "https://reusable-id-sandbox.webapps.us-east-1.prod.socure.link/api/proof",
  "enrichment_provider": "SocurePass",
  "status_code": 200,
  "request": {
    "account_id": "acc-ucrmplxHmx",
    "consent_id": "01KR4PQH6MRJ3RFXAHFF4MVECW",
    "eval_id": "2b74fe41-bf69-484a-82c7-4630f5846fa6"
  },
  "response": {
    "individual": {
      "address": {
        "city": "Port Spencer",
        "country": "USA",
        "line_1": "463 Mertz Motorway",
        "postal_code": "65036",
        "state": "OH"
      },
      "date_of_birth": "2000-05-01",
      "family_name": "Doe",
      "given_name": "Jane",
      "identification_documents": {
        "expiry_date": "2099-01-01",
        "issued_date": "2015-01-01",
        "issuing_country": "USA",
        "issuing_state": "NY",
        "number": "123456789",
        "type": "Drivers License"
      }
    },
    "request_id": "59762fc4-302b-9458-9b1b-2844f4c92791"
  },
  "is_source_cache": false,
  "total_attempts": 1
}

Enrichment request fields

The Socure Pass enrichment sends three identifiers to retrieve the consumer's verified claims.

FieldTypeDescriptionExample
account_idStringPartner account identifier."acc-ucrmplxHmx"
consent_idStringThe consent record from the consumer's approval."01KR4PQH6MRJ3RFXAHFF4MVECW"
eval_idStringThe current RiskOS™ evaluation ID."2b74fe41-bf69-484a-82c7-4630f5846fa6"

Enrichment response fields

FieldTypeDescriptionExample
request_idStringUnique identifier for the enrichment request."59762fc4-302b-9458-9b1b-2844f4c92791"
individualObjectThe verified identity data the consumer consented to share.See the response.individual fields in the following section.

response.individual fields

FieldTypeDescriptionExample
given_nameStringFirst/given name from the verified document."Jane"
family_nameStringLast/family name from the verified document."Doe"
date_of_birthStringDate of birth (YYYY-MM-DD)."2000-05-01"
addressObjectStructured address from the verified document.See address fields in the following section.
identification_documentsObjectDocument details from the verified credential.See the identification_documents fields in the following section.

address fields (Socure Pass)

FieldTypeDescriptionExample
line_1StringPrimary street address."463 Mertz Motorway"
cityStringCity."Port Spencer"
stateStringState or region code."OH"
postal_codeStringPostal or ZIP code."65036"
countryStringCountry code."USA"

identification_documents fields

FieldTypeDescriptionExample
typeStringDocument type verified."Drivers License"
numberStringDocument identifier/number."123456789"
issuing_countryStringCountry that issued the document."USA"
issuing_stateStringState that issued the document."NY"
issued_dateStringDocument issue date (YYYY-MM-DD)."2015-01-01"
expiry_dateStringDocument expiration date (YYYY-MM-DD)."2099-01-01"

identification_documents.type uses the same values listed under Supported document types in the documentType fields section. Socure Pass commonly returns Drivers License, Identification Card, Passport, or Passport Card.

The Socure Pass session identifiers (data.custom) and the Socure Pass tags (data.tags) are top-level data fields, documented under Payload structure.


Related references