Update invoice
Update an existing invoice.
/invoices/{id}Update an existing invoice.
Related endpoints
GET /invoices/{id}/usage-explain— Explain invoice usage chargesGET /invoices— List invoicesPOST /invoices— Create invoiceGET /invoices/{id}— Get invoiceGET /invoices/{id}/pdf— Get invoice PDF linkPOST /invoices/{id}/finalize— Finalize an invoicePOST /invoices/{id}/void— Void an invoicePOST /invoices/{id}/send— Send an invoice
Common errors
400 invalid_request— malformed payload or failed validation.
Idempotency
Pass an Idempotency-Key header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see the idempotency guide.
Your RevKeen merchant API key. Create and manage keys in Dashboard → Settings → Developer. Use rk_sandbox_* for staging/test and rk_live_* for production. The same key may be sent as Authorization: Bearer <key> if that suits your HTTP client better. A missing, invalid, expired, or revoked key returns 401 with a WWW-Authenticate: Bearer challenge; a valid key without the required scope returns 403.
In: header
Scope: invoices:write
Path Parameters
uuidRequest Body
application/json
Invoice update details
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PATCH "https://api.revkeen.com/v2/invoices/11111111-1111-4111-8111-111111111111" \
-H "x-api-key: $REVKEEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"total_minor": 1,
"due_date": "example",
"allowed_methods": [
"card",
"direct_debit"
],
"subscription_terms": {
"collection_method": "charge_automatically",
"start_mode": "when_paid",
"duration_type": "until_cancelled",
"first_payment_behavior": "charge_first_cycle_now"
}
}'Synthetic documentation data, validated against the response schema; not a live API result.
{ "data": { "id": "f1a2b3c4-d5e6-4270-8a9b-0c1d2e3f4a21", "customer_uuid": "c2a1e7d4-5b3f-4a8e-9d21-6f0b3e4c7a11", "invoice_number": "INV-0042", "total_minor": 5880, "currency": "GBP", "allowed_methods": [ "card" ], "status": "paid", "due_date": "2026-04-16T10:00:00.000Z", "external_source": null, "external_type": null, "external_id": null, "hosted_invoice_url": "https://pay.revkeen.com/inv_example_0042", "created_at": "2026-04-16T10:00:00.000Z", "updated_at": "2026-04-16T10:02:00.000Z" }, "requestId": "req_7f3a9c2e5b1d"}