Price List
Manage price lists and price items for medical providers. Price lists define the agreed-upon pricing for medical services and are referenced during Prior Authorization processing for price validation and adjudication.
Base URL:
https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list
All endpoints require HTTPS and must include a valid access-key header. See Authentication for details.
Create Price List
POST /create
Create a new price list for a medical provider. A price list defines the effective date range and can optionally include an initial set of price items. The provider is identified by their CCHI ID or ERP code.
Request Body
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
start_date * | string | Yes | ISO 8601 DateTime | Start date of the price list (e.g., 2026-01-01T00:00:00.000Z) |
end_date * | string | Yes | ISO 8601 DateTime | End date of the price list (e.g., 2026-12-31T23:59:59.000Z) |
provider_cchi_id * | string | Yes | - | Medical provider CCHI ID or ERP code |
price_list_erp_id * | string | Yes | - | Unique ERP ID for the price list |
price_items * | object[] | Yes | Array of price items | List of price items to include (see Price Item fields below) |
Price Item Fields
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
department * | string | Yes | Max 100 chars | Department name |
provider_service_Code * | string | Yes | Max 50 chars | Provider service code |
provider_service_description * | string | Yes | Max 255 chars | Service description |
provider_service_type * | string | Yes | Max 50 chars | Service type |
nphies_code * | string | Yes | Max 50 chars | NPHIES code |
nphies_type * | string | Yes | Max 50 chars | NPHIES type |
price * | number | Yes | >= 0, 2 decimals | Standard price |
price_item_erp_id * | string | Yes | Max 255 chars | Unique ERP ID for the price item |
date_start * | string | Yes | ISO 8601 DateTime | Item effective start date |
date_end * | string | Yes | ISO 8601 DateTime | Item effective end date |
gross | number | No | >= 0, 2 decimals | Gross amount |
discount | number | No | >= 0, 2 decimals | Discount amount |
nphies_id | string | No | Max 255 chars | NPHIES ID |
length_of_stay | string | No | Max 20 chars | Length of stay |
category | string | No | Max 20 chars | Category code |
Request Example
- cURL
- JavaScript
- Python
curl -X POST \
"https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list/create" \
-H "access-key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"start_date": "2026-01-01T00:00:00.000Z",
"end_date": "2026-12-31T23:59:59.000Z",
"provider_cchi_id": "1234567890",
"price_list_erp_id": "PL-2026-001",
"price_items": [
{
"department": "Cardiology",
"provider_service_Code": "SRV-001",
"provider_service_description": "Cardiac Consultation",
"provider_service_type": "Consultation",
"nphies_code": "NPH-001",
"nphies_type": "Medical",
"price": 350.00,
"gross": 400.00,
"discount": 50.00,
"price_item_erp_id": "PI-001",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-12-31T23:59:59.000Z"
}
]
}'
const response = await fetch(
"https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list/create",
{
method: "POST",
headers: {
"access-key": "your-api-key-here",
"Content-Type": "application/json",
},
body: JSON.stringify({
start_date: "2026-01-01T00:00:00.000Z",
end_date: "2026-12-31T23:59:59.000Z",
provider_cchi_id: "1234567890",
price_list_erp_id: "PL-2026-001",
price_items: [
{
department: "Cardiology",
provider_service_Code: "SRV-001",
provider_service_description: "Cardiac Consultation",
provider_service_type: "Consultation",
nphies_code: "NPH-001",
nphies_type: "Medical",
price: 350.0,
gross: 400.0,
discount: 50.0,
price_item_erp_id: "PI-001",
date_start: "2026-01-01T00:00:00.000Z",
date_end: "2026-12-31T23:59:59.000Z",
},
],
}),
}
);
const data = await response.json();
console.log(data);
import requests
url = "https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list/create"
payload = {
"start_date": "2026-01-01T00:00:00.000Z",
"end_date": "2026-12-31T23:59:59.000Z",
"provider_cchi_id": "1234567890",
"price_list_erp_id": "PL-2026-001",
"price_items": [
{
"department": "Cardiology",
"provider_service_Code": "SRV-001",
"provider_service_description": "Cardiac Consultation",
"provider_service_type": "Consultation",
"nphies_code": "NPH-001",
"nphies_type": "Medical",
"price": 350.00,
"gross": 400.00,
"discount": 50.00,
"price_item_erp_id": "PI-001",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-12-31T23:59:59.000Z",
}
],
}
headers = {
"access-key": "your-api-key-here",
"Content-Type": "application/json",
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Response
201 Created
Returns the created price list with its items.
{
"id": 1,
"start_date": "2026-01-01T00:00:00.000Z",
"end_date": "2026-12-31T23:59:59.000Z",
"price_list_erp_id": "PL-2026-001",
"price_items": [
{
"id": 1,
"department": "Cardiology",
"provider_service_Code": "SRV-001",
"provider_service_description": "Cardiac Consultation",
"provider_service_type": "Consultation",
"nphies_code": "NPH-001",
"nphies_type": "Medical",
"price": 350.00,
"gross": 400.00,
"discount": 50.00,
"price_item_erp_id": "PI-001",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-12-31T23:59:59.000Z"
}
]
}
Error Responses
| Status | Description |
|---|---|
| 400 | Bad Request - Invalid or missing fields in the request body |
| 404 | Not Found - Medical provider with given CCHI ID not found |
Create Price Items (Bulk)
POST /items/create
Create price items in bulk for an existing price list. Use this endpoint to add new items to a price list that was previously created without items, or to append additional items.
Request Body
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
price_list_erp_id * | string | Yes | - | ERP ID of the target price list |
price_items * | object[] | Yes | Non-empty array | Array of price items to create |
Each object in price_items uses the same fields as the Price Item Fields table above.
Request Example
- cURL
- JavaScript
- Python
curl -X POST \
"https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list/items/create" \
-H "access-key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"price_list_erp_id": "PL-2026-001",
"price_items": [
{
"department": "Radiology",
"provider_service_Code": "SRV-100",
"provider_service_description": "Chest X-Ray",
"provider_service_type": "Diagnostic",
"nphies_code": "NPH-100",
"nphies_type": "Medical",
"price": 150.00,
"gross": 180.00,
"discount": 30.00,
"price_item_erp_id": "PI-100",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-12-31T23:59:59.000Z"
},
{
"department": "Laboratory",
"provider_service_Code": "SRV-200",
"provider_service_description": "Complete Blood Count",
"provider_service_type": "Lab Test",
"nphies_code": "NPH-200",
"nphies_type": "Medical",
"price": 75.00,
"price_item_erp_id": "PI-200",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-06-30T23:59:59.000Z"
}
]
}'
const response = await fetch(
"https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list/items/create",
{
method: "POST",
headers: {
"access-key": "your-api-key-here",
"Content-Type": "application/json",
},
body: JSON.stringify({
price_list_erp_id: "PL-2026-001",
price_items: [
{
department: "Radiology",
provider_service_Code: "SRV-100",
provider_service_description: "Chest X-Ray",
provider_service_type: "Diagnostic",
nphies_code: "NPH-100",
nphies_type: "Medical",
price: 150.0,
gross: 180.0,
discount: 30.0,
price_item_erp_id: "PI-100",
date_start: "2026-01-01T00:00:00.000Z",
date_end: "2026-12-31T23:59:59.000Z",
},
{
department: "Laboratory",
provider_service_Code: "SRV-200",
provider_service_description: "Complete Blood Count",
provider_service_type: "Lab Test",
nphies_code: "NPH-200",
nphies_type: "Medical",
price: 75.0,
price_item_erp_id: "PI-200",
date_start: "2026-01-01T00:00:00.000Z",
date_end: "2026-06-30T23:59:59.000Z",
},
],
}),
}
);
const data = await response.json();
console.log(data);
import requests
url = "https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list/items/create"
payload = {
"price_list_erp_id": "PL-2026-001",
"price_items": [
{
"department": "Radiology",
"provider_service_Code": "SRV-100",
"provider_service_description": "Chest X-Ray",
"provider_service_type": "Diagnostic",
"nphies_code": "NPH-100",
"nphies_type": "Medical",
"price": 150.00,
"gross": 180.00,
"discount": 30.00,
"price_item_erp_id": "PI-100",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-12-31T23:59:59.000Z",
},
{
"department": "Laboratory",
"provider_service_Code": "SRV-200",
"provider_service_description": "Complete Blood Count",
"provider_service_type": "Lab Test",
"nphies_code": "NPH-200",
"nphies_type": "Medical",
"price": 75.00,
"price_item_erp_id": "PI-200",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-06-30T23:59:59.000Z",
},
],
}
headers = {
"access-key": "your-api-key-here",
"Content-Type": "application/json",
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Response
201 Created
Returns the created price items.
{
"price_list_erp_id": "PL-2026-001",
"created_items": [
{
"id": 2,
"department": "Radiology",
"provider_service_Code": "SRV-100",
"provider_service_description": "Chest X-Ray",
"provider_service_type": "Diagnostic",
"nphies_code": "NPH-100",
"nphies_type": "Medical",
"price": 150.00,
"gross": 180.00,
"discount": 30.00,
"price_item_erp_id": "PI-100",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-12-31T23:59:59.000Z"
},
{
"id": 3,
"department": "Laboratory",
"provider_service_Code": "SRV-200",
"provider_service_description": "Complete Blood Count",
"provider_service_type": "Lab Test",
"nphies_code": "NPH-200",
"nphies_type": "Medical",
"price": 75.00,
"price_item_erp_id": "PI-200",
"date_start": "2026-01-01T00:00:00.000Z",
"date_end": "2026-06-30T23:59:59.000Z"
}
]
}
Error Responses
| Status | Description |
|---|---|
| 400 | Bad Request - Invalid or missing fields in the request body |
| 404 | Not Found - Price list with given ERP ID not found |
Update Price Item
PATCH /item/update/:price_item_erp_id
Update an existing price item. Only the fields included in the request body will be updated. Use this to adjust pricing, gross amounts, discounts, or extend the end date of a price item.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
price_item_erp_id * | string | Yes | ERP ID of the price item to update |
Request Body
All fields are optional. Only include the fields you want to update.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
price | number | No | >= 0, 2 decimals | Updated standard price |
gross | number | No | >= 0, 2 decimals | Updated gross amount |
discount | number | No | >= 0, 2 decimals | Updated discount amount |
end_date | string | No | ISO 8601 DateTime | Updated end date (e.g., 2026-12-31T23:59:59.000Z) |
Request Example
- cURL
- JavaScript
- Python
curl -X PATCH \
"https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list/item/update/PI-001" \
-H "access-key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"price": 375.00,
"gross": 425.00,
"discount": 50.00,
"end_date": "2027-06-30T23:59:59.000Z"
}'
const priceItemErpId = "PI-001";
const response = await fetch(
`https://api.{client_namespace}.najeeb.ai/v4.0/health/price-list/item/update/${priceItemErpId}`,
{
method: "PATCH",
headers: {
"access-key": "your-api-key-here",
"Content-Type": "application/json",
},
body: JSON.stringify({
price: 375.0,
gross: 425.0,
discount: 50.0,
end_date: "2027-06-30T23:59:59.000Z",
}),
}
);
const data = await response.json();
console.log(data);
import requests
price_item_erp_id = "PI-001"
url = f"https://api.{{client_namespace}}.najeeb.ai/v4.0/health/price-list/item/update/{price_item_erp_id}"
payload = {
"price": 375.00,
"gross": 425.00,
"discount": 50.00,
"end_date": "2027-06-30T23:59:59.000Z",
}
headers = {
"access-key": "your-api-key-here",
"Content-Type": "application/json",
}
response = requests.patch(url, json=payload, headers=headers)
print(response.json())
Response
200 OK
{
"message": "Price item updated successfully"
}
Error Responses
| Status | Description |
|---|---|
| 400 | Bad Request - Invalid fields in the request body |
| 404 | Not Found - Price item with given ERP ID not found |
Related Resources
- Prior Authorization - Price lists are used in prior authorization processing for price validation
- Overview - Back to API overview