Skip to main content
After creating a PA, save its ID and use the status-change webhook or GET /prior-authorization/{id} to follow its progress. Read data.status first, then data.outcome when processing finishes.

Lifecycle

Approval and denial are normal business outcomes. A completed PA can also have an Other outcome, such as no PA being required or a duplicate request. Use the status to determine whether the PA is still running. The legacy outcome.result: "Pending" value is a placeholder.

Activity and requests for information

Calls, faxes, messages, and provider outreach can occur without changing the PA’s status. Use data.activity_log and the webhook events for those updates. An individual outreach attempt can fail or expire while the PA continues. A request for more information can also be part of an ongoing PA. Only treat the request as stopped when its status is terminal.

Request errors

If creation is rejected, read the HTTP status and error.code. Correct the request before trying again. If the response includes error.existing_prior_auth_request_id, it identifies the earlier PA associated with the error. Errors for resubmissions, provider outreach, and optional workflows are documented with those features. See sandbox testing for mock_result_not_allowed, common API errors for authentication and validation, and rate limits for quota and retry guidance.

Other result codes

When data.status is completed and data.outcome.result is Other, use data.outcome.detail_code and data.outcome.detail to decide what to do next. Several codes share the same action:

Stopped before submission

For data.status: "not_submitted" with data.outcome.detail_code: "more_information_required", read the outcome detail and collect the missing information. Then create a new linked request through the resubmission path. Optional BV and formulary workflows can also stop a PA before submission. Their outcome codes are documented with those features.

Retrieve errors

GET /prior-authorization/{id} returns 404 when the PA does not exist or is not visible to the authenticated organization.

Unknown values

Treat code lists as extensible. Preserve unknown codes in logs and route unrecognized terminal outcomes to manual review, using the outcome detail for context. An unfamiliar code alone does not mean an ongoing PA has stopped.