Private preview of the new site. Not live.

forms.start

Start a form on a job, or on one visit of the job (visit_id). Copy a template (form_template_id), copy an earlier form with its answers (copy_from_form_id: the way to correct a submitted form), or give name and fields. The owner, office, or a worker assigned on the job can start one. It starts as a draft.

WhoAgents can call this
RESTPOST /v1/forms
MCP toolforms_start
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
job_idstring (uuid)yes
visit_idstring (uuid)no
form_template_idstring (uuid)no
copy_from_form_idstring (uuid)no
namestringno
fieldsarrayno
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
content-type: application/json
Idempotency-Key: 3f1c...

{
  "job_id": "00000000-0000-4000-8000-000000000000"
}

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.