Skip to main content
PATCH
cURL

Authorizations

Authorization
string
header
required

An Invoice-AI API key sent as Authorization: Bearer inv_live_….

Create keys in Settings → API keys; the secret is shown once. Each key carries scopes, and every operation lists the scope it needs (x-required-scope):

  • business:read — Read your business profile, tax ID and bank details
  • clients:read — List and read your clients
  • clients:write — Create, update and archive clients
  • products:read — List and read products and prices
  • products:write — Create, update and archive products and prices
  • invoices:read — List and read invoices, including PDFs
  • invoices:write — Create, edit and delete drafts
  • invoices:finalize — Finalize invoices and void them
  • invoices:send — Email invoices to your clients
  • payments:write — Mark invoices as paid
  • webhooks:manage — Manage webhook endpoints

Keys cannot be created or revoked through the API, so a leaked key cannot mint more keys.

Path Parameters

id
string
required

The customer, cus_… or UUID.

Example:

"cus_Nf3kQ8pR2mX7vB1cT9wL4sZ6"

Body

application/json

Any subset of the create fields. Omitted fields are left unchanged.

name
string

Full name or legal business name.

Minimum string length: 1
Example:

"Acme Industries"

email

Billing email. POST /invoices/{id}/send delivers here unless you pass to. "" clears it.

Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
phone
string

Phone number, free text.

tax_id
string

Tax registration number (VAT, EIN, GSTIN…), free text — no format check.

address
object

Billing address. Every field is optional.

Response

The updated customer.

data
object
required

The updated customer.