---
type: api
title: Get a field definition by ID
description: **Spaces method and path for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana-serverless/operation/operation-getcasefielddefinitiondefaultspace
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana-serverless/operation/operation-getcasefielddefinitiondefaultspace
products:
  - Kibana
---

# Get a field definition by ID

Availability:

- Server: `https://{kibana_url}`

## Paths

- `GET` `/api/cases/field_definitions/{field_definition_id}`
- `GET` `/s/{space_id}/api/cases/field_definitions/{field_definition_id}`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/kibana-serverless/authentication#apikeyauth)

#### Path Parameters

- `field_definition_id` (string · max: 36)
  The identifier for the field definition.

## Description

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

Returns a single field definition by its ID. Requires the Cases feature to be enabled in the space.

## Responses

#### `200`

Indicates a successful call. Returns the field definition.

`application/json`

- `definition` (string)
  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 · min: 0)
  Position of a global field in the case details view. Assigned by the server and changed via the Field Library reorder controls.
- `fieldDefinitionId` (string · max: 36)
  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)
  The field name. Must match the `name` property in the YAML definition and is unique per owner (case-insensitive). Immutable after creation.
- `owner` (string · max: 50)
  The application that owns this field definition.
#### `401`

Authorization information is missing or invalid.

`application/json`

- `error` (string)
- `message` (string)
- `statusCode` (integer)
#### `403`

The user does not have permission to read field definitions for the owner.

`application/json`

- `error` (string)
- `message` (string)
- `statusCode` (integer)
#### `404`

The field definition was not found.

`application/json`

- `error` (string)
- `message` (string)
- `statusCode` (integer)
## Code Examples

#### Console

```console
GET /api/cases/field_definitions/{field_definition_id}
```

#### curl

```curl
curl -X GET "https://{kibana_url}/api/cases/field_definitions/{field_definition_id}"
```

## Response Examples

#### A reusable field definition.

```json
{
  "definition": "name: priority\nlabel: Priority\ntype: keyword\ncontrol: SELECT_BASIC\nmetadata:\n  options: [low, medium, high]\n  default: medium\n",
  "description": "Ticket priority level.",
  "fieldDefinitionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "isGlobal": false,
  "name": "priority",
  "owner": "cases"
}
```

#### Authorization information is missing or invalid.

```json
{
  "error": "Unauthorized",
  "message": "Unable to authenticate with the provided credentials.",
  "statusCode": 401
}
```

#### The user does not have access to the requested resource.

```json
{
  "error": "Forbidden",
  "message": "Unauthorized to access cases",
  "statusCode": 403
}
```

#### The requested resource was not found.

```json
{
  "error": "Not Found",
  "message": "Saved object [cases-template/9da1ea2a-09f8-4d0e-bf9d-09bf8c9d0f42] not found",
  "statusCode": 404
}
```

