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

# Get the concept card for a field

`GET /v1/fields/{id}/card`

## Request

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

One read that tells a consumer what a field MEANS and how it BEHAVES, so
an agent can choose the right concept without trial and error:
definition (curated description + extraction instruction), synonyms and
merge aliases, maturity, where it occurs (document / occurrence counts,
first/last seen, document-type spread), the value distribution (top
values with counts and shares, distinct count), schema usage, and its
identity links (`superseded_by`, absorbed concepts).

Value statistics are Sources-IAM filtered as the key's minting user and
include occurrences still bound to concepts merged INTO this one, so the
card is complete while a merge's lazy repoint is in flight.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `follow_redirects` boolean

## Response `200`

Concept card.

- FieldCardResponse
  - `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[]
  - `definition` object, required
    - `description` string, nullable
    - `instruction` string, nullable: The master extraction instruction.
    - `variance_notes` string, nullable
    - `synonyms` string[]
    - `aliases` object[]
      - `name` string
      - `source` string
  - `identity` object, required
    - `pinned` boolean: A customer-declared concept
    - `source` string, nullable
    - `link_key` boolean
    - `link_key_category` string, nullable
    - `superseded_by` FieldRef
      - `id` string, uuid, required
      - `links` object, required
        - `self` string
    - `absorbed` object[]: Concepts merged INTO this one that still exist as redirect rows.
      - `id` string, uuid
      - `canonical_name` string
      - `links` object
        - `self` string
  - `occurrence` object, required
    - `occurrence_count` integer
    - `document_count` integer
    - `occurrence_rate` number, nullable
    - `first_seen_at` string, date-time, nullable
    - `last_seen_at` string, date-time, nullable
    - `promoted_at` string, date-time, nullable
    - `document_type_distribution` object
  - `values` object, required: Sources-IAM filtered value distribution over the concept and its absorbed redirects.
    - `total` integer
    - `distinct_count` integer
    - `visible_document_count` integer
    - `top` object[]
      - `value` string
      - `count` integer
      - `share` number
    - `examples` string[]
  - `usage` object, required
    - `schema_count` integer
    - `schema_field_count` integer

## 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)
