Skip to main content
GET
/
api
/
aiphonecall
/
v1
/
results
cURL
curl --request GET \
  --url https://forecaster.cairhealth.com/api/aiphonecall/v1/results \
  --header 'Authorization: Bearer <token>'
{
  "records": [
    {
      "callId": "abc123",
      "type": "vob",
      "status": "completed",
      "phoneNumber": "+18005551234",
      "dateCreated": "2026-02-20T14:30:00.000Z",
      "dateCompleted": "2026-02-20T14:35:12.000Z",
      "results": {
        "benefits_verified": {
          "question": "Are the benefits active?",
          "answer": "Yes, the benefits are active until December 31, 2026"
        },
        "copay_amount": {
          "question": "What is the copay amount for this service?",
          "answer": "The copay is $25 for office visits"
        }
      },
      "formattedResults": "Benefits are active until 12/31/2026. Copay: $25 for office visits."
    },
    {
      "callId": "def456",
      "type": "denial",
      "status": "failed",
      "phoneNumber": "+18005559876",
      "dateCreated": "2026-02-20T15:00:00.000Z",
      "dateCompleted": "2026-02-20T15:05:30.000Z",
      "error": "Call failed | Tag: call_denial_claim123 | ID: claim123",
      "errorDetails": {
        "originalError": "Call was disconnected after reaching IVR menu",
        "internalTag": "call_denial_claim123",
        "internalId": "claim123",
        "timestamp": "2026-02-20T15:05:30.000Z"
      }
    }
  ],
  "pagination": {
    "totalRecords": 142,
    "totalPages": 3,
    "currentPage": 1,
    "pageSize": 50
  }
}

Best Practices

  • Use date filters to limit result sets. Querying without dateFrom/dateTo may return very large result sets that are slower to fetch.
  • Paginate efficiently by using a pageSize of 50–100 and iterating through pages. Check pagination.totalPages to know when you’ve fetched all results.
  • Poll responsibly if you are periodically checking for new results. A polling interval of 30–60 seconds is recommended. Use dateFrom set to your last poll timestamp to avoid re-fetching old results.
  • Filter by source if you only care about calls placed through the API (source=api) versus calls placed from the Cair platform UI (source=platform).
  • Use callId for single-call lookups instead of filtering a large result set — it’s the most efficient way to check on a specific call.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

dateFrom
string<date>

Only return calls completed on or after this date (inclusive, from 00:00:00 UTC). Format: YYYY-MM-DD.

dateTo
string<date>

Only return calls completed on or before this date (inclusive, through 23:59:59 UTC). Format: YYYY-MM-DD.

type
enum<string>

Filter by call type. vob = Verification of Benefits, custom_vob_aba = Custom VOB for ABA, podiatry_vob = Podiatry VOB, vob_rpm = VOB for Remote Patient Monitoring, denial = Denied Claim Follow-up, claim_status_inquiry = General Claim Status, claim_status_wc = Workers' Comp Claim Status, claim_status_auto_pip = Auto/PIP Claim Status, custom_claim_status = Custom Claim Status, prior_auth = Prior Auth (Drug-based), prior_auth_cpt = Prior Auth (CPT-based), prior_auth_status_nds = Prior Auth Status (NDS), prior_auth_status_cpt = Prior Auth Status (CPT), credentialing = Credentialing Inquiry, credentialing_im = Credentialing - IM, appeal = Appeal Call

Available options:
vob,
custom_vob_aba,
podiatry_vob,
vob_rpm,
denial,
claim_status_inquiry,
claim_status_wc,
claim_status_auto_pip,
custom_claim_status,
prior_auth,
prior_auth_cpt,
prior_auth_status_nds,
prior_auth_status_cpt,
credentialing,
credentialing_im,
appeal
status
enum<string>

Filter by outcome. Omit to return both completed and failed calls.

Available options:
completed,
failed
source
enum<string>

Filter by how the call was initiated. platform = from the Cair UI, api = via the API

Available options:
platform,
api
batchId
string

Filter by batch upload ID to retrieve results for a specific CSV batch.

callId
string

Look up a specific call by its unique call ID.

phoneNumber
string

Filter by the phone number that was called.

page
integer
default:1

Page number for pagination.

Required range: x >= 1
pageSize
integer
default:50

Number of results per page.

Required range: 1 <= x <= 200
sortOrder
enum<string>
default:desc

Sort direction by completion date. desc = newest first, asc = oldest first

Available options:
desc,
asc

Response

Call results retrieved successfully

Paginated response containing call result records

records
object[]
required

Array of call result objects

pagination
object
required

Pagination metadata for call results