curl --request POST \
--url https://api.clarionhealth.com/v1/eligibility \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"patient": {
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "1990-01-01",
"member_id": "X12345678",
"customer_patient_id": "1234567890"
},
"insurance": {
"payer_id": "87726"
},
"provider": {
"organization_name": "Acme Medical Center",
"npi": "1234567890"
},
"webhook_url": "https://your-domain.com/webhooks-url",
"webhook_secret": "your_webhook_secret_here"
}
'import requests
url = "https://api.clarionhealth.com/v1/eligibility"
payload = {
"patient": {
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "1990-01-01",
"member_id": "X12345678",
"customer_patient_id": "1234567890"
},
"insurance": { "payer_id": "87726" },
"provider": {
"organization_name": "Acme Medical Center",
"npi": "1234567890"
},
"webhook_url": "https://your-domain.com/webhooks-url",
"webhook_secret": "your_webhook_secret_here"
}
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({
patient: {
first_name: 'John',
last_name: 'Doe',
date_of_birth: '1990-01-01',
member_id: 'X12345678',
customer_patient_id: '1234567890'
},
insurance: {payer_id: '87726'},
provider: {organization_name: 'Acme Medical Center', npi: '1234567890'},
webhook_url: 'https://your-domain.com/webhooks-url',
webhook_secret: 'your_webhook_secret_here'
})
};
fetch('https://api.clarionhealth.com/v1/eligibility', 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.clarionhealth.com/v1/eligibility",
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([
'patient' => [
'first_name' => 'John',
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'member_id' => 'X12345678',
'customer_patient_id' => '1234567890'
],
'insurance' => [
'payer_id' => '87726'
],
'provider' => [
'organization_name' => 'Acme Medical Center',
'npi' => '1234567890'
],
'webhook_url' => 'https://your-domain.com/webhooks-url',
'webhook_secret' => 'your_webhook_secret_here'
]),
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://api.clarionhealth.com/v1/eligibility"
payload := strings.NewReader("{\n \"patient\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-01-01\",\n \"member_id\": \"X12345678\",\n \"customer_patient_id\": \"1234567890\"\n },\n \"insurance\": {\n \"payer_id\": \"87726\"\n },\n \"provider\": {\n \"organization_name\": \"Acme Medical Center\",\n \"npi\": \"1234567890\"\n },\n \"webhook_url\": \"https://your-domain.com/webhooks-url\",\n \"webhook_secret\": \"your_webhook_secret_here\"\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://api.clarionhealth.com/v1/eligibility")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"patient\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-01-01\",\n \"member_id\": \"X12345678\",\n \"customer_patient_id\": \"1234567890\"\n },\n \"insurance\": {\n \"payer_id\": \"87726\"\n },\n \"provider\": {\n \"organization_name\": \"Acme Medical Center\",\n \"npi\": \"1234567890\"\n },\n \"webhook_url\": \"https://your-domain.com/webhooks-url\",\n \"webhook_secret\": \"your_webhook_secret_here\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clarionhealth.com/v1/eligibility")
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 \"patient\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-01-01\",\n \"member_id\": \"X12345678\",\n \"customer_patient_id\": \"1234567890\"\n },\n \"insurance\": {\n \"payer_id\": \"87726\"\n },\n \"provider\": {\n \"organization_name\": \"Acme Medical Center\",\n \"npi\": \"1234567890\"\n },\n \"webhook_url\": \"https://your-domain.com/webhooks-url\",\n \"webhook_secret\": \"your_webhook_secret_here\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"status": "in-progress",
"created_at": "2023-11-07T05:31:56Z",
"customer_patient_id": "1234567890"
}{
"error": "Bad Request",
"message": "Bad Request",
"statusCode": 400
}Submit Eligibility Check
Submit a new eligibility check. This endpoint processes requests asynchronously.
How it works:
- Submit your request with patient, insurance, and provider information
- You’ll receive a numeric ID and “in-progress” status immediately
- We’ll process the check asynchronously
Accepted Payers: We currently support eligibility checks for the following major payers and their subsidiaries:
-
United Healthcare Group
-
Aetna
-
Cigna
-
Oscar Health
-
Oxford
-
Humana
-
Medica
-
Kaiser
For payers not listed above, the API will return a 400 error status with a list of currently supported payers.
curl --request POST \
--url https://api.clarionhealth.com/v1/eligibility \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"patient": {
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "1990-01-01",
"member_id": "X12345678",
"customer_patient_id": "1234567890"
},
"insurance": {
"payer_id": "87726"
},
"provider": {
"organization_name": "Acme Medical Center",
"npi": "1234567890"
},
"webhook_url": "https://your-domain.com/webhooks-url",
"webhook_secret": "your_webhook_secret_here"
}
'import requests
url = "https://api.clarionhealth.com/v1/eligibility"
payload = {
"patient": {
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "1990-01-01",
"member_id": "X12345678",
"customer_patient_id": "1234567890"
},
"insurance": { "payer_id": "87726" },
"provider": {
"organization_name": "Acme Medical Center",
"npi": "1234567890"
},
"webhook_url": "https://your-domain.com/webhooks-url",
"webhook_secret": "your_webhook_secret_here"
}
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({
patient: {
first_name: 'John',
last_name: 'Doe',
date_of_birth: '1990-01-01',
member_id: 'X12345678',
customer_patient_id: '1234567890'
},
insurance: {payer_id: '87726'},
provider: {organization_name: 'Acme Medical Center', npi: '1234567890'},
webhook_url: 'https://your-domain.com/webhooks-url',
webhook_secret: 'your_webhook_secret_here'
})
};
fetch('https://api.clarionhealth.com/v1/eligibility', 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.clarionhealth.com/v1/eligibility",
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([
'patient' => [
'first_name' => 'John',
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'member_id' => 'X12345678',
'customer_patient_id' => '1234567890'
],
'insurance' => [
'payer_id' => '87726'
],
'provider' => [
'organization_name' => 'Acme Medical Center',
'npi' => '1234567890'
],
'webhook_url' => 'https://your-domain.com/webhooks-url',
'webhook_secret' => 'your_webhook_secret_here'
]),
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://api.clarionhealth.com/v1/eligibility"
payload := strings.NewReader("{\n \"patient\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-01-01\",\n \"member_id\": \"X12345678\",\n \"customer_patient_id\": \"1234567890\"\n },\n \"insurance\": {\n \"payer_id\": \"87726\"\n },\n \"provider\": {\n \"organization_name\": \"Acme Medical Center\",\n \"npi\": \"1234567890\"\n },\n \"webhook_url\": \"https://your-domain.com/webhooks-url\",\n \"webhook_secret\": \"your_webhook_secret_here\"\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://api.clarionhealth.com/v1/eligibility")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"patient\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-01-01\",\n \"member_id\": \"X12345678\",\n \"customer_patient_id\": \"1234567890\"\n },\n \"insurance\": {\n \"payer_id\": \"87726\"\n },\n \"provider\": {\n \"organization_name\": \"Acme Medical Center\",\n \"npi\": \"1234567890\"\n },\n \"webhook_url\": \"https://your-domain.com/webhooks-url\",\n \"webhook_secret\": \"your_webhook_secret_here\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clarionhealth.com/v1/eligibility")
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 \"patient\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"date_of_birth\": \"1990-01-01\",\n \"member_id\": \"X12345678\",\n \"customer_patient_id\": \"1234567890\"\n },\n \"insurance\": {\n \"payer_id\": \"87726\"\n },\n \"provider\": {\n \"organization_name\": \"Acme Medical Center\",\n \"npi\": \"1234567890\"\n },\n \"webhook_url\": \"https://your-domain.com/webhooks-url\",\n \"webhook_secret\": \"your_webhook_secret_here\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"status": "in-progress",
"created_at": "2023-11-07T05:31:56Z",
"customer_patient_id": "1234567890"
}{
"error": "Bad Request",
"message": "Bad Request",
"statusCode": 400
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Optional webhook URL where eligibility check results will be sent. If provided, you'll receive a POST request with the eligibility check data when the check completes.
"https://your-domain.com/webhooks-url"
Optional secret token for webhook authentication. If provided, webhook payloads will be sent with an 'Authorization: Bearer {secret}' header. Do not include the 'Bearer' prefix when providing the secret.
"your_webhook_secret_here"
Response
Eligibility check submitted successfully. The check is being processed asynchronously. You will receive a webhook notification when the check completes. You can also poll the GET endpoint to check status.
Unique identifier for this eligibility check request
Current status of the eligibility check
in-progress Timestamp when the request was created
The customer-provided patient identifier, if provided will be returned in every other response for this eligibility check.
"1234567890"

