- Did the API accept the request?
- If it did, what is the current workflow state?
- If the workflow stopped, which code explains what the caller should do next?
An envelope
status of success means the HTTP request succeeded. It does not
mean an asynchronous workflow has completed.
Which signal to handle
Approved, Denied, and benefit coverage results are business outcomes, not API
or workflow errors.
API errors
A rejected create request does not return a newly accepted workflow ID. Do not start monitoring a new resource unless the error identifies an existing workflow to use. The product references list public codes and recommended caller actions.Error response formats
Business errors generally use a structured envelope:error.code, not the human-readable title or description. Treat
unknown future codes as recoverable unknown values and preserve them in logs.
Request parsing, validation, and some not-found errors use a standard detail
response instead. Validation responses contain a detail array whose loc
field identifies the invalid request field.
Endpoint pages list their additional error codes and status codes.
Workflow errors and exceptional outcomes
Workflow errors happen after a create request was accepted. Read the resource’s state and result fromdata in its GET response or webhook. Each product defines
its own states, outcomes, and error fields:
Treat code enums as extensible: preserve unknown values in logs and use the
product’s fallback handling instead of failing to parse the response. A business
outcome such as a denial is different from a failure to process the workflow.
Monitoring asynchronous workflows
After creating a benefit verification or prior authorization, pollGET /benefit-verification/{id}
or GET /prior-authorization/{id},
or subscribe to the relevant webhook. Track
data.status until it is terminal. Use this status to determine progress, even
when a nested result field contains a placeholder such as Pending.
For BV and PA status webhooks, data uses the same schema as data in the
GET responses above. Provider outreach events use a dedicated
payload; see Provider outreach
webhooks. Process notifications
idempotently because a delivery can be retried. Call the same GET endpoint again
when you need to confirm the current BV or PA status. A PA webhook can describe
an intermediate state or a nested update; it does not necessarily mean the PA
is terminal.