DocV API Integration

Learn how to call the RiskOS™ Evaluation API for identity verification with Predictive DocV (DocV).

Before you start

Make sure your RiskOS™ environment is provisioned with:

A workflow configured for any of the DocV enrichments.
Regional support coverage for the DocV enrichment.

Postman Collection

The following Postman collection can be used to test the DocV enrichment with the Evaluation endpoint.



Choose your environment

Start with Sandbox for development and testing, then move to Production for live applications.

https://riskos.sandbox.socure.com/api/evaluation
  • No real customer data
  • Free testing environment
  • Unlimited API calls

Get an API key

  1. In the Sandbox RiskOS™ Dashboard, go to Developer Workbench > API Keys.
  2. Copy your API key securely.


How it works

  1. Send a POST request to the /api/evaluation endpoint with the required identity data and a device session token (from the Digital Intelligence SDK).
  2. Socure runs the request through your configured RiskOS™ workflow with the DocV enrichment. The system generates a transaction and provides a link or token for the user to complete the document and selfie capture process via the DocV Capture App (web or mobile).
  3. The user is guided through capturing and uploading images of their government-issued ID and a selfie. The Capture App validates image quality and uploads the images to Socure for verification.
  4. DocV is asynchronous. You must either retrieve the evaluation result using a GET request to /api/evaluation/{eval_id} or subscribe to webhook notifications to receive real-time updates when the DocV step is completed (for example, ACCEPT, REJECT, or additional action required).
  5. Once verification is complete, you receive the final evaluation result, including the DocV decision and any enriched identity data. Use this information to approve, reject, or further review the user, and to auto-populate forms or accelerate your onboarding workflow.

Start a new evaluation

Endpoint

POST https://riskos.sandbox.socure.com/api/evaluation
POST https://riskos.socure.com/api/evaluation

Authentication and headers

Include your API key in the Authorization header as a Bearer token, along with standard JSON headers:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json
X-API-Version: 2025-01-01.orion   # optional – pins a specific API version

Example request

{
  "id": "APP-123456",
  "timestamp": "2025-07-31T15:00:10.761Z",
  "workflow": "consumer_onboarding",
  "data": {
    "individual": {
      "given_name": "John",
      "family_name": "Smith",
      "date_of_birth": "1989-05-07",
      "phone_number": "+19998887777",
      "address": {
        "line_1": "1234 N College Ave",
        "locality": "New York City",
        "major_admin_division": "NY",
        "country": "US",
        "postal_code": "10001"
      },
      "docv": {
        "config": {
          "document_type": "license",
          "send_message": true,
          "language": "en-us",
          "redirect": {
            "method": "POST",
            "url": "https://example.com/docv"
          }
        }
      }
    }
  }
}
curl --location --request POST 'https://riskos.sandbox.socure.com/api/evaluation' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --data-raw '{
    "id": "APP-123456",
    "timestamp": "2025-07-31T15:00:10.761Z",
    "workflow": "consumer_onboarding",
    "data": {
      "individual": {
        "given_name": "John",
        "family_name": "Smith",
        "date_of_birth": "1989-05-07",
        "phone_number": "+19998887777",
        "address": {
          "line_1": "1234 N College Ave",
          "locality": "New York City",
          "major_admin_division": "NY",
          "country": "US",
          "postal_code": "10001"
        },
        "docv": {
          "config": {
            "document_type": "license",
            "send_message": true,
            "language": "en-us",
            "redirect": {
              "method": "POST",
              "url": "https://example.com/docv"
            }
          }
        }
      }
    }
  }'

Request schema

Top-level fields

Field

Type

Required

Description

Example

id

String

Required

Required, customer-defined unique identifier for the request.

This value must be unique for each evaluation. Reusing an ID causes RiskOS™ to treat the request as a re-run and can impact processing behavior, results, and downstream workflows.

"APP-123456"

timestamp

String

Required

Timestamp when evaluation was initiated.

"2025-07-31T15:00:10.761Z"

workflow

String

Required

RiskOS™ workflow name.

