Private preview of the new site. Not live.

forms.saveTemplate

Create a form template (an inspection, a safety sheet, a start-up report), or replace one (give form_template_id). Fields are in order; types: heading, text, long_text, number, yes_no, choice, multi_choice, date, photos. Forms already started keep their own copy. Owner or office.

WhoAgents can call this
RESTPOST /v1/forms/templates
MCP toolforms_saveTemplate
Writesyes, send an Idempotency-Key
AreaField work (checklists, forms, time, notes, change orders, subcontractors)

When to use it

Keep form templates (forms.saveTemplate: ordered fields of type heading, text, long_text, number, yes_no, choice, multi_choice, date or photos, each optionally required). Start a form on a job or one visit (forms.start) from a template, from an earlier form (copy_from_form_id, which also carries its answers), or with fields given on the spot; the form keeps its own copy of the fields.

What to tell the owner

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

Input

FieldTypeRequired
shop_idstring (uuid)no
form_template_idstring (uuid)no
namestringyes
descriptionstringno
fieldsarrayyes
fields[].keystringyes
fields[].labelstringyes
fields[].typestring (one of heading, text, long_text, number, yes_no, choice, multi_choice, date, photos)yes
fields[].requiredbooleanno
fields[].helpstringno
fields[].optionsarrayno
signoff_requiredbooleanno

Example

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

{
  "name": "Ruiz Plumbing",
  "fields": [
    {
      "key": "...",
      "label": "...",
      "type": "heading"
    }
  ]
}

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.