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 price, price_… or UUID.

Example:

"price_Jc5Tn8Wq1Ze6Ra3Ym9Ub2Gs7"

Body

application/json

Any subset of fields. Omitted fields are left unchanged.

product
string

Not updatable — sending it is a 422. Create a new price on the other product instead.

Minimum string length: 1
nickname
string | null

Internal label. null or "" clears it.

unit_amount
integer

Price per unit in integer minor units (2500000 is $25,000.00).

Required range: 0 <= x <= 9007199254740991
Example:

2500000

currency
string

ISO 4217 code, three letters (uppercased for you). Must match the invoice currency when billed.

Required string length: 3
Pattern: ^[A-Z]{3}$
Example:

"USD"

type
enum<string>

Switching to one_time clears the interval; switching to recurring needs recurring.interval unless one is stored.

Available options:
one_time,
recurring
Example:

"recurring"

recurring
object

Required when type is recurring; must be omitted for one_time.

tax_rate
number

Default tax percentage, 0–100, for lines billed from this price. Defaults to 0.

Required range: 0 <= x <= 100
Example:

0

active
boolean

false archives, true restores.

Example:

true

Response

The updated price.

data
object
required

The updated price.