> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.coperniq.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.coperniq.io/_mcp/server.

## Form template update endpoint

### Update a form template

A new endpoint lets you update an existing form template:

* `PATCH /form-templates/{formTemplateId}` — Update a form template's name, property layout, assignee, collaborators, labels, and due date configuration.

All fields are optional — only provided fields are updated. `formLayouts` is optional — when provided, it **fully replaces** all layout groups and their fields; omit it to leave the existing layout untouched. Include existing groups with their `id` to preserve them, or omit the `id` for new groups. Groups not included are removed. Array order determines position on the form.

Fields within each group are set via the `properties` array, where each item specifies a `type` (`TEXT`, `NUMERIC`, `DROPDOWN`, or `FILE`) or references an existing project property via `projectPropertyKey`.

> **Note:** Layout `id` values (for groups and properties) are **not stable** — they change after every update. Always re-fetch the template via `GET /form-templates/{formTemplateId}` to get current IDs before referencing them in a subsequent update.

```
PATCH /form-templates/{formTemplateId}
```

```json
{
  "name": "Site Inspection Checklist",
  "formLayouts": [
    {
      "name": "Site Details",
      "properties": [
        { "projectPropertyKey": "site_address" },
        { "type": "TEXT", "name": "Inspector Notes", "isRequired": false }
      ]
    }
  ],
  "assigneeProperty": "OWNER",
  "dueDateXDaysAfter": 7
}
```