Private preview of the new site. Not live.

reports.save

Save a report to run again later: a name, one report operation (reports.revenue, reports.owed, reports.quoteWinRate, reports.today, reports.week, costs.jobs), its settings, and an optional moving date range (today, this_week, last_week, this_month, last_month, last_7_days, last_30_days, last_90_days, this_quarter, last_quarter, this_year, last_year) worked out on the shop's calendar each run. Send report_id to change a saved one. Owner or office only.

WhoAgents can call this
RESTPOST /v1/reports/saved
MCP toolreports_save
Writesyes, send an Idempotency-Key
AreaCosts, expenses and reports

When to use it

Save a report to run again later: a name, one report operation (reports.revenue, reports.owed, reports.quoteWinRate, reports.today, reports.week, costs.jobs), its settings, and an optional moving date range (today, this_week, last_week, this_month, last_month, last_7_days, last_30_days, last_90_days, this_quarter, last_quarter, this_year, last_year) worked out on the shop's calendar each run. Send report_id to change a saved one.

What to tell the owner

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

Input

FieldTypeRequired
shop_idstring (uuid)yes
report_idstring (uuid)no
namestringyes
op_idstring (one of reports.revenue, reports.owed, reports.quoteWinRate, reports.today, reports.week, costs.jobs)yes
paramsobjectno
date_range['string', 'null', ' ', '(', 'o', 'n', 'e', ' ', 'o', 'f', ' ', 't', 'o', 'd', 'a', 'y', ',', ' ', 't', 'h', 'i', 's', '_', 'w', 'e', 'e', 'k', ',', ' ', 'l', 'a', 's', 't', '_', 'w', 'e', 'e', 'k', ',', ' ', 't', 'h', 'i', 's', '_', 'm', 'o', 'n', 't', 'h', ',', ' ', 'l', 'a', 's', 't', '_', 'm', 'o', 'n', 't', 'h', ',', ' ', 'l', 'a', 's', 't', '_', '7', '_', 'd', 'a', 'y', 's', ',', ' ', 'l', 'a', 's', 't', '_', '3', '0', '_', 'd', 'a', 'y', 's', ',', ' ', 'l', 'a', 's', 't', '_', '9', '0', '_', 'd', 'a', 'y', 's', ',', ' ', 't', 'h', 'i', 's', '_', 'q', 'u', 'a', 'r', 't', 'e', 'r', ',', ' ', 'l', 'a', 's', 't', '_', 'q', 'u', 'a', 'r', 't', 'e', 'r', ',', ' ', 't', 'h', 'i', 's', '_', 'y', 'e', 'a', 'r', ',', ' ', 'l', 'a', 's', 't', '_', 'y', 'e', 'a', 'r', ',', ' ', 'N', 'o', 'n', 'e', ')']no

Example

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

{
  "shop_id": "00000000-0000-4000-8000-000000000000",
  "name": "Ruiz Plumbing",
  "op_id": "reports.revenue"
}

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.