Enrichment Error Handling

RiskOS™ integrates with multiple enrichment modules and data partners. To ensure reliability, the platform includes built-in mechanisms to handle errors gracefully and allow workflows to continue executing even when individual steps encounter issues.


Retry mechanism

RiskOS™ automatically retries failed enrichment API calls up to three times, with a maximum wait time of 2,000 ms per attempt.

If you need to adjust retry behavior for your account, please contact [email protected].


Handling enrichment failures in workflows

  • If an Enrichment step fails, its output variable is set to null.
  • Downstream Condition steps will then evaluate to False, allowing you to define fallback logic.
  • Example: Use the is set or is not set operator on an enrichment output field to branch your workflow when enrichment data is missing or invalid.
  • You can also configure fallback enrichment steps and logic directly in the Workflow Editor:
    • Chain alternative enrichment providers or internal modules if a primary enrichment fails.
    • Fallback enrichments ensure continuity of decisioning without requiring manual intervention.

This ensures workflows continue executing instead of failing completely.


Identifying errors in API responses

All enrichment results are returned in the evaluation API response under the data_enrichments array.

Each enrichment block includes:

  • status_code → The HTTP response code from the data service.
  • error_message → Details about the error, if present.
  • request → The payload sent to the service.
  • response → The service’s raw response (if available).

Tip: An enrichment call is considered successful if status_code = 200. Any non-200 response means the enrichment failed.


Example request

{
  "enrichment_name": "Socure Email Risk",
  "enrichment_endpoint": "https://sandbox.dev.socure.com/api/3.0/EmailAuthScore",
  "enrichment_provider": "Socure",
  "status_code": 500,
  "error_message": "Internal Server Error. Unable to process email risk request at this time.",
  "request": {
    "modules": [
      "emailrisk"
    ],
    "email": "[email protected]"
  },
  "is_source_cache": false,
  "total_attempts": 3
}