Returns the signed-in user's profile: business name, address, saved payment instructions, whether their email is confirmed (required before sending invoices), whether they can take card payments, and client/invoice counts. Call this first to know who you are acting for.
Takes no parameters.
Lists the user's clients (people or companies they invoice), optionally filtered by a search term matched against name, email and company. Use it to find a client_id before creating an invoice.
Parametersquery
Creates a new client to invoice. Name and email are required; the email is where invoices are sent. Check list_clients first so you do not create duplicates.
Parametersnamerequiredemailrequirednotesphoneaddresscompany_name
Updates an existing client's details. Only the fields you pass are changed.
Parametersnameemailnotesphonestatusaddressclient_idrequiredcompany_name
Lists the user's invoices, newest first, without line items. Filter by status (draft, sent, paid), by client, or overdue_only for unpaid invoices past their due date (there is no 'overdue' status; use overdue_only). Use get_invoice for full detail.
Parameterslimitstatusclient_idoverdue_only
Returns one invoice with its line items, totals, status, the client it is for, a public_url the client can open, and a payment link if one exists.
Parametersinvoice_idrequired
Creates a draft invoice with line items for an existing client. Identify the client by client_id or client_email (must already exist; use create_client otherwise). Totals are computed server-side: subtotal + tax% + late_fee. Nothing is emailed until you call send_invoice. Returns the invoice, including its invoice_number and public_url.
Parameterstaxdatetermsthemedue_datelate_feeclient_idline_itemsrequiredclient_emailbusiness_namebusiness_addresspayment_instructions
Updates an invoice. Only fields you pass change. If you pass line_items, they REPLACE the existing line items entirely, so include every item that should remain. Works on draft and sent invoices; re-send with send_invoice if the client needs the new version.
Parameterstaxdatetermsthemedue_datelate_feeclient_idinvoice_idrequiredline_itemsclient_emailbusiness_namebusiness_address+1 more
Emails the invoice (with a PDF attached) to the client's email address and marks it as sent. This contacts a real person: confirm with the user before calling. Requires at least one line item and a confirmed user email. If the user takes card payments, a Stripe payment link is added first.
Parametersinvoice_idrequired
Marks an invoice as paid, for payments received outside InvoiceBloom (bank transfer, cash, cheque). Card payments through the payment link are recorded automatically.
Parametersinvoice_idrequired
Permanently deletes an invoice and its line items. Cannot be undone. Confirm with the user before calling; prefer leaving paid invoices in place for their records.
Parametersinvoice_idrequired