description, due_date, recipient, line_items, applicable_charges, tranches, client_meta, or customisation_meta — which is only allowed while the invoice is still in draft status, or (2) a status transition — changing status to a value allowed from the invoice's current status. A single request cannot combine a status change with any content field; doing so returns a 400 error. When line_items, applicable_charges, or tranches are supplied, all monetary totals (total_amount, total_deductible_charges, total_additional_charges) and per-item amount/resolved_amount values are recomputed server-side from scratch — you cannot set these derived amounts directly. Transitioning status to issued also stamps issued_at with the current time. Transitioning to void or cancelled is blocked once any payment has been received on the invoice (payment_status is no longer unpaid).curl --location --request PATCH '/invoices/01J3KQZM0000000000000000AB' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"status": "issued"
}'{
"message": "Invoice updated successfully",
"status": "success",
"data": {
"id": "01J3KQZM0000000000000000AB",
"entity_id": "01J3KQ0000000000000000ENTT",
"account_id": "01J3KQABC0000000000000000X",
"invoice_number": "INV-000123",
"currency": "NGN",
"description": "Consulting services rendered for Q3 2026",
"due_date": 1795564800000,
"status": "issued",
"issued_at": 1754388720000,
"fully_paid_at": null,
"payment_status": "unpaid",
"payment_intent_id": null,
"recipient": {
"name": "Ada Lovelace",
"email": "ada@example.com",
"mobile": "+2348012345678",
"address": {
"line_one": "12 Adeola Odeku Street",
"line_two": "Suite 4B",
"city": "Lagos",
"state": "Lagos State",
"country": "Nigeria",
"code": "106104",
"code_type": "postal"
}
},
"line_items": [
{
"id": "01J3KQXYZ0000000000000LI01",
"name": "Website redesign",
"description": null,
"unit_amount": 250000,
"quantity": 2,
"amount": 500000
}
],
"applicable_charges": [
{
"category": "tax",
"charge_name": "VAT",
"description": null,
"value": 7.5,
"value_type": "percentage",
"application_type": "additional",
"resolved_amount": 37500,
"basis": "subtotal",
"sequence": 1
}
],
"tranches": [
{
"id": "01J3KQXYZ0000000000000TR01",
"name": "Deposit",
"description": null,
"value": 50,
"value_type": "percentage",
"due_date": 1793059200000,
"resolved_amount": 268750,
"status": "pending"
},
{
"id": "01J3KQXYZ0000000000000TR02",
"name": "Balance",
"description": null,
"value": 50,
"value_type": "percentage",
"due_date": 1795564800000,
"resolved_amount": 268750,
"status": "pending"
}
],
"client_meta": {
"order_ref": "ORD-2026-0042"
},
"customisation_meta": {
"theme_color": "#1a73e8"
},
"total_amount": 537500,
"total_deductible_charges": 0,
"total_additional_charges": 37500,
"created": 1754388720000,
"updated": 1754392100000
}
}