Note: The workflow name must be unique within your RiskOS™ environment. It is not scoped by use case and must identify a single active workflow for each Evaluation API request.

"consumer_onboarding"

data

Object

Required

Primary payload container.

individual

Object

Optional (Recommended)

Primary identity object containing individual's information.

See individual schema below.


individual fields

While not required, including personally identifiable information (PII) is strongly encouraged. Providing PII supports consent audits and consumer data requests, and it also improves match accuracy and overall verification performance.

FieldTypeRequiredDescriptionExample
given_nameStringOptional (Recommended)First name"John"
family_nameStringOptional (Recommended)Last name"Smith"
date_of_birthStringOptional (Recommended)Date of birth (YYYY-MM-DD)"1989-05-07"
phone_numberStringOptional (Recommended)Phone number in E.164 format. The API expects the standard E.164 format but tolerates hyphens and spaces for user convenience."+19998887777"
addressObjectOptional (Recommended)Consumer addressSee address schema below.
docvObjectConditionalDocV configuration and capture settingsSee docv schema below.
additional_contextObjectOptionalPasses additional data required by specific Socure products.See additional_context schema below.

address fields

FieldTypeRequiredDescriptionExample
line_1StringOptional (Recommended)Street address line 1"1234 N College Ave"
line_2StringOptionalStreet address line 2"Apt 3C"
localityStringOptional (Recommended)City"New York City"
major_admin_divisionStringOptional (Recommended)State/province or region (ISO 3166-2)"NY"
postal_codeStringOptional (Recommended)ZIP or postal code"10001"
countryStringOptional (Recommended)ISO 3166-1 alpha-2 country code"US"

docv fields

FieldTypeRequiredDescriptionExample
transaction_tokenStringConditionalThe transaction token from the Document Request API response (v5). Use this if integrated with Socure's DocV solution."1e89eec0-f7a3-4210-b74b-a76bc9556c50"
configObjectOptionalConfiguration options controlling Capture App behavior and document verification flow for a given transaction.See config schema below.
send_messageBooleanOptionalSet to true to send an SMS to the provided phone number with the document request URL. Defaults to false.

- US & Canada: sent from short code 33436
- Other countries: sent from +1 (510) 330-19xx
true
languageStringOptionalDetermines Capture App UI language. Defaults to en-us."en-us"
use_case_keyStringOptionalDeploys a specific Capture App flow created in RiskOS™. Defaults to the account’s default flow or the flow configured in the RiskOS™ workflow."default_capture_flow"
redirectObjectOptionalObject containing post-capture redirect behavior.See redirect schema below.
redirect.methodStringConditionalRequired if redirect is provided. Accepts GET or POST."POST"
redirect.urlStringConditionalRequired if redirect is provided. The destination URL to send the consumer after capture. Can include query strings for transaction tracking."https://example.com/docv"
document_typeStringOptionalRestrict to a single document type (license or passport) for a simplified flow. Users skip the document type selection screen when passed."license"
transaction_tokenStringOptionalUsed primarily in Sandbox testing to indicate the expected decision outcome. Required when simulating test results."sandbox-simulated-pass"

additional_context fields

FieldTypeRequiredDescriptionExample
driver_licenseStringOptionalDriver’s license number."D1234567"
driver_license_stateStringOptionalTwo-letter issuing state code."NY"
previous_reference_idString (UUID)ConditionalReference to a prior evaluation. Required when using the Selfie Reverification enrichment.738508b3-0dee-4302-ba8f-ba90b454ba

1. Workflow paused — Handoff details

Example Response

This response is returned when the workflow reaches Document Request. Use the URL/QR/token to launch the Capture App and hand the user off to DocV.

📘

