Integration Guide

Learn how to call the RiskOS™ Evaluation API for identity verification with Sigma Identity Fraud.

Sigma Identity Fraud API integration guide

This guide walks you through how to integrate with Socure’s /api/evaluation endpoint using the Sigma Identity Fraud enrichment. You’ll learn how to send identity data, parse the response, and apply decision logic to support onboarding, trust and safety, fraud prevention, or compliance workflows.


Before you start

Make sure your RiskOS™ environment is provisioned with:

A workflow configured for the Sigma Identity Fraud enrichment.

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 /api/evaluation with identity data.
  2. Socure runs the request through configured RiskOS™ workflow with tailored enrichments.
  3. Receive a decision (ACCEPT, REVIEW, or REJECT) and supporting metadata.
  4. Apply your routing logic based on the result.


Start a new Risk 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

📘

Note:

Do not pass placeholder or dummy values for any of these fields when you are not able to collect them from the end-user. Passing such values will lead to reduced accuracy and can impact future predictions. If you are not able to collect a field value from the consumer, pass null for that field.

{
  "id": "APP-123456",
  "timestamp": "2022-07-28T06:10:54.298Z",
  "workflow": "consumer_onboarding",
  "data": {
    "individual": {
      "given_name": "Shannon",
      "family_name": "Zhao",
      "national_id": "123456789",
      "date_of_birth": "1958-01-31",
      "email": "[email protected]",
      "phone_number": "+13475551234",
      "address": {
        "line_1": "234 Main Street",
        "line_2": "Apt. 3C",
        "locality": "Jersey City",
        "major_admin_division": "NJ",
        "country": "US",
        "postal_code": "07307"
      }
    },
    "ip_address": "10.10.10.10"
  }
}
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": "2022-07-28T06:10:54.298Z",
    "workflow": "consumer_onboarding",
    "data": {
      "individual": {
        "given_name": "Shannon",
        "family_name": "Zhao",
        "national_id": "123456789",
        "date_of_birth": "1958-01-31",
        "email": "[email protected]",
        "phone_number": "+13475551234",
        "address": {
          "line_1": "234 Main Street",
          "line_2": "Apt. 3C",
          "locality": "Jersey City",
          "major_admin_division": "NJ",
          "country": "US",
          "postal_code": "07307"
        }
      },
      "ip_address": "10.10.10.10"
    }
  }'

Request schema

Top-level fields

📘

Note:

The Sigma Identity Fraud product makes use of multiple input fields to determine both the score and reason codes. For the highest accuracy and performance all these fields should be collected and passed in the input, however the product will still work when select fields are not provided.

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

ISO 8601 timestamp indicating when the evaluation request was initiated.

"2022-07-28T06:10:54.298Z"

workflow

String

Required

Name of the RiskOS™ workflow configured in your environment.

"consumer_onboarding"

data

Object

Required

Main payload containing individual and contextual information for evaluation.

individual

Object

Required

Primary identity object containing personal and address details.

See individual schema below.

ip_address

String

Optional (Recommended)

IP address from which the consumer is accessing your services.

"10.10.10.10"


individual fields

FieldTypeRequiredDescriptionExample
given_nameStringRequiredThe consumer’s first name."Shannon"
family_nameStringRequiredThe consumer’s last name."Zhao"
national_idStringOptional (Recommended)The consumer’s 9-digit SSN or ITIN. Hyphens are optional."123456789"
date_of_birthStringOptional (Recommended)The consumer’s date of birth in YYYY-MM-DD, YYYY/MM/DD, or YYYYMMDD."1958-01-31"
emailStringRequired if neither phone_number nor address.line_1 and address.postal_code are passed.The consumer’s email address."[email protected]"
phone_numberStringRequired if neither email nor address.line_1 and address.postal_code are passed.The consumer’s phone number in E.164 format (hyphens optional)."+13475551234"
addressObjectRequired if neither email nor phone_number is passed (must include line_1 and postal_code).Structured address object containing residential or mailing details.See address schema below.
di_session_tokenStringOptional (Recommended)Token required to extract Device Intelligence (DI) signals."eyJ0eXAiOiJKV
1QiLCJhbGciOi..."`

