Form templates
Create a form template
Creates a template from a name and its ordered list of blocks. Building templates via the API/MCP is the expected primary path.
Creates a template from a name and its ordered list of blocks. Building templates via the API/MCP is the expected primary path.
x-api-key<token>
The per-tenant API key, copied from Settings → API & integrations.
Sent as the x-api-key request header. The key is tenant-scoped and acts
with Admin-equivalent, tenant-wide access.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/form-templates" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "blocks": [ { "id": "string", "kind": "heading", "label": "string" } ] }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "projectRequired": true, "fillableBy": "all_crew", "status": "active", "blocks": [ { "id": "string", "kind": "heading", "label": "string", "required": true, "options": [ "string" ], "items": [ "string" ], "lockToToday": true } ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}{ "error": { "code": "unauthorized", "message": "Missing or invalid API key." }}{ "error": { "code": "read_only", "message": "Your subscription is inactive. This action is read-only." }}{ "error": { "code": "validation", "message": "One or more inputs are invalid.", "fields": { "fieldName": "A message explaining what's wrong with this field." } }}