How it works:

  • data_enrichments.response.data.urlCapture App link
  • data_enrichments.response.data.qrCodeBase64 PNG for QR handoff
  • data_enrichments.response.data.docvTransactionTokentransaction token (store for later correlation)
  • status: "ON_HOLD" / eval_status: "evaluation_paused" → the workflow is paused waiting for user capture
{
  "id": "APP-123456",
  "workflow": "consumer_onboarding",
  "workflow_id": "7164c67b-293d-44cb-816d-8f5478ea070c",
  "workflow_version": "2.10.0",
  "eval_source": "API",
  "eval_id": "d48bcc0e-ab3c-43a4-b03e-67208458ec62",
  "eval_start_time": "2025-08-25T18:55:25.061977405Z",
  "eval_end_time": "2025-08-25T18:55:25.687337879Z",
  "decision": "REVIEW",
  "decision_at": "2025-08-25T18:55:25.687347933Z",
  "status": "ON_HOLD",
  "sub_status": "",
  "tags": [],
  "notes": "",
  "review_queues": ["Default Queue"],
  "data_enrichments": [
    {
      "enrichment_name": "Socure Document Request - Default Flow",
      "enrichment_endpoint": "https://service.socure.com/api/5.0/documents/request",
      "enrichment_provider": "SocureDocRequest",
      "status_code": 200,
      "request": {
        "city": "New York City",
        "config": {
          "documentType": "license",
          "language": "en-us",
          "redirect": {
            "method": "POST",
            "url": "https://example.com/docv"
          },
          "sendMessage": true
        },
        "country": "US",
        "dob": "1989-05-07",
        "firstName": "John",
        "mobileNumber": "+1999888777",
        "physicalAddress": "1234 N College Ave",
        "state": "NY",
        "surName": "Smith",
        "zip": "10001"
      },
      "response": {
        "data": {
          "docvTransactionToken": "1e89eec0-f7a3-4210-b74b-a76bc9556c50",
          "eventId": "1e89eec0-f7a3-4210-b74b-a76bc9556c50",
          "qrCode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZoAAAGaCAIAAAC5ZBI0AAALlklE... (truncated)",
          "url": "https://verify.socure.com/#/dv/1e89eec0-f7a3-4210-b74b-a76bc9556c50"
        },
        "referenceId": "3639f9ad-e1fe-4e3e-9202-18faf20ace56"
      },
      "is_source_cache": false,
      "total_attempts": 1
    }
  ],
  "eval_status": "evaluation_paused",
  "environment_name": "Sandbox"
}

Response schema

Top-level fields

FieldTypeDescriptionExample
idStringYour original request id, echoed back in the response."DOCV-CASE-001234"
eval_idString (UUID)Internally generated for each evaluation run and required for GET and PATCH requests in RiskOS™."e5c3b4b2-9e0f-44f2-9c6f-0a3a5f2b7b61"
decisionString (enum)Final decision — PASS, REVIEW, or FAIL."PASS"
statusString (enum)Case status in RiskOS™ — OPEN, CLOSED, or ON_HOLD."CLOSED"
sub_statusStringWorkflow-specific sub-status."DocV Passed"
decision_atString <Date-Time>RFC 3339 timestamp when the decision was made."2025-10-21T17:41:59Z"
tagsArray of StringsLabels explaining the decision.
review_queuesArray of StringsRouting queues for manual review.
data_enrichmentsArray of ObjectsDetailed enrichment call results.See data_enrichments

data_enrichments fields

FieldTypeDescriptionExample
enrichment_nameStringName of the enrichment product."Socure DocV"
enrichment_endpointStringAPI endpoint used for enrichment.
enrichment_providerStringProvider of the enrichment."Socure"
status_codeIntegerHTTP status code of the enrichment call.200
requestObjectPayload sent to the enrichment provider.See request schema
responseObjectResponse payload returned by the provider.See response schema
is_source_cacheBooleanIndicates the enrichment response was cached.
total_attemptsIntegerNumber of attempts for this enrichment call.

request fields

