Invoice API
Manage patient invoices, billing records, and payment tracking.
Base Information
- Base Path:
/invoice/ - Authentication:
OAuth2PasswordBearer
Invoice Status
The following invoice statuses are supported:
| Status | Description |
|---|---|
DRAFT | Invoice has been created but not yet issued |
ISSUED | Invoice has been issued to the patient |
PARTIALY_PAID | Invoice is partially paid |
PAID | Invoice is fully paid |
VOID | Invoice has been cancelled |
WRITTEN_OFF | Invoice has been written off |
Create Invoice
Creates a new invoice.
Endpoint
POST /invoice/
Request Body
{
"issue_date": "2026-06-01T05:53:48.451968",
"due_date": "2019-08-24T14:15:22Z",
"status": "DRAFT",
"discount_amount": 0,
"discount_percent": 0,
"paid_amount": 0,
"appointment_id": "uuid",
"patient_id": "uuid",
"items": []
}
Response (201 Created)
{
"issue_date": "2026-06-01T05:53:48.451968",
"due_date": "2019-08-24T14:15:22Z",
"status": "DRAFT",
"discount_amount": 0,
"discount_percent": 0,
"paid_amount": 0,
"appointment_id": "uuid",
"patient_id": "uuid",
"id": "uuid",
"subtotal": 0,
"remaining_amount": 0,
"total_amount": 0,
"reg_number": "string",
"items": []
}
Get All Invoices
Returns a paginated list of invoices.
Endpoint
GET /invoice/
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| limit | integer | 100 | Maximum records to return |
| offset | integer | 0 | Pagination offset |
| order_by | string | created_at | Sort field |
| search | string | null | Search text |
| tags | array | [] | Filter by tags |
| patient_id | uuid | null | Filter by patient |
| appointment_id | uuid | null | Filter by appointment |
| status | string | null | Filter by invoice status |
Response (200 OK)
{
"total": 0,
"offset": 0,
"limit": 0,
"data": []
}
Get Invoice By ID
Returns details of a specific invoice.
Endpoint
GET /invoice/{id}
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| id | uuid | Invoice ID |
Response (200 OK)
{
"issue_date": "2026-06-01T05:53:48.451968",
"due_date": "2019-08-24T14:15:22Z",
"status": "DRAFT",
"discount_amount": 0,
"discount_percent": 0,
"paid_amount": 0,
"appointment_id": "uuid",
"patient_id": "uuid",
"id": "uuid",
"subtotal": 0,
"remaining_amount": 0,
"total_amount": 0,
"reg_number": "string",
"items": []
}
Update Invoice
Updates an existing invoice.
Endpoint
PUT /invoice/{id}
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| id | uuid | Invoice ID |
Request Body
{
"issue_date": "2026-06-01T05:53:48.451968",
"due_date": "2019-08-24T14:15:22Z",
"status": "DRAFT",
"discount_amount": 0,
"discount_percent": 0,
"paid_amount": 0,
"appointment_id": "uuid",
"patient_id": "uuid",
"items": []
}
Response (200 OK)
{
"issue_date": "2026-06-01T05:53:48.451968",
"due_date": "2019-08-24T14:15:22Z",
"status": "DRAFT",
"discount_amount": 0,
"discount_percent": 0,
"paid_amount": 0,
"appointment_id": "uuid",
"patient_id": "uuid",
"id": "uuid",
"subtotal": 0,
"remaining_amount": 0,
"total_amount": 0,
"reg_number": "string",
"items": []
}