---
title: "Get a data definition"
description: "Read one definition in any status: kind, subject, value type, options, instructions for the Agent and the Agents that use it. Read it before `update_definition` and send its `version` as `expectedVersion`.\n\n- **Scopes:** any one of `raiz:definitions:read`, `raiz:definitions:write`\n- **Credentials:** an API key, a client-credentials token or a person's access token\n- **Effect:** read-only; safe to retry\n- **Limits:** response up to 1 MB\n- **CLI:** `arbol raiz definitions get` · **MCP tool:** `raiz_definitions_get`"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.getarbol.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Raíz API › Definitions

`GET /v1/raiz/definitions/{definitionId}`

Read one definition in any status: kind, subject, value type, options, instructions for the Agent and the Agents that use it. Read it before `update_definition` and send its `version` as `expectedVersion`.

- **Scopes:** any one of `raiz:definitions:read`, `raiz:definitions:write`
- **Credentials:** an API key, a client-credentials token or a person's access token
- **Effect:** read-only; safe to retry
- **Limits:** response up to 1 MB
- **CLI:** `arbol raiz definitions get` · **MCP tool:** `raiz_definitions_get`

## Authentication

Requires one of the following:

- `arbolHuman`, oauth2, scopes: `raiz:definitions:read`
- `arbolHuman`, oauth2, scopes: `raiz:definitions:write`
- `arbolMachine`, oauth2, scopes: `raiz:definitions:read`
- `arbolMachine`, oauth2, scopes: `raiz:definitions:write`
- `arbolApiKey`, http, header `Authorization`

## Path parameters

- `definitionId` (`raiz.definitions.get.path.definitionId`; string, required) — Definition id.
  - pattern `^def_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`

## Code samples

### cURL

```bash
curl https://api.getarbol.com/v1/raiz/definitions/def_01m45h8q2rf3t9w6y7z0b1c2d3 \
  --header "Authorization: Bearer $ARBOL_API_KEY"
```

### TypeScript

```typescript
import { createClient } from "@arbol-ai/sdk";

const arbol = createClient({
  baseUrl: "https://api.getarbol.com",
  token: process.env.ARBOL_API_KEY!,
});

const { data } = await arbol.raiz.definitions.get({
  definitionId: "def_01m45h8q2rf3t9w6y7z0b1c2d3",
});
```

### Rust

```rust
use arbol_sdk::{types, Client, Credential};

let arbol = Client::new(Credential::ApiKey(std::env::var("ARBOL_API_KEY")?))?;

let data = arbol
    .raiz()
    .definitions()
    .get(&types::RaizDefinitionsGetInput {
        definition_id: "def_01m45h8q2rf3t9w6y7z0b1c2d3".into(),
    })
    .await?;
```

### CLI

```bash
arbol raiz definitions get def_01m45h8q2rf3t9w6y7z0b1c2d3
```

### MCP

```json
{
  "name": "raiz_definitions_get",
  "arguments": {
    "definitionId": "def_01m45h8q2rf3t9w6y7z0b1c2d3"
  }
}
```

## Responses

### 200

Successful operation.

#### Example

