curl --request POST \
--url https://mcp.arlohealth.ai/api/pricing/network-status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"providerName": "<string>",
"npi": "<string>",
"code": "<string>",
"limit": 123,
"latitude": 123,
"longitude": 123,
"zip": "<string>",
"planHints": {
"payerName": "<string>",
"employerName": "<string>",
"planName": "<string>",
"groupNumber": "<string>",
"unavailable": true
},
"patientId": "<string>"
}
'import requests
url = "https://mcp.arlohealth.ai/api/pricing/network-status"
payload = {
"providerName": "<string>",
"npi": "<string>",
"code": "<string>",
"limit": 123,
"latitude": 123,
"longitude": 123,
"zip": "<string>",
"planHints": {
"payerName": "<string>",
"employerName": "<string>",
"planName": "<string>",
"groupNumber": "<string>",
"unavailable": True
},
"patientId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
providerName: '<string>',
npi: '<string>',
code: '<string>',
limit: 123,
latitude: 123,
longitude: 123,
zip: '<string>',
planHints: {
payerName: '<string>',
employerName: '<string>',
planName: '<string>',
groupNumber: '<string>',
unavailable: true
},
patientId: '<string>'
})
};
fetch('https://mcp.arlohealth.ai/api/pricing/network-status', 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://mcp.arlohealth.ai/api/pricing/network-status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'providerName' => '<string>',
'npi' => '<string>',
'code' => '<string>',
'limit' => 123,
'latitude' => 123,
'longitude' => 123,
'zip' => '<string>',
'planHints' => [
'payerName' => '<string>',
'employerName' => '<string>',
'planName' => '<string>',
'groupNumber' => '<string>',
'unavailable' => true
],
'patientId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://mcp.arlohealth.ai/api/pricing/network-status"
payload := strings.NewReader("{\n \"providerName\": \"<string>\",\n \"npi\": \"<string>\",\n \"code\": \"<string>\",\n \"limit\": 123,\n \"latitude\": 123,\n \"longitude\": 123,\n \"zip\": \"<string>\",\n \"planHints\": {\n \"payerName\": \"<string>\",\n \"employerName\": \"<string>\",\n \"planName\": \"<string>\",\n \"groupNumber\": \"<string>\",\n \"unavailable\": true\n },\n \"patientId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://mcp.arlohealth.ai/api/pricing/network-status")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"providerName\": \"<string>\",\n \"npi\": \"<string>\",\n \"code\": \"<string>\",\n \"limit\": 123,\n \"latitude\": 123,\n \"longitude\": 123,\n \"zip\": \"<string>\",\n \"planHints\": {\n \"payerName\": \"<string>\",\n \"employerName\": \"<string>\",\n \"planName\": \"<string>\",\n \"groupNumber\": \"<string>\",\n \"unavailable\": true\n },\n \"patientId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mcp.arlohealth.ai/api/pricing/network-status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"providerName\": \"<string>\",\n \"npi\": \"<string>\",\n \"code\": \"<string>\",\n \"limit\": 123,\n \"latitude\": 123,\n \"longitude\": 123,\n \"zip\": \"<string>\",\n \"planHints\": {\n \"payerName\": \"<string>\",\n \"employerName\": \"<string>\",\n \"planName\": \"<string>\",\n \"groupNumber\": \"<string>\",\n \"unavailable\": true\n },\n \"patientId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"disclaimer": "<string>",
"needsMoreInfo": [
{}
],
"plan": {},
"supportedServices": [
{}
]
}{
"error": "<string>",
"needsAuth": true
}{
"error": "<string>",
"agentInstructions": "<string>"
}Check Network Status
Whether a specific provider or facility is in-network for the user’s
plan, and with code, what they charge for one service, from the
insurer’s published rate files. Call this FIRST for any named clinic,
brand, facility, or provider. Pass the name plus city or ZIP; an NPI
works too and is never required.
Read billingOutlook before quoting a number: while it is
partitioned or carries a warning, present the range and its ask
rather than one price. inNetwork: false means “not found in the
published files”, never a hard out-of-network verdict. Always relay
the disclaimer.
curl --request POST \
--url https://mcp.arlohealth.ai/api/pricing/network-status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"providerName": "<string>",
"npi": "<string>",
"code": "<string>",
"limit": 123,
"latitude": 123,
"longitude": 123,
"zip": "<string>",
"planHints": {
"payerName": "<string>",
"employerName": "<string>",
"planName": "<string>",
"groupNumber": "<string>",
"unavailable": true
},
"patientId": "<string>"
}
'import requests
url = "https://mcp.arlohealth.ai/api/pricing/network-status"
payload = {
"providerName": "<string>",
"npi": "<string>",
"code": "<string>",
"limit": 123,
"latitude": 123,
"longitude": 123,
"zip": "<string>",
"planHints": {
"payerName": "<string>",
"employerName": "<string>",
"planName": "<string>",
"groupNumber": "<string>",
"unavailable": True
},
"patientId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
providerName: '<string>',
npi: '<string>',
code: '<string>',
limit: 123,
latitude: 123,
longitude: 123,
zip: '<string>',
planHints: {
payerName: '<string>',
employerName: '<string>',
planName: '<string>',
groupNumber: '<string>',
unavailable: true
},
patientId: '<string>'
})
};
fetch('https://mcp.arlohealth.ai/api/pricing/network-status', 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://mcp.arlohealth.ai/api/pricing/network-status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'providerName' => '<string>',
'npi' => '<string>',
'code' => '<string>',
'limit' => 123,
'latitude' => 123,
'longitude' => 123,
'zip' => '<string>',
'planHints' => [
'payerName' => '<string>',
'employerName' => '<string>',
'planName' => '<string>',
'groupNumber' => '<string>',
'unavailable' => true
],
'patientId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://mcp.arlohealth.ai/api/pricing/network-status"
payload := strings.NewReader("{\n \"providerName\": \"<string>\",\n \"npi\": \"<string>\",\n \"code\": \"<string>\",\n \"limit\": 123,\n \"latitude\": 123,\n \"longitude\": 123,\n \"zip\": \"<string>\",\n \"planHints\": {\n \"payerName\": \"<string>\",\n \"employerName\": \"<string>\",\n \"planName\": \"<string>\",\n \"groupNumber\": \"<string>\",\n \"unavailable\": true\n },\n \"patientId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://mcp.arlohealth.ai/api/pricing/network-status")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"providerName\": \"<string>\",\n \"npi\": \"<string>\",\n \"code\": \"<string>\",\n \"limit\": 123,\n \"latitude\": 123,\n \"longitude\": 123,\n \"zip\": \"<string>\",\n \"planHints\": {\n \"payerName\": \"<string>\",\n \"employerName\": \"<string>\",\n \"planName\": \"<string>\",\n \"groupNumber\": \"<string>\",\n \"unavailable\": true\n },\n \"patientId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mcp.arlohealth.ai/api/pricing/network-status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"providerName\": \"<string>\",\n \"npi\": \"<string>\",\n \"code\": \"<string>\",\n \"limit\": 123,\n \"latitude\": 123,\n \"longitude\": 123,\n \"zip\": \"<string>\",\n \"planHints\": {\n \"payerName\": \"<string>\",\n \"employerName\": \"<string>\",\n \"planName\": \"<string>\",\n \"groupNumber\": \"<string>\",\n \"unavailable\": true\n },\n \"patientId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"disclaimer": "<string>",
"needsMoreInfo": [
{}
],
"plan": {},
"supportedServices": [
{}
]
}{
"error": "<string>",
"needsAuth": true
}{
"error": "<string>",
"agentInstructions": "<string>"
}Authorizations
OAuth 2.1 with PKCE
Body
Provider or facility name. Consumer brand names work. City or ZIP disambiguates.
10-digit NPI if known. Never required.
Optional catalog CPT/HCPCS code. With it, each match carries its contracted rate under the plan.
Max matches (default 50, max 100)
Insurance identifiers from the user, used when the response asks for them (needsMoreInfo). The plan otherwise resolves from linked insurance. employerName / planName upgrade range estimates to the exact plan's rates; groupNumber is matched for Blue Cross Blue Shield of IL/TX/OK/NM/MT only. Set unavailable=true when the user cannot provide identifiers, which stops the asks.
Show child attributes
Show child attributes
Response
Matches with network status and, with a code, contracted rates
Self-describing. Identical to the public pricing.v1 response for the same route (see the Pricing API reference for every field). Read plan.basis before quoting anything, relay every note-style field as written (any key ending in Note, plus note, rateAssessment, statusNote, disclaimer), and answer needsMoreInfo asks.
Was this page helpful?