---
title: "List fields"
method: GET
path: "/v1/fields"
tags: ["Schemas"]
---

# List fields

`GET /v1/fields`

## Request

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

Paginated list of fields from the field registry, filterable by search, tier, or cluster.

## Query parameters

- `limit` integer
- `cursor` string
- `order` 'asc' | 'desc'
- `search` string
- `tier` integer
- `cluster_id` string, uuid
- `maturity` 'core' | 'proven' | 'candidate'
- `include_superseded` boolean
- `admission_state` 'canonical' | 'provisional' | 'all'

## Response `200`

Paginated list of fields.

- object
  - `data` FieldResponse[]
    - `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
  - `pagination` object
    - `total` integer, required: Total number of matching records.
    - `limit` integer, required: Requested page size.
    - `has_more` boolean, required: Whether more pages exist.
    - `next_cursor` string, nullable, required: Cursor to pass for the next page. Null if no more pages.

## Other responses

- `401`: Missing or invalid API key.
- `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)
