Skip to main content
PATCH
Update a patient insurance record
This endpoint queues an asynchronous update for an existing patient insurance record.
Insurance updates are currently supported for eClinicalWorks only.
Ending / cancelling coverage: there is no delete endpoint for insurance records. To end coverage, PATCH the record with a plan_end_date.

Identifying The Insurance To Update

Use the EMR insurance record ID. You can get it from either:
  • POST /v1/patients/fetch with include: ["insurances"]
  • the emr_insurance_id returned in a prior patient.insurance.added or patient.insurance.updated webhook
In live fetch responses, the update target is returned as insurances[].emr_insurance_id.

Provider Resolution

The API supports the same insurance provider resolution options as insurance create:
  1. insurance_provider_id
  2. insurance_name + insurance_payer_id
  3. insurance_name
insurance_payer_id alone is not supported. If you request a carrier change for eClinicalWorks, the resolved insurance provider must have an eCW ehrId configured or the request will be rejected.

Validation Rules

  • All request body fields are optional. Omitted fields are preserved from the current EMR insurance record.
  • emr_insurance_id is required in the URL path.
  • For eClinicalWorks, if you send subscriber_demographics, it must include first_name and last_name.
  • For eClinicalWorks, if relationship_to_subscriber is a non-self value such as spouse, child, or other, subscriber_demographics.first_name and subscriber_demographics.last_name are required.
  • plan_begin_date, when provided, must be in YYYY-MM-DD format.
  • plan_end_date, when provided, must be in YYYY-MM-DD format. When omitted, the current coverage end date is preserved (not cleared).

Discover The Record ID First

Example insurance entry from the live-fetch webhook payload:

Example Requests

Update A Few Insurance Fields

Update Coverage Dates

Change To A Non-Self Subscriber

Change The Carrier

Example Response

Webhook Events

Success Event (patient.insurance.updated)

Failure Event (patient.insurance.failed)

Authorizations

client_id
string
header
required
client_secret
string
header
required
access_token
string
header
required

Path Parameters

patient_mrn
string
required

Patient MRN.

emr_insurance_id
string
required

EMR insurance record ID. Returned as emr_insurance_id in patient live fetch and create/update success webhooks.

Body

application/json
member_id
string

Insurance member / subscriber ID.

Example:

"MEM123456789"

group_id
string

Insurance group number.

Example:

"GRP98999"

insurance_provider_id
string

Cobalt insurance provider ID (one insurance identifier). Use GET /v1/insurance-providers to retrieve valid IDs.

Example:

"insurance-provider-123"

insurance_payer_id
string

Insurance payer ID, used to disambiguate insurance_name.

Example:

"98999"

insurance_name
string

Insurance provider name (one insurance identifier).

Example:

"Blue Cross Anthem"

subscriber_demographics
object

Policy holder demographics.

relationship_to_subscriber
string

Patient relationship to the policy holder.

Example:

"self"

insurance_policy_type
string

Insurance policy type / coverage category.

Example:

"PPO"

insurance_sequence
string

Coverage order (e.g. primary / secondary).

Example:

"primary"

plan_begin_date
string<date>

Plan begin date (YYYY-MM-DD).

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-01-01"

plan_end_date
string<date>

Plan end date (YYYY-MM-DD). Omit for open-ended coverage.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-12-31"

copayment
number

Copayment amount.

Required range: x >= 0
Example:

25

callback_urls
string[]

URLs to receive the completion webhook, in addition to the account webhook.

Response

Operation queued for processing

success
boolean
required
message
string
required
patient_insurance_id
string
required
job_id
integer
required