address fields

FieldTypeRequiredDescriptionExample
line_1StringRequired if neither email nor phone_number is passed and must be accompanied by postal_code.The first line of the consumer’s address."234 Main Street"
line_2StringOptional (Recommended)Second line of the address, such as apartment, suite, or unit number."Apt. 3C"
localityStringOptional (Recommended)City or locality where the consumer resides."Jersey City"
major_admin_divisionStringOptional (Recommended)State, province, or major administrative division in ISO 3166-2 format."NJ"
postal_codeStringRequired if neither email nor phone_number is passed and must be accompanied by line_1.The consumer’s ZIP or postal code (5- or 9-digit format, hyphens optional)."07307"
countryStringRequiredThe consumer’s country of residence in ISO 3166-1 alpha-2 format."US"

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 Sigma Identity Fraud",
      "enrichment_endpoint": "https://service.socure.com/api/3.0/EmailAuthScore",
      "enrichment_provider": "Socure",
      "status_code": 200,
      "request": {
        // ...
      },
      "response": {
        "referenceId": "f3863a33-69ca-43c2-90e0-8b4344a41a09",
        "fraud": {
          "reasonCodes": [
            "R617",
            "R613",
            "I625",
            "R705",
            "I614",
            "R703",
            "R551",
            "R563",
            "R611"
          ],
          "scores": [
            {
              "name": "sigma",
              "version": "4.0",
              "score": 0.957
            }
          ]
        }
      }
    }
  ]
}

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."2024-12-02T10:29:10.999Z"
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.-76
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.["account ta", "high risk"]
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.""

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
"Reject"

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"
workflowStringName of the workflow executed."consumer_onboarding"
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 service used in the evaluation."Socure Sigma Identity Fraud"
enrichment_endpointString (URL)Endpoint URL where the enrichment request was made."https://service.socure.com
/api/3.0/EmailAuthScore"
enrichment_providerStringProvider or source of the enrichment data."Socure"
status_codeIntegerHTTP response code returned from the enrichment API call.200
requestObjectRequest payload sent to the enrichment endpoint.See request schema below.
responseObjectResponse payload returned from the enrichment endpoint.See response schema below.

request fields

FieldTypeDescriptionExample
countryStringCountry code in ISO 3166-1 alpha-2 format (e.g., US, CA, GB)."US"
firstNameStringConsumer’s given name (first name)."Shannon"
surNameStringConsumer’s family name (last name)."Zhao"
nationalIdStringGovernment-issued identifier (e.g., SSN in the U.S. or national ID in other countries)."123456789"
dobString (YYYY-MM-DD)Consumer’s date of birth in YYYY-MM-DD format."1958-01-31"
streetAddressStringStreet address line of the consumer’s residence."234 Main Street"
cityStringCity of the consumer’s residence."Jersey City"
stateStringState, province, or region of the consumer’s residence."NJ"
zipStringPostal or ZIP code of the consumer’s residence."07307"
ipAddressStringIP address (IPv4 or IPv6) observed during the consumer’s session."10.10.10.10"
phoneStringConsumer’s phone number in E.164 format (e.g., +13475550100)."+13475551234"
emailStringConsumer’s email address."[email protected]"

response fields

FieldTypeDescriptionExample
referenceIdString (UUID)Unique identifier assigned to each enrichment after a RiskOS™ workflow is finalized."f3863a33-69ca-43c2-90e0-8b4344a41a09"
fraudObjectFraud assessment results returned by the enrichment service.See fraud schema below.

fraud fields

FieldTypeDescriptionExample
reasonCodesArray of StringsList of reason codes explaining contributing risk signals.["R617", "R613", "I625", "R705"]
scoresArray of ObjectsScoring models and confidence scores returned by the provider.See scores schema below.

scores fields

FieldTypeDescriptionExample
nameStringName of the scoring model used."sigma"
versionStringVersion of the scoring model."4.0"
scoreNumberConfidence score between 0.0 and 1.0.0.957