```json
{
  "success": true,
  "data": {
    "agentIds": [
      "agt_01m45h8q2rf3t9w6y7z0b1c2d3"
    ],
    "createdAt": "2019-08-24T14:15:22Z",
    "description": "string",
    "id": "def_01m45h8q2rf3t9w6y7z0b1c2d3",
    "instructions": "string",
    "key": "string",
    "kind": "attribute",
    "name": "string",
    "options": [
      {
        "description": "string",
        "id": "opt_01m45h8q2rf3t9w6y7z0b1c2d3",
        "key": "string",
        "label": "string"
      }
    ],
    "status": "draft",
    "subject": "contact",
    "unit": "string",
    "updatedAt": "2019-08-24T14:15:22Z",
    "valueType": "text",
    "version": 1
  },
  "error": null,
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`raiz.definitions.get.response.200.success`; boolean, required)
- `data` (`raiz.definitions.get.response.200.data`; object, required)
  - `agentIds` (`raiz.definitions.get.response.200.data.agentIds`; array<string>, required) — The Agents that use the definition. Empty: every Agent of the organization.
    - pattern `^agt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `createdAt` (`raiz.definitions.get.response.200.data.createdAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `description` (`raiz.definitions.get.response.200.data.description`; string | null, required)
  - `id` (`raiz.definitions.get.response.200.data.id`; string, required) — Definition id.
    - pattern `^def_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `instructions` (`raiz.definitions.get.response.200.data.instructions`; string | null, required) — How the AI decides the value.
  - `key` (`raiz.definitions.get.response.200.data.key`; string, required)
  - `kind` (`raiz.definitions.get.response.200.data.kind`; string, required) — `attribute`: a property of the subject. `assessment`: a judgement about a conversation (yes/no assessments feed the assessment report). `category`: a classification. `metric`: a measured number, with a `unit`.
    - one of `"attribute"`, `"assessment"`, `"category"`, `"metric"`
  - `name` (`raiz.definitions.get.response.200.data.name`; string, required)
  - `options` (`raiz.definitions.get.response.200.data.options`; array<object>, required) — The active options, in order. Retired options keep typing the facts that use them but are not listed.
    - `description` (`raiz.definitions.get.response.200.data.options.description`; string | null, required)
    - `id` (`raiz.definitions.get.response.200.data.options.id`; string, required) — Option id.
      - pattern `^opt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
    - `key` (`raiz.definitions.get.response.200.data.options.key`; string, required)
    - `label` (`raiz.definitions.get.response.200.data.options.label`; string, required)
  - `status` (`raiz.definitions.get.response.200.data.status`; string, required)
    - one of `"draft"`, `"active"`, `"retired"`
  - `subject` (`raiz.definitions.get.response.200.data.subject`; string, required) — What the facts describe.
    - one of `"contact"`, `"conversation"`
  - `unit` (`raiz.definitions.get.response.200.data.unit`; string | null, required) — UCUM unit of a metric.
  - `updatedAt` (`raiz.definitions.get.response.200.data.updatedAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `valueType` (`raiz.definitions.get.response.200.data.valueType`; string, required) — The JSON type of the facts' values: a string, a number, a boolean, a `YYYY-MM-DD` date, or the key of one of the options.
    - one of `"text"`, `"number"`, `"boolean"`, `"date"`, `"option"`
  - `version` (`raiz.definitions.get.response.200.data.version`; integer, required)
    - min 1
- `error` (`raiz.definitions.get.response.200.error`; null, required)
- `metadata` (`raiz.definitions.get.response.200.metadata`; object, required)
  - `requestId` (`raiz.definitions.get.response.200.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 400

`INVALID_INPUT`: The request does not match the published schema.

#### Example

```json
{
  "error": {
    "code": "INVALID_INPUT"
  }
}
```

- `error` (`raiz.definitions.get.response.400.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 401

`UNAUTHORIZED`: A valid access token is required.

#### Example

```json
{
  "error": {
    "code": "UNAUTHORIZED"
  }
}
```

- `error` (`raiz.definitions.get.response.401.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 403

`FORBIDDEN`: The token does not authorize this operation.

#### Example

```json
{
  "error": {
    "code": "FORBIDDEN"
  }
}
```

- `error` (`raiz.definitions.get.response.403.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 404

- `NOT_FOUND`: The requested operation does not exist.
- `RESOURCE_NOT_FOUND`: The requested resource does not exist in this organization.

#### Example

```json
{
  "error": {
    "code": "NOT_FOUND"
  }
}
```

- `error` (`raiz.definitions.get.response.404.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 405

`HTTP_METHOD_NOT_ALLOWED`: The HTTP method is not supported for this resource.

#### Example

```json
{
  "error": {
    "code": "HTTP_METHOD_NOT_ALLOWED"
  }
}
```

- `error` (`raiz.definitions.get.response.405.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 413

`REQUEST_TOO_LARGE`: The request exceeds the allowed size.

#### Example

```json
{
  "error": {
    "code": "REQUEST_TOO_LARGE"
  }
}
```

- `error` (`raiz.definitions.get.response.413.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 415

`UNSUPPORTED_MEDIA_TYPE`: The request content type is not supported.

#### Example

```json
{
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE"
  }
}
```

- `error` (`raiz.definitions.get.response.415.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 429

`RATE_LIMITED`: The request rate limit was exceeded. Try again later.

#### Example

```json
{
  "error": {
    "code": "RATE_LIMITED"
  }
}
```

- `error` (`raiz.definitions.get.response.429.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 500

`INTERNAL_ERROR`: The service could not complete the operation.

#### Example

```json
{
  "error": {
    "code": "INTERNAL_ERROR"
  }
}
```

- `error` (`raiz.definitions.get.response.500.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 502

`OUTCOME_UNKNOWN`: The operation may have been applied; check its result before repeating it.

#### Example

```json
{
  "error": {
    "code": "OUTCOME_UNKNOWN"
  }
}
```

- `error` (`raiz.definitions.get.response.502.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 503

- `UPSTREAM_UNAVAILABLE`: The upstream service could not complete the request.
- `INTEGRATIONS_UNAVAILABLE`: The organization's integrations cannot be read right now. Try again shortly.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_UNAVAILABLE"
  }
}
```

- `error` (`raiz.definitions.get.response.503.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 504

`UPSTREAM_TIMEOUT`: The upstream service did not respond before its deadline.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_TIMEOUT"
  }
}
```

- `error` (`raiz.definitions.get.response.504.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`


Source: https://docs.getarbol.com/api/raiz/definitions/get/index.md
