Skip to main content
Benefit verification responses answer three separate questions:
  1. Did the API accept the request?
  2. Is verification still running?
  3. If it stopped, did it produce a coverage result or a workflow error?

Choose the right signal

Lifecycle

The normal transitions are pending to completed, failed, or cancelled. Develop Health can retry a failed verification internally. When that happens, the resource moves from failed back to pending; consumers should accept this transition instead of enforcing terminal states as permanently immutable. data.status_description is display text. Do not branch on it because its wording can change without a versioned API change.

Coverage results are not errors

After completed, use patient_coverage_status and drugs for the business result. Clients should tolerate new result enum values rather than converting an unfamiliar coverage result into a failed workflow.

Request errors

These codes can be returned by Run Benefit Verification. Branch on error.code, not the human-readable title or description.

Insurance-document errors

Insurance-document processing can also return these 400 codes:

Workflow failures

A successful create response does not rule out a later workflow failure. Problems such as unreadable insurance information or a payer that cannot locate the patient appear on the accepted resource returned by Retrieve Benefit Verification and its webhook. When data.status is failed, data.error can contain a stable code and detail_code alongside human-readable fields. A code can be null on legacy verifications; handle it like Internal Error.

Error codes

These values are case-sensitive.

Detail codes

Retrieve errors

Monitoring and unknown values

Use the retrieve endpoint to poll the current resource. The benefit_verification.status_change webhook delivers the full resource when verification completes or fails. Process webhooks idempotently and retrieve the resource when you need to reconcile its current state. Treat code lists as extensible. Preserve unknown values in logs and use the same manual fallback as the closest catch-all error instead of failing to parse the response. See Understanding API Responses for authentication, validation, and error-envelope semantics.