Private preview of the new site. Not live.

quotes.create

Create a quote from lines the worker wrote. Lines are never filled in by AI. Optional: good, better, best options and optional lines the customer picks when signing.

WhoAgents can call this
RESTPOST /v1/quotes
MCP toolquotes_create
Writesyes, send an Idempotency-Key
AreaQuotes (unlimited)

When to use it

The worker has told you the lines and prices. Write exactly what they said. Never invent or fill in a price.

What to tell the owner

I wrote up the quote with your lines and prices. Check it before I send it.

Input

FieldTypeRequired
job_idstringyes
linesarrayyes
lines[].descriptionstringyes
lines[].quantitynumberyes
lines[].unit_price_minorintegeryes
lines[].option_keystringno
lines[].optionalbooleanno
lines[].kindstring (one of item, fee, discount)no
lines[].taxablebooleanno
optionsarrayno
options[].keystringyes
options[].labelstringyes
tax_rate_id['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')']no

Example

POST https://doingwork.work/v1/quotes
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_input400A field is missing, the wrong type, or unknown. The message names the field. Fix the input; don't retry as is.
not_found404No such record, or this worker can't see it.
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.