---
title: "Search offers through the catalog index."
method: GET
path: "/v1/search/offers"
tags: ["Catalog"]
---

# Search offers through the catalog index.

`GET /v1/search/offers`

## Request

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

## Query parameters

- `cursor` string
- `limit` integer, required
- `q` string, required

## Response `200`

Successful response.

- SearchOffersResponse200
  - `api_contract` 'sourcey.catalog-api/v1', required
  - `artifact_sha256` string, required
  - `checks` object
  - `data` union[], required
    - union
      - object
        - `canonical_url` string, uri, required
        - `category` string, required
        - `entity_id` string, required
        - `entity_name` string, required
        - `entity_slug` 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
        - `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
              - …
            - `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
        - `program_id` string, required
        - `program_slug` string, required
        - `program_title` string, required
      - object
        - `canonical_url` string, uri, required
        - `category` string, required
        - `entity_id` string, required
        - `entity_name` string, required
        - `entity_slug` 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
        - `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
              - …
            - `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
  - `next_cursor` string, nullable, required
  - `query` string, required
  - `release_id` string, required

## Other responses

- `400`: Invalid request.
- `401`: HTTP 401 response.
- `403`: HTTP 403 response.
- `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)
