curl --request PATCH \
--url https://api.example.com/v1/prior-authorizations/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"notes": "<string>",
"external_id": "<string>",
"cancellation_note": "<string>",
"completed": true,
"requesting_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduled_submission_date": "2023-12-25",
"service": {
"specialty": "aba",
"service_type_codes": [
"mental_health_provider_outpatient"
],
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"cpt_codes": [
{
"code": "97153",
"units": "160"
}
],
"requested_visits": 20,
"requested_weeks": 8,
"visits_last_90_days": 14,
"locations": [
"office",
"home"
]
},
"appeal_notes": "<string>",
"appeal_availability": [
{
"day": "monday",
"start": "15:00",
"end": "17:00"
}
],
"request_vob": true
}
'import requests
url = "https://api.example.com/v1/prior-authorizations/{id}"
payload = {
"notes": "<string>",
"external_id": "<string>",
"cancellation_note": "<string>",
"completed": True,
"requesting_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduled_submission_date": "2023-12-25",
"service": {
"specialty": "aba",
"service_type_codes": ["mental_health_provider_outpatient"],
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"cpt_codes": [
{
"code": "97153",
"units": "160"
}
],
"requested_visits": 20,
"requested_weeks": 8,
"visits_last_90_days": 14,
"locations": ["office", "home"]
},
"appeal_notes": "<string>",
"appeal_availability": [
{
"day": "monday",
"start": "15:00",
"end": "17:00"
}
],
"request_vob": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
notes: '<string>',
external_id: '<string>',
cancellation_note: '<string>',
completed: true,
requesting_provider_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
servicing_provider_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
servicing_location_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
organization_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
scheduled_submission_date: '2023-12-25',
service: {
specialty: 'aba',
service_type_codes: ['mental_health_provider_outpatient'],
start_date: '2025-01-01',
end_date: '2025-12-31',
cpt_codes: [{code: '97153', units: '160'}],
requested_visits: 20,
requested_weeks: 8,
visits_last_90_days: 14,
locations: ['office', 'home']
},
appeal_notes: '<string>',
appeal_availability: [{day: 'monday', start: '15:00', end: '17:00'}],
request_vob: true
})
};
fetch('https://api.example.com/v1/prior-authorizations/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/prior-authorizations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'notes' => '<string>',
'external_id' => '<string>',
'cancellation_note' => '<string>',
'completed' => true,
'requesting_provider_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'servicing_provider_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'servicing_location_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'organization_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'scheduled_submission_date' => '2023-12-25',
'service' => [
'specialty' => 'aba',
'service_type_codes' => [
'mental_health_provider_outpatient'
],
'start_date' => '2025-01-01',
'end_date' => '2025-12-31',
'cpt_codes' => [
[
'code' => '97153',
'units' => '160'
]
],
'requested_visits' => 20,
'requested_weeks' => 8,
'visits_last_90_days' => 14,
'locations' => [
'office',
'home'
]
],
'appeal_notes' => '<string>',
'appeal_availability' => [
[
'day' => 'monday',
'start' => '15:00',
'end' => '17:00'
]
],
'request_vob' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/prior-authorizations/{id}"
payload := strings.NewReader("{\n \"notes\": \"<string>\",\n \"external_id\": \"<string>\",\n \"cancellation_note\": \"<string>\",\n \"completed\": true,\n \"requesting_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"scheduled_submission_date\": \"2023-12-25\",\n \"service\": {\n \"specialty\": \"aba\",\n \"service_type_codes\": [\n \"mental_health_provider_outpatient\"\n ],\n \"start_date\": \"2025-01-01\",\n \"end_date\": \"2025-12-31\",\n \"cpt_codes\": [\n {\n \"code\": \"97153\",\n \"units\": \"160\"\n }\n ],\n \"requested_visits\": 20,\n \"requested_weeks\": 8,\n \"visits_last_90_days\": 14,\n \"locations\": [\n \"office\",\n \"home\"\n ]\n },\n \"appeal_notes\": \"<string>\",\n \"appeal_availability\": [\n {\n \"day\": \"monday\",\n \"start\": \"15:00\",\n \"end\": \"17:00\"\n }\n ],\n \"request_vob\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.example.com/v1/prior-authorizations/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"notes\": \"<string>\",\n \"external_id\": \"<string>\",\n \"cancellation_note\": \"<string>\",\n \"completed\": true,\n \"requesting_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"scheduled_submission_date\": \"2023-12-25\",\n \"service\": {\n \"specialty\": \"aba\",\n \"service_type_codes\": [\n \"mental_health_provider_outpatient\"\n ],\n \"start_date\": \"2025-01-01\",\n \"end_date\": \"2025-12-31\",\n \"cpt_codes\": [\n {\n \"code\": \"97153\",\n \"units\": \"160\"\n }\n ],\n \"requested_visits\": 20,\n \"requested_weeks\": 8,\n \"visits_last_90_days\": 14,\n \"locations\": [\n \"office\",\n \"home\"\n ]\n },\n \"appeal_notes\": \"<string>\",\n \"appeal_availability\": [\n {\n \"day\": \"monday\",\n \"start\": \"15:00\",\n \"end\": \"17:00\"\n }\n ],\n \"request_vob\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/prior-authorizations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"notes\": \"<string>\",\n \"external_id\": \"<string>\",\n \"cancellation_note\": \"<string>\",\n \"completed\": true,\n \"requesting_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"scheduled_submission_date\": \"2023-12-25\",\n \"service\": {\n \"specialty\": \"aba\",\n \"service_type_codes\": [\n \"mental_health_provider_outpatient\"\n ],\n \"start_date\": \"2025-01-01\",\n \"end_date\": \"2025-12-31\",\n \"cpt_codes\": [\n {\n \"code\": \"97153\",\n \"units\": \"160\"\n }\n ],\n \"requested_visits\": 20,\n \"requested_weeks\": 8,\n \"visits_last_90_days\": 14,\n \"locations\": [\n \"office\",\n \"home\"\n ]\n },\n \"appeal_notes\": \"<string>\",\n \"appeal_availability\": [\n {\n \"day\": \"monday\",\n \"start\": \"15:00\",\n \"end\": \"17:00\"\n }\n ],\n \"request_vob\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "assessment",
"status": "pending",
"patient_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"patient_first_name": "<string>",
"patient_last_name": "<string>",
"patient_date_of_birth": "2023-12-25",
"active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by_user_id": "<string>",
"decision": "approved",
"appeal_status": "requested",
"appeal_notes": "<string>",
"appeal_number": "<string>",
"appeal_availability": [
{
"day": "monday",
"start": "15:00",
"end": "17:00"
}
],
"notes": "<string>",
"external_id": "<string>",
"payor_member_id": "<string>",
"payor_insurance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payor_insurance_display_name": "<string>",
"payor_insurance": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"trading_partner_service_id": "<string>"
},
"requesting_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"requesting_provider": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"npi": "<string>",
"type": "<string>",
"is_active": true,
"tax_id": "<string>",
"location": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
},
"servicing_provider": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"npi": "<string>",
"type": "<string>",
"is_active": true,
"tax_id": "<string>",
"location": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
},
"servicing_location": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"address": "<string>",
"city": "<string>",
"state": "<string>",
"zip_code": "<string>",
"address_2": "<string>"
},
"created_by_user": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"image": "<string>",
"user_type": "<string>"
},
"service": {
"specialty": "aba",
"service_type_codes": [
"medical_care"
],
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"requested_visits": 123,
"requested_weeks": 123,
"visits_last_90_days": 123,
"cpt_codes": [
{
"code": "<string>",
"units": "<string>",
"unit_type": "units",
"modifiers": [
"<string>"
]
}
],
"locations": [
"telehealth_other_home"
]
},
"result": {
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"approved_visits": 123,
"approved_weeks": 123,
"cpt_codes": [
{
"code": "<string>",
"units": "<string>",
"unit_type": "units",
"modifiers": [
"<string>"
]
}
],
"locations": [
"telehealth_other_home"
],
"authorization_number": "<string>",
"cpt_authorization_numbers": {},
"reference_number": "<string>",
"notes": "<string>",
"ai_summary": "<string>",
"ai_summary_generated_at": "2023-11-07T05:31:56Z"
},
"files": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"path": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"display_name": "<string>",
"type": "<string>",
"size": 123,
"document_type": "referral",
"metadata": {},
"url": "<string>"
}
],
"file_count": 123,
"submitted_at": "2023-11-07T05:31:56Z",
"decided_at": "2023-11-07T05:31:56Z",
"appeal_submitted_at": "2023-11-07T05:31:56Z",
"last_followed_up_at": "2023-11-07T05:31:56Z",
"scheduled_submission_date": "2023-12-25",
"completed": false,
"completed_at": "2023-11-07T05:31:56Z",
"completed_by_user_id": "<string>",
"completed_by_user": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"image": "<string>",
"user_type": "<string>"
},
"cancellation_reason": "duplicate_already_submitted",
"cancellation_note": "<string>",
"cancelled_at": "2023-11-07T05:31:56Z",
"vob": {
"state": "requested",
"has_member_id": true,
"policy_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tier": "primary",
"vob": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
},
"missing": [
{
"field": "<string>",
"service_type": "medical_care",
"needs_patient_state": false
}
],
"no_service_type": false,
"specialties": [
{
"service_type": "medical_care",
"credentialing_id": "<string>",
"cpt_codes": [
"<string>"
],
"service_locations": [
"home"
],
"icd_codes": [
"<string>"
]
}
]
}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "validation_error",
"code": "invalid_parameter",
"message": "Field validation failed",
"param": "phone_number"
}Update a prior authorization
Update request details while editable, confirm information with status=pending, cancel an in-flight request, set completion independently, or request/decline an appeal. Payor decisions, results, appeal outcomes and staff operational fields are read-only.
curl --request PATCH \
--url https://api.example.com/v1/prior-authorizations/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"notes": "<string>",
"external_id": "<string>",
"cancellation_note": "<string>",
"completed": true,
"requesting_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduled_submission_date": "2023-12-25",
"service": {
"specialty": "aba",
"service_type_codes": [
"mental_health_provider_outpatient"
],
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"cpt_codes": [
{
"code": "97153",
"units": "160"
}
],
"requested_visits": 20,
"requested_weeks": 8,
"visits_last_90_days": 14,
"locations": [
"office",
"home"
]
},
"appeal_notes": "<string>",
"appeal_availability": [
{
"day": "monday",
"start": "15:00",
"end": "17:00"
}
],
"request_vob": true
}
'import requests
url = "https://api.example.com/v1/prior-authorizations/{id}"
payload = {
"notes": "<string>",
"external_id": "<string>",
"cancellation_note": "<string>",
"completed": True,
"requesting_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduled_submission_date": "2023-12-25",
"service": {
"specialty": "aba",
"service_type_codes": ["mental_health_provider_outpatient"],
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"cpt_codes": [
{
"code": "97153",
"units": "160"
}
],
"requested_visits": 20,
"requested_weeks": 8,
"visits_last_90_days": 14,
"locations": ["office", "home"]
},
"appeal_notes": "<string>",
"appeal_availability": [
{
"day": "monday",
"start": "15:00",
"end": "17:00"
}
],
"request_vob": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
notes: '<string>',
external_id: '<string>',
cancellation_note: '<string>',
completed: true,
requesting_provider_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
servicing_provider_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
servicing_location_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
organization_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
scheduled_submission_date: '2023-12-25',
service: {
specialty: 'aba',
service_type_codes: ['mental_health_provider_outpatient'],
start_date: '2025-01-01',
end_date: '2025-12-31',
cpt_codes: [{code: '97153', units: '160'}],
requested_visits: 20,
requested_weeks: 8,
visits_last_90_days: 14,
locations: ['office', 'home']
},
appeal_notes: '<string>',
appeal_availability: [{day: 'monday', start: '15:00', end: '17:00'}],
request_vob: true
})
};
fetch('https://api.example.com/v1/prior-authorizations/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/prior-authorizations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'notes' => '<string>',
'external_id' => '<string>',
'cancellation_note' => '<string>',
'completed' => true,
'requesting_provider_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'servicing_provider_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'servicing_location_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'organization_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'scheduled_submission_date' => '2023-12-25',
'service' => [
'specialty' => 'aba',
'service_type_codes' => [
'mental_health_provider_outpatient'
],
'start_date' => '2025-01-01',
'end_date' => '2025-12-31',
'cpt_codes' => [
[
'code' => '97153',
'units' => '160'
]
],
'requested_visits' => 20,
'requested_weeks' => 8,
'visits_last_90_days' => 14,
'locations' => [
'office',
'home'
]
],
'appeal_notes' => '<string>',
'appeal_availability' => [
[
'day' => 'monday',
'start' => '15:00',
'end' => '17:00'
]
],
'request_vob' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/prior-authorizations/{id}"
payload := strings.NewReader("{\n \"notes\": \"<string>\",\n \"external_id\": \"<string>\",\n \"cancellation_note\": \"<string>\",\n \"completed\": true,\n \"requesting_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"scheduled_submission_date\": \"2023-12-25\",\n \"service\": {\n \"specialty\": \"aba\",\n \"service_type_codes\": [\n \"mental_health_provider_outpatient\"\n ],\n \"start_date\": \"2025-01-01\",\n \"end_date\": \"2025-12-31\",\n \"cpt_codes\": [\n {\n \"code\": \"97153\",\n \"units\": \"160\"\n }\n ],\n \"requested_visits\": 20,\n \"requested_weeks\": 8,\n \"visits_last_90_days\": 14,\n \"locations\": [\n \"office\",\n \"home\"\n ]\n },\n \"appeal_notes\": \"<string>\",\n \"appeal_availability\": [\n {\n \"day\": \"monday\",\n \"start\": \"15:00\",\n \"end\": \"17:00\"\n }\n ],\n \"request_vob\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.example.com/v1/prior-authorizations/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"notes\": \"<string>\",\n \"external_id\": \"<string>\",\n \"cancellation_note\": \"<string>\",\n \"completed\": true,\n \"requesting_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"scheduled_submission_date\": \"2023-12-25\",\n \"service\": {\n \"specialty\": \"aba\",\n \"service_type_codes\": [\n \"mental_health_provider_outpatient\"\n ],\n \"start_date\": \"2025-01-01\",\n \"end_date\": \"2025-12-31\",\n \"cpt_codes\": [\n {\n \"code\": \"97153\",\n \"units\": \"160\"\n }\n ],\n \"requested_visits\": 20,\n \"requested_weeks\": 8,\n \"visits_last_90_days\": 14,\n \"locations\": [\n \"office\",\n \"home\"\n ]\n },\n \"appeal_notes\": \"<string>\",\n \"appeal_availability\": [\n {\n \"day\": \"monday\",\n \"start\": \"15:00\",\n \"end\": \"17:00\"\n }\n ],\n \"request_vob\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/prior-authorizations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"notes\": \"<string>\",\n \"external_id\": \"<string>\",\n \"cancellation_note\": \"<string>\",\n \"completed\": true,\n \"requesting_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_provider_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"servicing_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"organization_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"scheduled_submission_date\": \"2023-12-25\",\n \"service\": {\n \"specialty\": \"aba\",\n \"service_type_codes\": [\n \"mental_health_provider_outpatient\"\n ],\n \"start_date\": \"2025-01-01\",\n \"end_date\": \"2025-12-31\",\n \"cpt_codes\": [\n {\n \"code\": \"97153\",\n \"units\": \"160\"\n }\n ],\n \"requested_visits\": 20,\n \"requested_weeks\": 8,\n \"visits_last_90_days\": 14,\n \"locations\": [\n \"office\",\n \"home\"\n ]\n },\n \"appeal_notes\": \"<string>\",\n \"appeal_availability\": [\n {\n \"day\": \"monday\",\n \"start\": \"15:00\",\n \"end\": \"17:00\"\n }\n ],\n \"request_vob\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "assessment",
"status": "pending",
"patient_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"patient_first_name": "<string>",
"patient_last_name": "<string>",
"patient_date_of_birth": "2023-12-25",
"active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by_user_id": "<string>",
"decision": "approved",
"appeal_status": "requested",
"appeal_notes": "<string>",
"appeal_number": "<string>",
"appeal_availability": [
{
"day": "monday",
"start": "15:00",
"end": "17:00"
}
],
"notes": "<string>",
"external_id": "<string>",
"payor_member_id": "<string>",
"payor_insurance_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payor_insurance_display_name": "<string>",
"payor_insurance": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"trading_partner_service_id": "<string>"
},
"requesting_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_provider_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"servicing_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"requesting_provider": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"npi": "<string>",
"type": "<string>",
"is_active": true,
"tax_id": "<string>",
"location": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
},
"servicing_provider": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"npi": "<string>",
"type": "<string>",
"is_active": true,
"tax_id": "<string>",
"location": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
},
"servicing_location": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"address": "<string>",
"city": "<string>",
"state": "<string>",
"zip_code": "<string>",
"address_2": "<string>"
},
"created_by_user": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"image": "<string>",
"user_type": "<string>"
},
"service": {
"specialty": "aba",
"service_type_codes": [
"medical_care"
],
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"requested_visits": 123,
"requested_weeks": 123,
"visits_last_90_days": 123,
"cpt_codes": [
{
"code": "<string>",
"units": "<string>",
"unit_type": "units",
"modifiers": [
"<string>"
]
}
],
"locations": [
"telehealth_other_home"
]
},
"result": {
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"approved_visits": 123,
"approved_weeks": 123,
"cpt_codes": [
{
"code": "<string>",
"units": "<string>",
"unit_type": "units",
"modifiers": [
"<string>"
]
}
],
"locations": [
"telehealth_other_home"
],
"authorization_number": "<string>",
"cpt_authorization_numbers": {},
"reference_number": "<string>",
"notes": "<string>",
"ai_summary": "<string>",
"ai_summary_generated_at": "2023-11-07T05:31:56Z"
},
"files": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"path": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"display_name": "<string>",
"type": "<string>",
"size": 123,
"document_type": "referral",
"metadata": {},
"url": "<string>"
}
],
"file_count": 123,
"submitted_at": "2023-11-07T05:31:56Z",
"decided_at": "2023-11-07T05:31:56Z",
"appeal_submitted_at": "2023-11-07T05:31:56Z",
"last_followed_up_at": "2023-11-07T05:31:56Z",
"scheduled_submission_date": "2023-12-25",
"completed": false,
"completed_at": "2023-11-07T05:31:56Z",
"completed_by_user_id": "<string>",
"completed_by_user": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"image": "<string>",
"user_type": "<string>"
},
"cancellation_reason": "duplicate_already_submitted",
"cancellation_note": "<string>",
"cancelled_at": "2023-11-07T05:31:56Z",
"vob": {
"state": "requested",
"has_member_id": true,
"policy_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tier": "primary",
"vob": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
},
"missing": [
{
"field": "<string>",
"service_type": "medical_care",
"needs_patient_state": false
}
],
"no_service_type": false,
"specialties": [
{
"service_type": "medical_care",
"credentialing_id": "<string>",
"cpt_codes": [
"<string>"
],
"service_locations": [
"home"
],
"icd_codes": [
"<string>"
]
}
]
}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"meta": {}
}{
"type": "validation_error",
"code": "invalid_parameter",
"message": "Field validation failed",
"param": "phone_number"
}Authorizations
Path Parameters
Body
Authorization type.
assessment, treatment, reassessment, reassessment_and_treatment 255Why a prior authorization was cancelled — captured on every transition
into cancelled. other is the escape hatch (the free-text detail then
lives in cancellation_note).
Keep the members in sync with the Prisma enum
PriorAuthorizationCancellationReason
(apps/frontend/prisma/schema/enums.prisma) and the frontend label map
PRIOR_AUTH_CANCELLATION_REASON_LABELS. verify-enum-sync only compares
UPPERCASE Python members, so — like PriorAuthorizationStatusEnum — this
lowercase enum is NOT covered by that check; sync it by hand.
duplicate_already_submitted, no_longer_needed, submitted_directly_to_payor, patient_no_longer_active, entered_in_error, other Service request details. Captures what the requester is asking the payor
to authorize, plus request-side context the payor evaluates it against
(visits_last_90_days — prior utilization, not part of the ask).
Show child attributes
Show child attributes
Lifecycle state of a prior authorization.
pending, submitted, information_needed, decided, cancelled requested, not_appealing Show child attributes
Show child attributes
Whether this authorization still asks for a verification of benefits (VOB) of its insurance. false finishes it without one; true asks again. Allowed in any status. It requests nothing by itself: request the VOB with POST /v1/verification-of-benefits and this authorization's id in prior_authorization_id.
Response
Successful Response
No inheritance from the staff response: new private fields stay private.
Authorization type.
assessment, treatment, reassessment, reassessment_and_treatment Lifecycle state of a prior authorization.
pending, submitted, information_needed, decided, cancelled Payor outcome on a decided authorization.
approved, partially_approved, denied, no_authorization_required 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.
requested, appealing, appeal_approved, appeal_partially_approved, appeal_denied, not_appealing Show child attributes
Show child attributes
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.
Show child attributes
Show child attributes
Nested provider (credentialing record) in response.
Show child attributes
Show child attributes
Nested provider (credentialing record) in response.
Show child attributes
Show child attributes
Nested servicing location (full address) in response.
Show child attributes
Show child attributes
Nested user (created_by) in response.
Show child attributes
Show child attributes
Service request details returned in the response.
See PriorAuthorizationResultResponse for the rationale on validation_alias.
Show child attributes
Show child attributes
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.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Nested user (created_by) in response.
Show child attributes
Show child attributes
Why a prior authorization was cancelled — captured on every transition
into cancelled. other is the escape hatch (the free-text detail then
lives in cancellation_note).
Keep the members in sync with the Prisma enum
PriorAuthorizationCancellationReason
(apps/frontend/prisma/schema/enums.prisma) and the frontend label map
PRIOR_AUTH_CANCELLATION_REASON_LABELS. verify-enum-sync only compares
UPPERCASE Python members, so — like PriorAuthorizationStatusEnum — this
lowercase enum is NOT covered by that check; sync it by hand.
duplicate_already_submitted, no_longer_needed, submitted_directly_to_payor, patient_no_longer_active, entered_in_error, other The verification of benefits of this authorization's insurance; null when it names none. Only single reads carry it (retrieve, create, update): list rows return null.
Show child attributes
Show child attributes

