Skip to main content
GET
Retrieve a prior authorization

Authorizations

X-API-Key
string
header
required

Path Parameters

id
string
required

Query Parameters

expand[]
enum<string>[] | null

Relations to inline in the response. Repeatable, e.g. ?expand[]=files&expand[]=servicing_location.

Allowed expand values for the single-resource PA endpoint (GET /{id}).

Available options:
requesting_provider,
servicing_provider,
servicing_location,
files

Response

Successful Response

Response schema for a prior authorization record.

id
string<uuid>
required
company_id
string<uuid>
required
type
enum<string>
required

Authorization type.

Available options:
assessment,
treatment,
reassessment,
reassessment_and_treatment
status
enum<string>
required

Lifecycle state of a prior authorization.

Available options:
pending,
submitted,
information_needed,
decided,
cancelled
patient_id
string<uuid>
required

Patient this authorization belongs to; use it to open the patient record. Demographics submitted on this PA are the frozen patient_* fields below.

patient_first_name
string
required

Patient first name as submitted on this authorization. Frozen at create time — not updated when the patient record changes.

patient_last_name
string
required

Patient last name as submitted on this authorization. Frozen at create time.

patient_date_of_birth
string<date>
required

Patient date of birth (YYYY-MM-DD) as submitted on this authorization. Frozen at create time.

active
boolean
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
created_by_user_id
string | null
decision
enum<string> | null

Payor outcome on a decided authorization.

Available options:
approved,
partially_approved,
denied,
no_authorization_required
appeal_status
enum<string> | null

Appeal lifecycle. An appeal STARTS from a denied or partially_approved decision; the terminal states below outlive it, because a won appeal is exactly one whose decision is no longer a denial.

NULL is meaningful: it means no appeal decision has been made yet — the caller hasn't yet asked for one. Setting any value below is an explicit commitment that someone is (or isn't) pursuing the appeal:

requested — an appeal has been requested; work has not started. appealing — Solum is actively working the appeal. appeal_approved — terminal, won outright. appeal_partially_approved — terminal, won in part (payor granted less than requested). appeal_denied — terminal, lost. not_appealing — terminal, operator decided not to pursue.

The won/partial/lost outcomes mirror the granularity of PriorAuthorizationDecisionEnum: a payor that grants less than was requested on appeal has partially granted it.

Available options:
requested,
appealing,
appeal_approved,
appeal_partially_approved,
appeal_denied,
not_appealing
appeal_notes
string | null

Rationale captured when an appeal was requested. Null when no appeal has been requested.

appeal_number
string | null

Appeal case/reference number issued by the payor. Null until the payor assigns one.

appeal_availability
AppealAvailabilitySlot · object[] | null

Requester availability windows captured when an appeal was requested. Null when none provided.

notes
string | null
payor_member_id
string | null

Member id as submitted on this authorization. Frozen at create time.

payor_insurance_id
string<uuid> | null

Insurance partner id (from the insurances catalog) as submitted on this authorization. Frozen at create time.

payor_insurance_display_name
string | null

Plan display name for this PA's payor, frozen at create time. Null ⇒ display the insurance's canonical name.

payor_insurance
PriorAuthorizationInsurance · object | null

Nested insurance partner ({id, name}) for the FROZEN snapshot.

Resolved from the payor_insurance relationship, which loads regardless of the insurance's is_active flag — so a PA submitted under a since- deactivated insurance still carries its name for display.

requesting_provider_id
string<uuid> | null

Credentialing-record id of the requesting provider. Always present unless the provider record was later removed (FK is ON DELETE SET NULL).

servicing_provider_id
string<uuid> | null

Credentialing-record id of the servicing provider. Null when the servicing provider is the same as the requesting provider or unset.

servicing_location_id
string<uuid> | null

Company-location id where services are rendered. Null when unset.

organization_id
string<uuid> | null

Business entity (organization) this authorization belongs to. Null when unset.

requesting_provider
PriorAuthorizationProvider · object | null

Expanded requesting-provider object. Present ONLY when requested via expand[]=requesting_provider; null otherwise. Use requesting_provider_id for the reference.

servicing_provider
PriorAuthorizationProvider · object | null

Expanded servicing-provider object. Present ONLY when requested via expand[]=servicing_provider; null otherwise.

servicing_location
PriorAuthorizationServicingLocation · object | null

Expanded servicing-location object. Present ONLY when requested via expand[]=servicing_location; null otherwise.

created_by_user
PriorAuthorizationUser · object | null

Nested user (created_by) in response.

service
PriorAuthorizationServiceResponse · object | null

Service request details returned in the response.

See PriorAuthorizationResultResponse for the rationale on validation_alias.

result
PriorAuthorizationResultResponse · object | null

Payor decision details. Populated only when status is decided.

Uses validation_alias (not alias) so the alias only applies to input (reading the parent PA's result_start_date etc. columns via from_attributes). Output uses the field name; otherwise FastAPI's response_model_by_alias=True default would leak the column-prefixed name onto the wire and the frontend would see resultStartDate after transformFromAPI instead of the expected startDate.

files
PriorAuthorizationFile · object[] | null

Attached files with signed download URLs. Present ONLY on GET /{id} with expand[]=files; always null on the list endpoint (use file_count there). Signed URLs are minted only when this is expanded.

file_count
integer | null

Number of attached files. Always present (a cheap aggregate); independent of expand.

submitted_at
string<date-time> | null
decided_at
string<date-time> | null
appeal_submitted_at
string<date-time> | null

When the appeal was submitted to the payor; set when the appeal first becomes active. Null when no appeal has been submitted.

last_followed_up_at
string<date-time> | null

Last time staff followed up with the payor on this authorization's status. Null until the first follow-up.

scheduled_submission_date
string<date> | null

Date this authorization should be submitted to the payor. When set in the future, the request is held out of the active review queue until that date. Null when no scheduled date is set.

completed
boolean
default:false

True when the clinic has marked this authorization done (it leaves the default list). Derived from completed_at.

completed_at
string<date-time> | null

When the authorization was marked done. Null while outstanding.

completed_by_user_id
string | null

Id of the user who marked it done. Null while outstanding.

completed_by_user
PriorAuthorizationUser · object | null

The user who marked it done (Solum staff identity is masked for customer viewers). Null while outstanding.

cancellation_reason
enum<string> | null

Why the authorization was cancelled. Null unless the authorization is cancelled.

Available options:
duplicate_already_submitted,
no_longer_needed,
submitted_directly_to_payor,
patient_no_longer_active,
entered_in_error,
other
cancellation_note
string | null

Free-text detail captured with the cancellation reason. Null when none was provided.

cancelled_at
string<date-time> | null

When the authorization was cancelled. Null unless the authorization is cancelled.