Skip to main content

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:

StatusDescription
DRAFTInvoice has been created but not yet issued
ISSUEDInvoice has been issued to the patient
PARTIALY_PAIDInvoice is partially paid
PAIDInvoice is fully paid
VOIDInvoice has been cancelled
WRITTEN_OFFInvoice 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

ParameterTypeDefaultDescription
limitinteger100Maximum records to return
offsetinteger0Pagination offset
order_bystringcreated_atSort field
searchstringnullSearch text
tagsarray[]Filter by tags
patient_iduuidnullFilter by patient
appointment_iduuidnullFilter by appointment
statusstringnullFilter 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

ParameterTypeDescription
iduuidInvoice 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

ParameterTypeDescription
iduuidInvoice 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": []
}