Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.usecobalt.com/llms.txt

Use this file to discover all available pages before exploring further.

This is an async operation. The endpoint returns 202 Accepted immediately after queuing the claim, and a webhook event is sent to your registered endpoint once the claim has been created (or has failed) in the EMR. Currently supported for eClinicalWorks.

Request Parameters

Required Fields

  • appointment_id (string, required): The Cobalt appointment ID to create a claim for. The appointment must belong to the authenticated user and have an associated EMR appointment ID.

Example Request

curl -X POST https://api.usecobalt.com/v1/claims \
-H 'Content-Type: application/json' \
-H 'client_id: ci_live_198908HJDKJSH98789OHKJL' \
-H 'client_secret: cs_live_9827hofdsklOYYHJLJh' \
-H 'access_token: 493JKLHIU98789hLKH9HHJH' \
-d '{
    "appointment_id": "a1b2c3d4e5f64g7h8i9jk0l1m2n3o4p5"
}'

Example Response

{
    "success": true,
    "message": "Claim creation queued. A webhook event will be sent upon completion.",
    "claim_id": "f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9",
    "appointment_id": "a1b2c3d4e5f64g7h8i9jk0l1m2n3o4p5",
    "job_id": 12345
}
The response includes:
  • claim_id: Unique identifier for the queued claim record. Use this to correlate the eventual webhook event.
  • appointment_id: Echo of the appointment the claim was queued against.
  • job_id: Job execution identifier for tracking the async operation.

Error Responses

Missing Required Field

{
    "success": false,
    "message": "'appointment_id' is required."
}

Invalid Appointment ID Format

{
    "success": false,
    "message": "Invalid 'appointment_id' format. Please provide a valid UUID."
}

Appointment Missing EMR ID

Returned if the appointment exists but has not yet been synced with an emr_appointment_id.
{
    "success": false,
    "message": "Appointment is missing emr_appointment_id; cannot create claim."
}

Appointment Not Found

{
    "success": false,
    "message": "Appointment not found."
}

Duplicate Claim

Returned if a claim for this appointment is already in-flight (pending_create) or has already been completed. Failed claims do not block retries.
{
    "success": false,
    "message": "A claim for this appointment is already pending or completed."
}

Webhook Notifications

When the claim creation is complete, we will send a webhook to your registered endpoint. Here are examples of what those webhook payloads will look like:

Success

{
    "id": "evt_1J9X2q2eZvKYlo2CluR9g9gV",
    "access_token_reference_id": "user_1J9X2q2eZvKYlo2Cxyz",
    "object": "event",
    "created": "2026-05-22T10:30:00Z",
    "type": "claim.created",
    "job_id": "12345",
    "data": {
        "claim_id": "f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9",
        "appointment_id": "a1b2c3d4e5f64g7h8i9jk0l1m2n3o4p5",
        "patient_mrn": "MRN-12345",
        "emr_claim_id": "100234",
        "emr_appointment_id": "500100",
        "emr_patient_id": "40210"
    }
}

Failure

{
    "id": "evt_1J9X2q2eZvKYlo2CluR9g9gW",
    "access_token_reference_id": "user_1J9X2q2eZvKYlo2Cxyz",
    "object": "event",
    "created": "2026-05-22T10:35:00Z",
    "type": "claim.failed",
    "job_id": "12345",
    "data": {
        "claim_id": "f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9",
        "appointment_id": "a1b2c3d4e5f64g7h8i9jk0l1m2n3o4p5",
        "patient_mrn": "MRN-12345",
        "failure_reason": "Failed to create claim"
    }
}