Method
GET /v1/billing/invoices/:invoiceId
Path Parameters
Invoice identifier.
Headers
Bearer token with
billing:read scope.curl "https://api.voyantcloud.com/v1/billing/invoices/4a9a807e-5c7c-4f57-8e6d-2c6f1b1c5d10" \
-H "Authorization: Bearer $VOYANT_API_KEY"
{
"id": "4a9a807e-5c7c-4f57-8e6d-2c6f1b1c5d10",
"number": "INV-2025-00012",
"series": "INV",
"status": "draft",
"currency": "EUR",
"issueDate": "2025-02-15T00:00:00.000Z",
"dueDate": "2025-03-01T00:00:00.000Z",
"subtotal": null,
"discountTotal": null,
"taxTotal": null,
"total": null,
"buyerAddress": {
"company": "Voyant Travel SRL",
"vat": "RO12345678",
"country": "RO"
},
"createdAt": "2025-02-15T10:25:14.000Z",
"updatedAt": "2025-02-15T10:25:14.000Z",
"lines": [
{
"id": "lin_01J0NS7V32KCJ4YQF8WF8A9E2V",
"lineNo": 1,
"description": "Summer cruise package",
"quantity": "1",
"unit": null,
"unitPrice": "2450",
"discountAmount": "0",
"taxRate": "0",
"lineTotal": "2450"
}
]
}
Retrieve a single invoice, including lines and monetary totals.
GET /v1/billing/invoices/:invoiceId
billing:read scope.curl "https://api.voyantcloud.com/v1/billing/invoices/4a9a807e-5c7c-4f57-8e6d-2c6f1b1c5d10" \
-H "Authorization: Bearer $VOYANT_API_KEY"
{
"id": "4a9a807e-5c7c-4f57-8e6d-2c6f1b1c5d10",
"number": "INV-2025-00012",
"series": "INV",
"status": "draft",
"currency": "EUR",
"issueDate": "2025-02-15T00:00:00.000Z",
"dueDate": "2025-03-01T00:00:00.000Z",
"subtotal": null,
"discountTotal": null,
"taxTotal": null,
"total": null,
"buyerAddress": {
"company": "Voyant Travel SRL",
"vat": "RO12345678",
"country": "RO"
},
"createdAt": "2025-02-15T10:25:14.000Z",
"updatedAt": "2025-02-15T10:25:14.000Z",
"lines": [
{
"id": "lin_01J0NS7V32KCJ4YQF8WF8A9E2V",
"lineNo": 1,
"description": "Summer cruise package",
"quantity": "1",
"unit": null,
"unitPrice": "2450",
"discountAmount": "0",
"taxRate": "0",
"lineTotal": "2450"
}
]
}
quantity, unitPrice, and monetary totals are stored as strings to preserve precision. Convert them to numeric types in your reporting layer as needed.