Create a field definition
- Base URL
-
https://{kibana_url}
- POST /api/cases/field_definitions
- POST /s/{space_id}/api/cases/field_definitions
Creates a field definition in the field library. You must have the "Manage templates" sub-privilege for the Cases feature of the owning solution. Requires the Cases feature to be enabled in the space. Use dry_run=true to validate the request without writing anything.
Path parameters
-
space_idstringoptional -
An identifier for the space. If
space_idis not provided in the URL, the default space is used. Refer to Spaces for more information.
Request body
-
definitionstring · max length: 30000required -
The field definition as a YAML string describing a single field (type, label, control, metadata).
-
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.
Responses
Indicates a successful call. Returns the created field definition, or { "valid": true } when dry_run=true.
A field definition from the field library. The legacyKey attribute, which is a server-managed link to a migrated custom field, is not included in the public API response.
-
definitionstringrequired -
The field definition as a YAML string. New definitions are limited to 30 000 characters, but existing definitions created via internal tooling may be longer.
-
displayOrderinteger · min: 0 -
Position of a global field in the case details view. Assigned by the server and changed via the Field Library reorder controls.
-
fieldDefinitionIdstring · max length: 36required -
Unique server-assigned identifier for the field definition (UUID). May be UUIDv4 for definitions created through the public API, or UUIDv5 for definitions created by internal migration processes.
-
isGlobalboolean -
When true, this field is rendered in every case regardless of which template the case uses.
The request body is invalid, the YAML definition is malformed, the name does not match the YAML definition's name, or the owner already has 200 field definitions.
Authorization information is missing or invalid.
The user does not have the manage templates privilege for the owner.