Invoices
Update an invoice
Updates an invoice. Every field is optional, and anything you leave out keeps its current value.
Only four things can change here: who the invoice is addressed to, its title, its currency and when it is due. The client company and the project are fixed once the invoice exists, and line items have their own endpoints.
An invoice that is paid or has a payment in progress cannot be edited at all, and returns 403.
patch/public-api/v1/invoices/{id}
Request
- Base URLhttps://app.hellobonsai.com
- URLhttps://app.hellobonsai.com/public-api/v1/invoices/{id}
- Auth
- OAuth 2Authorization code: https://app.hellobonsai.com/oauth/authorizeToken URL: https://app.hellobonsai.com/oauth/token
- or HTTP bearer
Path parameters
idinteger required
Id of the invoice to update.
Request body
Example request
{
"invoice": {
"contact_id": 7,
"currency": "USD",
"title": "Acme Corp Invoice",
"due_date": "2026-04-28"
}
}Response
The invoice was updated.
Example response
{
"data": {
"id": 3310,
"invoice_number": "INV-001",
"title": "Acme Corp Invoice",
"currency": "USD",
"issued_date": "2026-04-14",
"due_date": "2026-04-28",
"sent_date": "2026-04-14T09:12:04.000Z",
"project_id": 51,
"client_email": "alex@example.com",
"public_url_token": "x7f2a9c4b1e8d",
"created_at": "2026-04-14T09:12:04.000Z",
"total_amount": "200.0",
"discount_amount": "25.0",
"status": "outstanding",
"due_date_option": "custom",
"company_id": 42,
"client_name": "Acme Corp",
"subtotal": "200.0",
"tax_amount": "0.0",
"kind": "recurring",
"repeat_interval": "monthly",
"repeat_finish_date": "2027-04-14",
"series_id": 3310,
"recurrence_active": true,
"url": "https://app.hellobonsai.com/invoices/3391",
"invoice_items": [
{
"id": 4471,
"name": "Design",
"description": "Homepage and pricing page",
"amount": "2.0",
"rate": "100.0",
"unit_type": "per_hour",
"total": "200.0"
}
]
},
"meta": {
"request_id": "b1f0d2c4-7a9e-4c3b-8d5f-1e2a3b4c5d6e"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.