Invoices
Requests that relate to viewing invoice information. Access to the requests is controlled by the invoice reading permission (Billing & Invoices section in Security Policies in the Designer).
Request for all invoices on an instance.
Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.
Your organization (tenant) name, e.g. acme-health
acme-healthYour environment name: live, sandbox, or a custom name
liveNumber of results per page
20List sorting
dueDate,descPage number, numbering starts at 0
0Example: 0Paginated list of invoices.
⚠️ Unverified: no backing REST controller for this exact path could be found in the backend source — invoicing is handled by a separate invoice-service, and this repo only contains a thin outbound HTTP client. The schema is inferred from that client's response deserialization and has not been directly confirmed against a live controller.
Standard paginated response wrapper.
Total number of matching records
Total number of pages
Current page number (zero-based)
Page size
Number of elements on the current page
Bad request — the request could not be understood or was missing required parameters.
Unauthorized — the Bearer token is missing, expired, or invalid.
Forbidden — the API client role does not have permission for this resource. Check the role and security policy in Admin.
Not found — the requested resource does not exist.
Too many requests — rate limit exceeded. Implement exponential backoff.
Internal server error.
GET /{tenantName}/{instanceName}/invoice/invoices HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"content": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"customInvoiceId": "text",
"status": "text",
"paymentTypeInfo": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"billingType": "SELF_PAY",
"dueDate": "2026-01-01T00:00:00.000Z",
"invoiceDate": "2026-01-01T00:00:00.000Z",
"invoiceItems": [
{
"id": "text",
"description": "text",
"quantity": 1,
"unitAmount": 1,
"serviceCode": "text",
"serviceModifiers": [
"text"
]
}
],
"careMember": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"patient": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"amount": 1,
"amountPaid": 1,
"relatedEncounters": [
"123e4567-e89b-12d3-a456-426614174000"
]
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageSize": 1,
"pageNumber": 1,
"offset": 1,
"unpaged": true,
"paged": true
},
"totalElements": 1,
"totalPages": 1,
"last": true,
"first": true,
"number": 1,
"size": 1,
"numberOfElements": 1,
"empty": true,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
}
}A request to get a specific invoice. invoice_id is the internal invoice id (not customInvoiceId, which is displayed on the UI).
The invoice_id can be taken from other get requests
Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.
Your organization (tenant) name, e.g. acme-health
acme-healthYour environment name: live, sandbox, or a custom name
liveUUID of the invoice
Invoice.
Schema confirmed against the backend's outbound client to the invoice-service (InvoiceServiceApiClientImpl).
Commonly one of: DRAFT, PENDING, VOIDED, PAID, PARTIALLY_PAID, OVERDUE, DELETED, PREAUTHORIZED.
Total in cents.
Amount paid in cents.
Bad request — the request could not be understood or was missing required parameters.
Unauthorized — the Bearer token is missing, expired, or invalid.
Forbidden — the API client role does not have permission for this resource. Check the role and security policy in Admin.
Not found — the requested resource does not exist.
Too many requests — rate limit exceeded. Implement exponential backoff.
Internal server error.
GET /{tenantName}/{instanceName}/invoice/invoices/{invoiceId} HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"customInvoiceId": "text",
"status": "text",
"paymentTypeInfo": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"billingType": "SELF_PAY",
"dueDate": "2026-01-01T00:00:00.000Z",
"invoiceDate": "2026-01-01T00:00:00.000Z",
"invoiceItems": [
{
"id": "text",
"description": "text",
"quantity": 1,
"unitAmount": 1,
"serviceCode": "text",
"serviceModifiers": [
"text"
]
}
],
"careMember": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"patient": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"amount": 1,
"amountPaid": 1,
"relatedEncounters": [
"123e4567-e89b-12d3-a456-426614174000"
]
}Request to get all invoices for the patient.
Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.
Your organization (tenant) name, e.g. acme-health
acme-healthYour environment name: live, sandbox, or a custom name
liveUUID of the patient record
Paginated list of invoices for this patient.
⚠️ Unverified: no backing REST controller for this exact path could be found in the backend source — invoicing is handled by a separate invoice-service, and this repo only contains a thin outbound HTTP client. The schema is inferred from that client's response deserialization and has not been directly confirmed against a live controller.
Standard paginated response wrapper.
Total number of matching records
Total number of pages
Current page number (zero-based)
Page size
Number of elements on the current page
Bad request — the request could not be understood or was missing required parameters.
Unauthorized — the Bearer token is missing, expired, or invalid.
Forbidden — the API client role does not have permission for this resource. Check the role and security policy in Admin.
Not found — the requested resource does not exist.
Too many requests — rate limit exceeded. Implement exponential backoff.
Internal server error.
GET /{tenantName}/{instanceName}/invoice/patients/{patientId}/invoices HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"content": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"customInvoiceId": "text",
"status": "text",
"paymentTypeInfo": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"billingType": "SELF_PAY",
"dueDate": "2026-01-01T00:00:00.000Z",
"invoiceDate": "2026-01-01T00:00:00.000Z",
"invoiceItems": [
{
"id": "text",
"description": "text",
"quantity": 1,
"unitAmount": 1,
"serviceCode": "text",
"serviceModifiers": [
"text"
]
}
],
"careMember": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"patient": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"amount": 1,
"amountPaid": 1,
"relatedEncounters": [
"123e4567-e89b-12d3-a456-426614174000"
]
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageSize": 1,
"pageNumber": 1,
"offset": 1,
"unpaged": true,
"paged": true
},
"totalElements": 1,
"totalPages": 1,
"last": true,
"first": true,
"number": 1,
"size": 1,
"numberOfElements": 1,
"empty": true,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
}
}Request to get all invoices for a specific encounter
Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.
Your organization (tenant) name, e.g. acme-health
acme-healthYour environment name: live, sandbox, or a custom name
liveUUID of the patient record
UUID of the encounter
Paginated list of invoices for this encounter.
Schema confirmed against the backend's outbound client to the invoice-service (InvoiceServiceApiClientImpl).
Standard paginated response wrapper.
Total number of matching records
Total number of pages
Current page number (zero-based)
Page size
Number of elements on the current page
Bad request — the request could not be understood or was missing required parameters.
Unauthorized — the Bearer token is missing, expired, or invalid.
Forbidden — the API client role does not have permission for this resource. Check the role and security policy in Admin.
Not found — the requested resource does not exist.
Too many requests — rate limit exceeded. Implement exponential backoff.
Internal server error.
GET /{tenantName}/{instanceName}/invoice/patients/{patientId}/encounters/{encounterId}/invoices HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"content": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"customInvoiceId": "text",
"status": "text",
"paymentTypeInfo": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"billingType": "SELF_PAY",
"dueDate": "2026-01-01T00:00:00.000Z",
"invoiceDate": "2026-01-01T00:00:00.000Z",
"invoiceItems": [
{
"id": "text",
"description": "text",
"quantity": 1,
"unitAmount": 1,
"serviceCode": "text",
"serviceModifiers": [
"text"
]
}
],
"careMember": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"patient": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"amount": 1,
"amountPaid": 1,
"relatedEncounters": [
"123e4567-e89b-12d3-a456-426614174000"
]
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
},
"pageSize": 1,
"pageNumber": 1,
"offset": 1,
"unpaged": true,
"paged": true
},
"totalElements": 1,
"totalPages": 1,
"last": true,
"first": true,
"number": 1,
"size": 1,
"numberOfElements": 1,
"empty": true,
"sort": {
"sorted": true,
"unsorted": true,
"empty": true
}
}Last updated
Was this helpful?