Update a custom field
Updates a custom field. Only the attributes you send are changed (partial update / merge semantics); omitted attributes keep their current values.
type and entity are fixed once the field is created and are ignored
if supplied.
For select fields, options is treated as the desired full set. Each
entry is an object with a value: include an id (an opt_-prefixed
option id) to rename that existing option, omit the id to create a new
option, and any existing option absent from the payload is removed —
it is no longer offered, but values already recorded against it are
preserved. An id that belongs to a different field is rejected.
Supplying options on a non-select field is rejected, as is an empty
desired set that would leave a select field with no options.
Path Parameters
ID of the custom field (e.g. fld_9fKbV3aQx7).
Header Parameters
Client-generated key for idempotent writes; the server deduplicates retries within a 24-hour window.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The field's question or prompt as shown to customers when they fill it in.
Optional internal name used to identify the field in the dashboard; not shown to customers.
Helper text shown alongside the field.
Desired full set of choices for a select field. Entries with id update an existing option, entries without id create one, and omitted existing options are removed.
Prefixed option ID (opt_...) of the option to update. Omit to create a new option.
The option's display value.
Response Body
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/custom-fields/string" \ -H "Easol-API-Version: 2026-11-01" \ -H "Content-Type: application/json" \ -d '{}'{
"object": "custom_field",
"id": "fld_aBcDeFgHiJ",
"name": "string",
"label": "string",
"hint": "string",
"type": "text",
"entity": "guest",
"options": [
{
"id": "string",
"value": "string"
}
]
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}