Sales Engine
API documentation
ProjectsOperation projects.invoices.update

Projects invoices update

Edit an invoice or mark it paid.

PATCH/api/v1/projects/{id}/invoices/{invoiceId}
Scope write: Create and edit lists, research, sequences, campaigns, memory, signals and learning; queue jobs.

Parameters

Path

NameInDescription
idrequiredpathThe record's id.
invoiceIdrequiredpathThe record's id.

Body

A JSON object. Fields not listed are ignored.

NameInDescription
titlebodyWhat it is for.
amountbodyAmount, a number.
statusbodyunpaid, paid or void. One of unpaid, paid, void.
due_datebodyYYYY-MM-DD.
file_idbodyA project file.
pay_urlbodyA payment link.
client_visiblebody, booleanShow it on the portal.

Example

curl
curl -X PATCH "https://crm.ashwanth.dev/api/v1/projects/{id}/invoices/{invoiceId}" \
  -H "Authorization: Bearer $SALES_ENGINE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "",
  "amount": "",
  "status": "unpaid",
  "due_date": "",
  "file_id": "",
  "pay_url": "",
  "client_visible": false
}'
CLI
sales-engine projects invoices update <id> <invoiceId>

The JSON above lists every documented field with a typed placeholder; send only the ones you mean.

Response

A 200 with the result under data, on creation too. Errors come back as an error object with a stable code; see Errors.

Shape
{
  "data": { ... }
}

Run it below to see the live shape for your workspace.

Try it

Runs against this server, as the workspace behind the key.
Kept in this page while you browse the docs, gone on reload, never stored. Signed in to the app? Leave it blank and the call runs as you.
Path
required
The record's id.
required
The record's id.
Every documented field is listed above; leave out the ones you do not need.
Request
PATCH /api/v1/projects/%7Bid%7D/invoices/%7BinvoiceId%7D
Fill the path first.

Also in Projects