---
title: "Read an offer by immutable ID."
method: GET
path: "/v1/offers/{id}"
tags: ["Catalog"]
---

# Read an offer by immutable ID.

`GET /v1/offers/{id}`

## Request

- Base URL: `https://api.sourcey.com`
- URL: `https://api.sourcey.com/v1/offers/{id}`
- Auth: one of:
  - none
  - HTTP bearer

## Path parameters

- `id` string, required

## Response `200`

Successful response.

- GetOfferResponse200
  - `api_contract` 'sourcey.catalog-api/v1', required
  - `artifact_sha256` string, required
  - `checks` object
  - `data` union, required
    - object
      - `entity` object, required
        - `category` string, required
        - `description` string, required
        - `entity_id` string, required
        - `identity_assurance` object
          - `assurance_id` string, required
          - `coverage_policy_digest` string, required
          - `event_id` string, required
          - `identity_epoch_digest` string, required
          - `method_policy_digest` string, required
          - `receipt_digest` string, required
          - `status` 'verified', required
          - `verified_at` string, date-time, required
        - `name` string, required
        - `offers` object[], required
          - `access` object, required
            - `availability` 'public' | 'referral' | 'membership' | 'invite' | 'automatic' | 'other', required
            - `instructions` string
            - `method` 'form' | 'code' | 'contact' | 'automatic' | 'other', required
            - `public_code` string
            - `url` string, uri
          - `description` string
          - `economics` object, required
            - `benefits` union[], required
              - …
            - `consideration` union, required
              - …
          - `effective_from` string, date-time, required
          - `effective_until` string, date-time
          - `eligibility` object, required
            - `rule` Schema0, required (unresolved $ref)
          - `headline` object
            - `basis` 'typed' | 'described', required
            - `benefit_id` string, required
            - `figure` union, required
              - …
            - `rule` 'sourcey.offer-headline/v1', required
          - `lifecycle` 'active' | 'paused' | 'ended' | 'withdrawn', required
          - `offer_id` string, required
          - `program_id` string
          - `provenance` object, required
            - `basis_event_ids` string[], required
            - `coverage_policy_digest` string, required
            - `dispute` 'none' | 'open' | 'resolved', required
            - `fields` object[], required
              - …
            - `freshness` 'fresh' | 'stale' | 'unknown', required
            - `freshness_policy_digest` string, required
            - `vendor_attestation` union, required
              - …
          - `revision_digest` string, required
          - `roles` object, required
            - `access_operator_entity_id` string, required
            - `terms_authority_entity_id` string, required
          - `slug` string, required
          - `summary` string, required
          - `terms_assurance` object
            - `assurance_id` string, required
            - `checked_at` string, date-time, required
            - `coverage_policy_digest` string, required
            - `event_id` string, required
            - `method_policy_digest` string, required
            - `receipt_digest` string, required
            - `revision_digest` string, required
            - `status` 'checked', required
          - `terms_url` string, uri
          - `title` string, required
        - `programs` object[], required
          - `program_id` string, required
          - `provenance` object, required
            - `basis_event_ids` string[], required
            - `coverage_policy_digest` string, required
            - `dispute` 'none' | 'open' | 'resolved', required
            - `fields` object[], required
              - …
            - `freshness` 'fresh' | 'stale' | 'unknown', required
            - `freshness_policy_digest` string, required
            - `vendor_attestation` union, required
              - …
          - `revision_digest` string, required
          - `slug` string, required
          - `summary` string
          - `title` string, required
        - `provenance` object, required
          - `basis_event_ids` string[], required
          - `coverage_policy_digest` string, required
          - `dispute` 'none' | 'open' | 'resolved', required
          - `fields` object[], required
            - `accepted_proof_kinds` string[], required
            - `contradicting_event_ids` string[], required
            - `evidence_proof_kinds` string[], required
            - `freshness` 'fresh' | 'stale' | 'unknown', required
            - `latest_observation_at` string, date-time
            - `path` string, starts_with, required
            - `supporting_event_ids` string[], required
          - `freshness` 'fresh' | 'stale' | 'unknown', required
          - `freshness_policy_digest` string, required
          - `vendor_attestation` union, required
            - object
              - …
            - object
              - …
        - `revision_digest` string, required
        - `slug` string, required
        - `slug_aliases` string[]
        - `summary` string
        - `website` string, uri, required
      - `offer` object, required
        - `access` object, required
          - `availability` 'public' | 'referral' | 'membership' | 'invite' | 'automatic' | 'other', required
          - `instructions` string
          - `method` 'form' | 'code' | 'contact' | 'automatic' | 'other', required
          - `public_code` string
          - `url` string, uri
        - `description` string
        - `economics` object, required
          - `benefits` union[], required
            - union
              - …
          - `consideration` union, required
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `effective_from` string, date-time, required
        - `effective_until` string, date-time
        - `eligibility` object, required
          - `rule` Schema0, required (unresolved $ref)
        - `headline` object
          - `basis` 'typed' | 'described', required
          - `benefit_id` string, required
          - `figure` union, required
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `rule` 'sourcey.offer-headline/v1', required
        - `lifecycle` 'active' | 'paused' | 'ended' | 'withdrawn', required
        - `offer_id` string, required
        - `program_id` string
        - `provenance` object, required
          - `basis_event_ids` string[], required
          - `coverage_policy_digest` string, required
          - `dispute` 'none' | 'open' | 'resolved', required
          - `fields` object[], required
            - `accepted_proof_kinds` string[], required
            - `contradicting_event_ids` string[], required
            - `evidence_proof_kinds` string[], required
            - `freshness` 'fresh' | 'stale' | 'unknown', required
            - `latest_observation_at` string, date-time
            - `path` string, starts_with, required
            - `supporting_event_ids` string[], required
          - `freshness` 'fresh' | 'stale' | 'unknown', required
          - `freshness_policy_digest` string, required
          - `vendor_attestation` union, required
            - object
              - …
            - object
              - …
        - `revision_digest` string, required
        - `roles` object, required
          - `access_operator_entity_id` string, required
          - `terms_authority_entity_id` string, required
        - `slug` string, required
        - `summary` string, required
        - `terms_assurance` object
          - `assurance_id` string, required
          - `checked_at` string, date-time, required
          - `coverage_policy_digest` string, required
          - `event_id` string, required
          - `method_policy_digest` string, required
          - `receipt_digest` string, required
          - `revision_digest` string, required
          - `status` 'checked', required
        - `terms_url` string, uri
        - `title` string, required
      - `program` object
        - `program_id` string, required
        - `provenance` object, required
          - `basis_event_ids` string[], required
          - `coverage_policy_digest` string, required
          - `dispute` 'none' | 'open' | 'resolved', required
          - `fields` object[], required
            - `accepted_proof_kinds` string[], required
            - `contradicting_event_ids` string[], required
            - `evidence_proof_kinds` string[], required
            - `freshness` 'fresh' | 'stale' | 'unknown', required
            - `latest_observation_at` string, date-time
            - `path` string, starts_with, required
            - `supporting_event_ids` string[], required
          - `freshness` 'fresh' | 'stale' | 'unknown', required
          - `freshness_policy_digest` string, required
          - `vendor_attestation` union, required
            - object
              - …
            - object
              - …
        - `revision_digest` string, required
        - `slug` string, required
        - `summary` string
        - `title` string, required
    - union
      - object
        - `canonical_offer_id` string, required
        - `event_id` string, required
        - `kind` 'offer_tombstone', required
        - `offer_id` string, required
        - `transition` 'merged', required
      - object
        - `kind` 'offer_tombstone', required
        - `offer_id` string, required
        - `transition` 'retired', required
  - `release_id` string, required

## Other responses

- `400`: Invalid request.
- `401`: HTTP 401 response.
- `403`: HTTP 403 response.
- `404`: Resource not found.
- `405`: HTTP 405 response.
- `429`: HTTP 429 response.
- `500`: HTTP 500 response.
- `503`: HTTP 503 response.

---

[API](https://skmtc.dev/sourcey/apis/sourcey-public-api.md) · [All operations](https://skmtc.dev/sourcey/apis/sourcey-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sourcey/apis/sourcey-public-api/revisions/437166b51fa5?raw)