FieldTypeDescriptionExample
countryStringCountry code in ISO 3166-1 alpha-2 format (e.g., US, CA, GB)."US"
firstNameStringConsumer’s given name (first name)."John"
surNameStringConsumer’s family name (last name)."Smith"
nationalIdStringGovernment-issued identifier (e.g., SSN in the U.S. or national ID in other countries)."136582341"
dobString (YYYY-MM-DD)Consumer’s date of birth in YYYY-MM-DD format."1989-05-07"
streetAddressStringStreet address line of the consumer’s residence."1234 N College Ave"
cityStringCity of the consumer’s residence."New York City"
stateStringState, province, or region of the consumer’s residence."NY"
zipStringPostal or ZIP code of the consumer’s residence."10001"
ipAddressStringIP address (IPv4 or IPv6) observed during the consumer’s session."203.0.113.42"
phoneStringConsumer’s phone number in E.164 format (e.g., +13475550100)."+19998887777"
emailStringConsumer’s email address."[email protected]"

response fields

FieldTypeDescription
referenceIdString (UUID)Unique identifier assigned to each enrichment after a RiskOS™ workflow is finalized.
dataObjectContains metadata and assets returned from a document verification (DocV) enrichment.
urlString (URL)Capture App link for document capture.
qrCodeStringBase64-encoded PNG image for QR handoff.
docvTransactionTokenStringDocument verification transaction token (store for later correlation).

2. Post‑verification — completed with DocV results

This response is returned after the user completes the Capture App process and the workflow finishes all remaining steps. You can receive it in two ways:

  • Webhook (recommended) — subscribe to the evaluation_completed event. RiskOS™ pushes the result to your endpoint as soon as verification finishes. See DocV Webhooks for payload examples and setup instructions.
  • GET request — poll or fetch the result on demand using the evaluation ID returned in the initial response.

Retrieve results with a GET request

Send a GET request to /api/evaluation/{eval_id} with your API key:

curl -X GET "https://riskos.socure.com/api/evaluation/{eval_id}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Replace {eval_id} with the eval_id value from the initial POST response (see section 1). The response contains the DocV enrichment with reason codes, extracted data, and the DocV decision.

📘

Key fields in the response:

  • data_enrichments.response.documentVerification.decision.valueDocV result (accept, review, resubmit, reject)
  • data_enrichments.response.documentVerification.reasonCodesexplanations/flags
  • data_enrichments.response.documentVerification.documentDataextracted fields (e.g., DOB, document number)
  • Top‑level decision + routing metadata → use for your workflow handling and for the overall workflow decision

Example response

When you call the Evaluation API, RiskOS™ returns a JSON payload that includes the final decision, evaluation metadata, and enrichment-specific results.

{
  "id": "APP-123456",
  "eval_id": "6dc8f39c-ecc3-4fe0-9283-fc8e5f99e816",
  "decision": "REVIEW",
  "tags": [],
  "review_queues": [],
  "data_enrichments": [
    {
      "enrichment_name": "Socure DocV",
      "enrichment_endpoint": "https://sandbox.dev.socure.com/api/3.0/EmailAuthScore",
      "enrichment_provider": "Socure",
      "status_code": 200,
      "request": { ... },
      "response": {
        "referenceId": "a1234b56-e789-0123-4fga-56b7c890d123",
        "documentVerification": {
          "reasonCodes": [
            "I834",
            "I823",
            "I826",
            "I845",
            "I820",
            "R831",
            "I838",
            "R836",
            "I824",
            "I822"
          ],
          "documentType": {
            "type": "Drivers License",
            "country": "USA",
            "state": "NY"
          },
          "decision": {
            "name": "standard",
            "value": "reject"
          },
          "documentData": {
            "firstName": "John",
            "surName": "Smith",
            "fullName": "John Smith",
            "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",
            "dob": "1989-05-07",
            "issueDate": "2021-01-12",
            "expirationDate": "2029-05-07",
            "barcode": {
              "firstName": "John",
              "surName": "Smith",
              "complianceType": "F",
              "licenseClass": "C"
            }
          }
        }
      }
    }
  ]
}

Key response fields

RiskOS™ returns a consistent set of top-level fields that describe the outcome of an evaluation, along with enrichment-specific results that depend on your workflow configuration.


Where to find specific results

