Private preview of the new site. Not live.

invoices.create

Create an invoice without a quote, from lines the worker wrote (never filled in by AI). Optional due date, memo and deposit. Send it with invoices.send.

WhoAgents can call this
RESTPOST /v1/invoices/direct
MCP toolinvoices_create
Writesyes, send an Idempotency-Key
AreaShop

When to use it

Create an invoice without a quote, from lines the worker wrote (never filled in by AI). Optional due date, memo and deposit.

What to tell the owner

Say what you did in plain words and what happens next.

Input

FieldTypeRequired
job_idstring (uuid)yes
linesarrayyes
lines[].descriptionstringyes
lines[].quantitynumberyes
lines[].unit_price_minorintegeryes
lines[].kindstring (one of item, fee, discount)no
lines[].taxablebooleanno
due_onstringno
memostringno
deposit_minorintegerno
tax_rate_id['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')']no

Example

POST https://doingwork.work/v1/invoices/direct
content-type: application/json
Idempotency-Key: 3f1c...

{
  "job_id": "00000000-0000-4000-8000-000000000000",
  "lines": [
    {
      "description": "40 gallon gas heater, installed",
      "quantity": "...",
      "unit_price_minor": 50000
    }
  ]
}

Output

JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are {code, message, status}.

Errors

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.