---
title: "Get a field"
method: GET
path: "/v1/fields/{id}"
tags: ["Schemas"]
---

# Get a field

`GET /v1/fields/{id}`

## Request

- Base URL: `https://api.talonic.com`
- URL: `https://api.talonic.com/v1/fields/{id}`
- Auth: HTTP bearer

Returns the field registry row plus up to 20 most recent occurrences.

A superseded row (merged into a survivor) is returned as-is with
`superseded_by` set, so a stored id never 404s after curation. Pass
`follow_redirects=true` to receive the survivor instead; the hops walked
are listed in `redirected_from`.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `follow_redirects` boolean

## Response `200`

Field detail.

- FieldDetailResponse
  - `id` string, uuid, required
  - `canonical_name` string, required
  - `maturity` 'core' | 'proven' | 'candidate', required: Named maturity level — the contract a consumer caching the vocabulary can rely on (`tier` is the frozen numeric twin: core = 1, proven = 2, candidate = 3). - `core`: universal, fully trusted; safe to bind schemas, dashboards and downstream models to. Demotion is hysteresis-guarded and always emits `field.demoted`. - `proven`: recurring and useful; stable id, name may still be groomed (`field.renamed` / `field.merged` announce it). - `candidate`: newly discovered; may be merged, renamed or expire with no notice beyond the event feed. Do not hard-code.
  - `admission_state` 'canonical' | 'provisional'
  - `description` string, nullable: Curated semantic description of the concept.
  - `synonyms` string[]: Names folded onto this concept by merges and cleanup; all resolve via `GET /v1/fields/resolve`.
  - `superseded_by` FieldRef
    - `id` string, uuid, required
    - `links` object, required
      - `self` string
  - `display_name` string, required: Human-readable label, always present. A stored display name wins; otherwise it is derived from `canonical_name`, e.g. `invoice_number` → `Invoice Number`.
  - `data_type` string, required
  - `tier` integer, required
  - `cluster_name` string, nullable
  - `occurrence_count` integer, required
  - `master_instruction` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time
  - `links` object, required
    - `self` string
    - `similar` string
    - `card` string
    - `values` string
    - `history` string
  - `redirected_from` string[]: Ids walked when `follow_redirects=true` (oldest first); empty otherwise.
  - `recent_occurrences` object[]
    - `id` string, uuid
    - `document_id` string, uuid
    - `document_filename` string, nullable
    - `raw_field_name` string, nullable
    - `value` unknown
    - `created_at` string, date-time

## Other responses

- `401`: Missing or invalid API key.
- `404`: The requested resource was not found.
- `429`: Daily rate limit exceeded.

---

[API](https://skmtc.dev/talonic/apis/talonic-api.md) · [All operations](https://skmtc.dev/talonic/apis/talonic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/talonic/apis/talonic-api/revisions/678fe5f8c9c3?raw)
