---
title: "Get the active governed read contract"
method: GET
path: "/v1/data-products/{id}/read-contract"
tags: ["Data Products"]
---

# Get the active governed read contract

`GET /v1/data-products/{id}/read-contract`

## Request

- Base URL: `https://api.talonic.com`
- URL: `https://api.talonic.com/v1/data-products/{id}/read-contract`
- Auth: HTTP bearer

The frozen, versioned field surface cross-pipeline consumers (Business Rules, Apps) read this product through — served fields with types and sensitivity, the record identity, permitted match key sets, and retention. Returns 404 with guidance when none has been published; publish one with `POST /v1/data-products/{id}/read-contract/publish`.

## Path parameters

- `id` string, uuid, required

## Response `200`

The active read contract

- object
  - `dataProductId` string, uuid
  - `contractVersion` string
  - `schemaHash` string
  - `fields` object[]
    - `fieldId` string
    - `name` string
    - `type` string
    - `nullable` boolean
    - `sensitivity` 'public' | 'internal' | 'confidential' | 'restricted'
  - `recordKeyFieldIds` string[]
  - `recordKeyAnchored` boolean: Identity is the record set's own record id rather than recordKeyFieldIds (which is then empty).
  - `permittedMatchKeySets` array[]
    - string[]
  - `publicationRetention` object
  - `publishedAt` string, date-time
  - `supersededAt` string, date-time, nullable

## Other responses

- `404`: Data product not found, or it has no active governed read contract yet — the error message points at the publish route.
- `503`: Read contracts are not available in this deployment

---

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