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

# Get a field's curation history

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

## Request

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

The concept's curation trail, newest first — what a consumer replays to
keep a cached vocabulary correct: maturity moves (`tier_changed`), merges
in either direction (`merge_log_absorbed`, `merge_log_merged_into`,
`absorbed`), cleanup actions applied to it (`renamed`, `rewritten`,
`split`, `deleted`), the current redirect (`superseded`) and the names
that now fold onto it (`alias_added`). The same changes are announced live
on `GET /v1/events` as `field.*` signals. Never follows redirects — the
trail belongs to the id asked for.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `limit` integer

## Response `200`

Curation events, newest first.

- FieldHistoryResponse
  - `field_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.
  - `superseded_by` FieldRef, required
    - `id` string, uuid, required
    - `links` object, required
      - `self` string
  - `total` integer, required
  - `data` object[], required: Newest first.
    - `kind` 'tier_changed' | 'merge_log_absorbed' | 'merge_log_merged_into' | 'absorbed' | 'superseded' | 'renamed' | 'rewritten' | 'split' | 'deleted' | 'alias_added', required
    - `at` string, date-time, nullable, required
    - `detail` object, required

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