Private preview of the new site. Not live.

forms.listTemplates

The shop's form templates with their fields. Archived ones only with include_archived.

WhoAgents can call this
RESTGET /v1/forms/templates
MCP toolforms_listTemplates
Writesno
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

Tell them what you found in plain words. Don't read back raw fields.

Input

FieldTypeRequired
shop_idstring (uuid)yes
include_archivedbooleanno

Example

GET https://doingwork.work/v1/forms/templates?shop_id=00000000-0000-4000-8000-000000000000

Output

FieldTypeAlways there
itemsarrayyes
items[].form_template_idstring (uuid)yes
items[].shop_idstring (uuid)yes
items[].namestringyes
items[].description['string', 'null']yes
items[].signoff_requiredbooleanyes
items[].fieldsarrayyes
items[].fields[].keystringyes
items[].fields[].labelstringyes
items[].fields[].typestringyes
items[].fields[].requiredbooleanyes
items[].fields[].helpstringno
items[].fields[].optionsarrayno
items[].archived_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
items[].updated_atstring (date-time)yes
{
  "items": [
    {
      "form_template_id": "00000000-0000-4000-8000-000000000000",
      "shop_id": "00000000-0000-4000-8000-000000000000",
      "name": "Ruiz Plumbing",
      "description": "40 gallon gas heater, installed",
      "signoff_required": true,
      "fields": [
        {
          "key": "...",
          "label": "...",
          "type": "...",
          "required": true
        }
      ],
      "archived_at": "...",
      "updated_at": "..."
    }
  ]
}

Errors

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