---
title: "Get all field definitions"
method: GET
path: "/api/cases/field_definitions"
tags: ["cases"]
---

# Get all field definitions

`GET /api/cases/field_definitions`

**Spaces method and path for this operation:**

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

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

Returns a paginated list of field definitions (field library entries) for the given owner. Requires the Cases feature to be enabled in the space.

## Query parameters

- `owner` union, required
  - string
  - string[]
- `isGlobal` boolean
- `page` integer
- `perPage` integer
- `sortField` 'name' | 'owner' | 'isGlobal' | 'displayOrder'
- `sortOrder` 'asc' | 'desc'
- `search` string

## Response `200`

Indicates a successful call.

- CasesGetCaseFieldDefinitionsResponse — A paginated list of reusable field definitions.
  - `fieldDefinitions` CasesFieldDefinitionResponse[], required
    - `definition` string, required — 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.
    - `description` string — Optional human-readable description of the field's purpose.
    - `displayOrder` integer — Position of a global field in the case details view. Assigned by the server and changed via the Field Library reorder controls.
    - `fieldDefinitionId` string, required — 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.
    - `isGlobal` boolean — When true, this field is rendered in every case regardless of which template the case uses.
    - `name` string, required — The field name. Must match the `name` property in the YAML definition and is unique per owner (case-insensitive). Immutable after creation.
    - `owner` string, required — The application that owns this field definition.
  - `page` integer, required — The current page number.
  - `perPage` integer, required — The number of items per page.
  - `total` integer, required — The total number of field definitions matching the query (before pagination).

## Other responses

- `400` — The request is invalid. For example, the `owner` query parameter is missing or `page`/`perPage` are not integers.
- `401` — Authorization information is missing or invalid.
- `403` — The user does not have permission to read field definitions for the owner.

---

[API](https://skmtc.dev/elastic/apis/kibana-apis.md) · [All operations](https://skmtc.dev/elastic/apis/kibana-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/elastic/apis/kibana-apis/revisions/84f30e7da461?raw)