AreaFieldsHow to use it
Decision and routingdecision, decision_at, tags, review_queues, notes, scorePrimary control signals. Branch application logic using decision. Use tags, queues, notes, and score for secondary routing, review, and explanation.
Module resultsModule-specific fields (for example: reasonCodes, scores, extracted attributes)Evidence and signals produced by workflow modules. Use for escalation, compliance review, investigation, and audit.
Identifiers and traceabilityid, eval_idPersist these identifiers to correlate API calls, logs, webhooks, GET requests, and support cases.
Enrichment executiondata_enrichments[] (response, status_code, total_attempts, is_source_cache)Inspect enrichment outputs and detect provisioning issues, partial failures, retries, or cached responses.
Workflow contextworkflow, workflow_id, workflow_versionUnderstand which workflow ran and which version produced the result. Useful for debugging and historical analysis.
Evaluation lifecycleeval_status, status, sub_statusExecution and case state only. Useful for monitoring and asynchronous workflows. Do not use for business decisions.
Execution contexteval_source, eval_start_time, eval_end_time, environment_nameObservability and performance metadata for latency tracking, environment validation, and API vs Dashboard attribution.

Decision and routing (primary control signals)

Use these fields to determine what action your application should take.

decision values are workflow-specific and may differ from the examples shown in this guide.

FieldTypeDescriptionExample
decisionString (enum)Final evaluation result.

Possible values:
ACCEPT
REVIEW
REJECT

Note: The fields returned can be customized to fit your integration or business needs.
"REVIEW"
decision_atString <Date-Time>RFC 3339 timestamp when the decision was finalized."2025-10-18T14:09:22.641Z"
scoreNumberIf configured for a workflow, provides an aggregate score of all steps. This can be used for risk banding, additional routing, or analytics alongside the primary decision value.0.63
tagsArray of StringsArray of labels applied during the workflow to highlight routing choices, notable signals, or rule outcomes. Useful for reporting, segmentation, or UI highlighting in the RiskOS™ Dashboard.[]
review_queuesArray of StringsLists any manual review queues the evaluation was sent to. Empty when the case is fully auto-resolved without human review.[]
notesStringFreeform text field for analyst or system comments about the evaluation. Often used to capture manual review rationale or investigation context."Manual review recommended based on risk signals"

Evaluation lifecycle and status

These fields describe where the evaluation is in its lifecycle and are useful for monitoring and asynchronous workflows.

FieldTypeDescriptionExample
eval_statusString (enum)Indicates the current state of an evaluation in RiskOS™.

Possible values:
evaluation_completed
evaluation_paused
evaluation_in_progress
"evaluation_completed"
statusString (enum)Indicates the current state of an evaluation or case.

Possible values:
OPEN
CLOSED
"CLOSED"
sub_statusStringProvides additional detail about the evaluation status.

Example values:
Under Review
Pending Verification
Accept
Reject
"Under Review"

Identifiers and traceability

Use these fields to correlate requests, logs, webhooks, and support cases.

FieldTypeDescriptionExample
idString (UUID or custom string)Your evaluation identifier within RiskOS™.

Note: This is customer-generated.
"APP-123456"
eval_idString (UUID)RiskOS™-generated unique identifier for the evaluation."6dc8f39c-ecc3-4fe0-9283-fc8e5f99e816"
workflow_idString (UUID)Unique identifier for the workflow run."dc7f261e-b158-477e-9770-7e4eae066156"
workflow_versionStringVersion of the executed workflow."28.16.0"

Execution context

These fields provide timing and environment context for the evaluation.

FieldTypeDescriptionExample
eval_sourceString enumIndicates where the evaluation was initiated from.

Possible values:
API: Request submitted via the Evaluation API.
Dashboard: Case created or evaluated through the RiskOS™ Dashboard.
"API"
eval_start_timeString <Date-Time>RFC 3339 timestamp for when RiskOS™ started processing the evaluation. Useful for latency and performance monitoring."2025-10-07T23:50:03.60187976Z"
eval_end_timeString <Date-Time>RFC 3339 timestamp for when RiskOS™ finished processing the evaluation. Can be paired with eval_start_time to compute total processing time."2025-10-07T23:50:03.738794253Z"
environment_nameStringIndicates which environment the evaluation ran in. Typically Sandbox for testing or Production for live traffic."Sandbox"

