---
title: "POST /api/line_items"
method: POST
path: "/api/line_items"
tags: ["Billing"]
---

# POST /api/line_items

`POST /api/line_items`

## Request

- Base URL: `https://app.drchrono.com`
- URL: `https://app.drchrono.com/api/line_items`
- Auth: OAuth 2
  - Authorization code: `https://app.drchrono.com/o/authorize/`
  - Token URL: `https://app.drchrono.com/o/token/` scopes: `billing:read`, `billing:write`

Create billing line item for appointments

## Query parameters

- `posted_date` string
- `patient` integer
- `office` integer
- `doctor` integer
- `since` string
- `appointment` integer
- `service_date` string
- `use_fee_schedule_defaults` boolean

## Response `201`

Created

- BillingLineItem
  - `code` string, required
  - `ins3_paid` number: Amount paid by patinet's tertiary insurer
  - `updated_at` string
  - `posted_date` string: date of line_item creation
  - `billing_status` '' | 'Incomplete Information' | 'In Process Emdeon' | 'In Process iHCFA' | 'In Process Gateway' | 'In Process Jopari' | 'In Process Waystar' | 'In Process EPS' | 'Rejected Emdeon' | 'Rejected iHCFA' | 'Rejected Gateway' | 'Rejected Jopari' | 'Rejected Waystar' | 'Rejected EPS' | 'In Process Payer' | 'Payer Acknowledged' | 'Rejected Payer' | 'Paid in Full' | 'Partially Paid' | 'Coordination of Benefits' | 'ERA Received' | 'ERA Denied': One of `""`, `"Incomplete Information"`, `"In Process Emdeon"`, `"In Process iHCFA"`, `"In Process Gateway"`, `"Rejected Emdeon"`, `"Rejected iHCFA"`, `"Rejected Gateway"`, `"In Process Payer"`, `"Payer Acknowledged"`, `"Rejected Payer"`, `"Paid in Full"`, `"Partially Paid"`, `"Coordination of Benefits"`, `"ERA Received"`, `"ERA Denied"`
  - `pt_paid` number: Amount paid by patient
  - `allowed` number: Amount allowed by insurance
  - `patient` string: Patient ID
  - `adjustment` number: Adjustment from total billed
  - `id` integer
  - `doctor` string: Doctor ID
  - `balance_pt` number: Patient balance
  - `units` string: Default to "UN"
  - `balance_ins` number: Insurance balance
  - `paid_total` string: Total amount paid
  - `diagnosis_pointers` string[], required: List of 4 diagnosis pointers
  - `appointment` integer, required: Appointment ID
  - `description` string
  - `balance_total` string: Total balance
  - `price` number: Price of procedure
  - `expected_reimbursement` number
  - `ins2_paid` number: Amount paid by patient's secondary insurer
  - `ins1_paid` number: Amount paid by patient's primary insurer
  - `insurance_status` string: This corresponds to the "Status/Adj Type" from billing detail screen
  - `billed` number: Total billed
  - `modifiers` string[]: List of 4 code modifiers
  - `denied_flag` boolean
  - `ins_total` string: Total amount paid by patient's insurers
  - `procedure_type` 'C' | 'H' | 'U' | 'S', required: One of `"CPT(C)"`, `"HCPCS(H)"`, `"Custom(U)"`, use 1 character identifier when using `POST`
  - `service_date` string: Date on which the service was rendered
  - `quantity` number

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Permission Denied
- `404`: Not Found
- `405`: Method Not Allowed
- `500`: Internal Server Error

## Changes

- **2026-07-13** `1f92de898aec`: 1 info
  - added the new optional `query` request parameter `use_fee_schedule_defaults`

[Operation history](https://skmtc.dev/drchrono/apis/drchrono-api/changes/api/line_items/post.md)

---

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