# PATCH /forms/templates/:template_id/fields/:field_id

**Resource:** [Forms](./forms.md)  
**MCP tool:** `update_form_field`  
**Scopes:** `forms:write`  
**Write operation:** yes

Update a form field. Pass content to change per-field config: min/max, visibility, CRM wiring, or cross-field validation. content.validation = { match: 'all'|'any', rules: [{ operator: 'lte'|'gte'|'lt'|'gt'|'date_after'|'date_before', target: { kind: 'literal', value: <number> } OR { kind: 'field', fieldId: '<other field id>', factor?: <number>, divideBy?: <number> }, message: '<shown when it fails>' }] } (number/date fields; blocks submission on a failing value). Pass { validation: null } inside content to clear it.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `template_id` | path | string | yes |  |
| `field_id` | path | string | yes |  |
| `content` | body | object | no | Per-field JSON config: options, crm_variable/crm_variable_mode, min/max, visibility, and validation (cross-field rule set; see the tool description). |

## Request example

```bash
curl -X PATCH   "https://api.trustpager.com/functions/v1/api/v1/forms/templates/:template_id/fields/:field_id"   -H "Authorization: Bearer YOUR_API_KEY"
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`