Enrichment results

Enrichment outputs are returned in the 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://sandbox.dev.socure.com
/api/3.0/DocumentVerification"
enrichment_providerStringProvider responsible for the enrichment."Socure"
status_codeIntegerHTTP status code returned by the enrichment provider.200
requestObjectPayload sent to the enrichment provider (often redacted in documentation examples).{ ... }
responseObjectEnrichment response payload. Contains documentVerification for standard DocV or individual for Socure Pass.See response schemas below.

documentVerification fields

FieldTypeDescriptionExample
reasonCodesArray of StringsList of rule or insight codes returned from DocV analysis.["I834","I823","I826","I845","I820"]
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 (e.g., data mismatches, capture issues, authenticity checks). They appear under the DocV enrichment response and are intended for routing, UX, and review workflows.

Where you’ll see them

  • data_enrichments.response.documentVerification.reasonCodes

How to use them

  • Drive resubmission UX (e.g., 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 your Socure documentation/console or in the reason code list.


documentType

FieldTypeDescriptionExample
typeStringHuman-readable document type. May return "Unknown" when the document type is unsupported or cannot be classified."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"
⚠️

Important:

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 is unable to 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

Below 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 (e.g., 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

📘

Note:

DocV responses are recommendations only. They are intended to inform your decisioning process and should be integrated into your organization’s broader risk strategy.

FieldTypeDescriptionExample
nameStringInternal label representing the configured decision rule set (e.g., "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

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

📘

Note:

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

Field

Type

Description

Example

personalNumber

String

The personal identifier value extracted from the ID, when applicable.

Note: The meaning and availability of this value 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"

personalNumberType

String

Indicates what the personal number represents. Supported values depend on the issuing country and document type.

BRA_CPF

firstName

String

First/given name parsed from the document.

"John"

surName

String

Last/family name parsed from the document.

"Smith"

fullName

String

Full name as printed on the document.

"John Smith"

address

String

Single-line address string (as returned).

"32194 N College Ave, New York City, NY 10001"

parsedAddress

Object

Structured address parts extracted from address.

See parsedAddress fields

documentNumber

String

Document identifier/number.

"00000000"

dob

String

Date of birth (YYYY-MM-DD).

"1989-05-07"

issueDate

String

Document issue date (YYYY-MM-DD).

"2021-01-12"

expirationDate

String

Document expiration date (YYYY-MM-DD).

"2029-05-07"

barcode

Object

Contains identity 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 (e.g., Federal or state)."F"
licenseClassStringThe class or category of license (e.g., commercial, operator, etc.)."C"


Socure Pass enrichment results

Enrichment outputs are returned in the data_enrichments array. The response shape depends on which path the user 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).
📘

Important: The webhook payload differs depending on which path the user takes. If the user selects "Verify with Socure Pass," the enrichment comes from the SocurePass provider. If the user 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 user 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 request fields below.
responseObjectEnrichment response payload containing verified identity data.See response.individual schema below.
is_source_cacheBooleanWhether the enrichment result was served from cache.false
total_attemptsIntegerNumber of attempts made to complete the enrichment call.1

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 user's verified claims.

FieldTypeDescriptionExample
account_idStringPartner account identifier."acc-ucrmplxHmx"
consent_idStringThe consent record from the user'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 user consented to share.See fields below.

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 below.
identification_documentsObjectDocument details from the verified credential.See identification_documents fields below.

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"

Supported document types

Below are the document types you may encounter in identification_documents.type. 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.
Passport CardA wallet-sized U.S. document used for land and sea travel between certain countries.

data.custom fields

The data.custom object contains Socure Pass session identifiers for traceability and audit.

FieldTypeDescriptionExample
consent_idStringUnique consent record for this session. Ties the disclosure to the user'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 user's Socure Pass identifier (internal)."01KQZCSS0TDXKGSBVE9E9J3W1C"

Socure Pass tags

RiskOS™ evaluations involving Socure Pass include these tags for filtering and reporting:

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