cases

Update a field definition

Spaces method and path for this operation:

<div><span class="operation-verb put">put</span>&nbsp;<span class="operation-path">/s/{space_id}/api/cases/field_definitions/{field_definition_id}</span></div>

Refer to Spaces for more information.

Updates editable attributes of a field definition. Server-managed attributes (displayOrder, legacyKey) are preserved. You must have the "Manage templates" sub-privilege for the Cases feature of the owning solution. A field's name and YAML type are immutable after creation — an attempt to change either returns 409 with attributes.code = "field_identity_immutable" and attributes.changed listing which identity attributes were modified. Setting isGlobal to false when the field is linked to an active custom field in the Cases configuration returns 409; otherwise demotion is allowed. Requires the Cases feature to be enabled in the space. Use dry_run=true to validate the request without writing anything.

put/api/cases/field_definitions/{field_definition_id}

Path parameters

field_definition_idstring required

The identifier for the field definition.

Query parameters

dry_runboolean

When true, runs authorization, body, and identity-immutability validation without updating the field definition. Returns { "valid": true } on success.

Request body

definitionstring required

The field definition as a YAML string describing a single field (type, label, control, metadata).

descriptionstring

Optional human-readable description of the field's purpose.

isGlobalboolean

When true, this field is rendered in every case for this owner, regardless of the template used. Global fields cannot be demoted (set to false) while they are linked to an active custom field in the Cases configuration.

namestring

The field name, unique per owner (case-insensitive). Must match the name key inside the YAML definition. When omitted, the name is extracted from the definition YAML automatically. Immutable after creation. Unlike POST, the 50-character limit is not enforced on PUT so that definitions with legacy names that exceed the limit remain modifiable.

ownerstring required

The application that owns this field definition.

Example request

{
  "definition": "name: priority\nlabel: Priority\ntype: keyword\ncontrol: SELECT_BASIC\nmetadata:\n  options: [low, medium, high]\n  default: medium\n"
}

Response

Indicates a successful call. Returns the updated field definition, or { "valid": true } when dry_run=true.

OR

Changes

No changes recorded. 20 of the 176 revisions have no diff computed, so they could not be searched.