- 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
An API error means the request did not return a newly accepted workflow ID. Do not start monitoring a new resource unless the error identifies an existing workflow to use. The create endpoint pages list the public codes and recommended caller action.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, so they are exposed on the resource returned by a retrieve endpoint or webhook rather than as the original create response. The exact signal is product-specific:- Benefit verifications use
data.status: "failed"withdata.error.codeand an optionaldetail_code. - Prior authorizations distinguish
not_submitted,failed, and a completedOtheroutcome. These signals have different meanings and should not be collapsed into a single generic failure. - Nested work such as prescription transfer has its own state and error fields; it does not change the meaning of the parent PA’s status.
Monitoring asynchronous workflows
After creating a benefit verification or prior authorization, use the retrieve endpoint or subscribe to the relevant webhook untildata.status is terminal. Use the workflow state as the source of truth for
progress, even when a nested result field contains a placeholder such as
Pending.
For resource-state webhook events, data uses the response schema from the
corresponding retrieve endpoint. Provider outreach events use a dedicated
payload; see Provider outreach
webhooks. Process notifications
idempotently because a delivery can be retried, and use the retrieve endpoint
to reconcile the current resource state when needed. A PA webhook can describe
an intermediate state or a nested update; it does not necessarily mean the PA
is terminal.