---
title: "Submit coverage estimates as JSON"
method: POST
path: "/v1/jobs/estimate/json"
tags: ["jobs"]
---

# Submit coverage estimates as JSON

`POST /v1/jobs/estimate/json`

## Request

- Base URL: `https://coverage-api.meetnirvana.com`
- URL: `https://coverage-api.meetnirvana.com/v1/jobs/estimate/json`
- Auth: none declared

<b>Beta:</b> Start an async coverage job from a JSON `items` array. Each item is the same payload as POST /v1/coverage/estimate. The array can hold at most 5000 items; larger requests are rejected with 422. Poll GET /v1/jobs/{job_id} for status and GET /v1/jobs/{job_id}/results for the output file.

## Headers

- `Idempotency-Key` string, nullable

## Request body

- CreateEstimateJobRequest
  - `items` CostEstimationInputWithProviderDetails[], required: Coverage estimate inputs to run asynchronously, one per check
    - `cpt_code` string: CPT (Current Procedural Terminology) code for UCR estimation
    - `in_network` boolean: True for in-network and false for out-of-network coverage check
    - `member_dob` string, date, required: Member’s date of birth provided in yyyy-mm-dd format
    - `member_first_name` string: Member’s first name; as printed on the insurance card. Recommended to add.
    - `member_id` string, required: Member’s unique insurance ID, as printed on the insurance card
    - `member_last_name` string: Member’s last name; as printed on the insurance card. Recommended to add.
    - `modality_code` 'PMC' | 'PHT' | 'PSC' | 'PSY' | 'MRI' | 'HST' | 'MNT' | 'CT' | 'IOP' | 'PHP' | 'UC' | 'ABA' | 'OBG' | 'MAT' | 'ORP' | 'DER' | 'GI' | 'ST' | 'CAR' | 'OT' | 'LAB'
    - `next_appointment` string, date: Patient's next appointment date in yyyy-mm-dd format
    - `office_id` string: An identifier for the office or location being visited.
    - `patient_id` string: Patient's id
    - `patient_type` 'PROSPECT' | 'NEW_PATIENT' | 'EXISTING_PATIENT'
    - `payer_id` string, required: Unique external payer ID associated with the insurer
    - `provider_city` string: Service provider's city
    - `provider_first_name` string: Service provider's first name
    - `provider_last_name` string: Service provider's last name
    - `provider_npi` string, required: Service Provider’s 10-character NPI
    - `provider_pin` string, password: Provider PIN for MDCAL payer only
    - `provider_role` 'SPECIALIST' | 'PRIMARY_CARE': The rendering provider's role under the payer's contract for this visit. Plans commonly price a specialist visit above a primary-care visit and return both amounts under the same service type, so the role selects which one applies. A provider's role is held per payer, not globally: credentialing assigns it separately with each payer, so the same clinician can be SPECIALIST to one payer and PRIMARY_CARE to another. Send the role that applies to the payer on this request rather than one value stored against the clinician. Leaving it unset keeps the previous behaviour.
    - `provider_session_cost` integer, required: Total cost of the session, in cents
    - `provider_state` string: Service provider's state
    - `provider_street_line1` string: Service provider's street address
    - `provider_street_line2` string: Service provider's street address
    - `provider_zip` string: Service provider's zip code
    - `report_flags` boolean: Use `with_alerts` instead
    - `with_alerts` boolean: If true, return the list of OneVerify alerts

## Response `202`

Successful Response

- JobMetadataResponse
  - `completed` integer, required
  - `failed` integer, required
  - `in_process` integer, required
  - `job_id` string, required
  - `results_url` string, required: Results endpoint for this job. Returns a download link once the job has completed.
  - `status` 'running' | 'completed' | 'failed' | 'cancelled', required
  - `status_url` string, required: Poll this URL for the current job status and progress counts.
  - `total` integer, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error
- `504`: Gateway Timeout

## Changes

- **2026-11-03** `f90ee559b8c7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/meetnirvana/apis/nirvana-api/changes/v1/jobs/estimate/json/post.md)

---

[API](https://skmtc.dev/meetnirvana/apis/nirvana-api.md) - [All operations](https://skmtc.dev/meetnirvana/apis/nirvana-api/llms.txt) - [OpenAPI document](https://skmtc.dev/meetnirvana/apis/nirvana-api/revisions/f90ee559b8c7?raw)
