---
title: "Read Search"
method: GET
path: "/api/v1/index/searches"
---

# Read Search

`GET /api/v1/index/searches`

## Request

- Base URL: `https://api.usesynth.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.usesynth.ai/api/v1/index/searches`
- Auth: none declared

## Query parameters

- `search_id` string, nullable
- `limit` integer
- `cursor` string, nullable

## Response `200`

Successful Response

- PageSearchSnapshotNewType
  - `metadata` ResponseMetadata, required
    - `contract` 'index.v1' | 'swarms.v1' | 'core.v1', required
    - `request_id` string, required
    - `operation_id` string, nullable, required
    - `observed_at` string, date-time, required
    - `server_timing` TimingSpan[]
      - `name` 'request' | 'queue' | 'first_useful' | 'active' | 'wall' | 'settlement', required
      - `duration_ms` number, nullable, required
      - `source` 'server' | 'worker' | 'unknown', required
      - `clock` 'monotonic' | 'utc' | 'unknown', required
      - `uncertainty_ms` number, nullable, required
    - `client_timing` ClientTiming
      - `total_ms` number, required
      - `first_byte_ms` number, required
      - `attempts` integer, required
      - `source` 'sdk_monotonic'
  - `items` SearchSnapshot[], required
    - `metadata` ResponseMetadata, required
      - `contract` 'index.v1' | 'swarms.v1' | 'core.v1', required
      - `request_id` string, required
      - `operation_id` string, nullable, required
      - `observed_at` string, date-time, required
      - `server_timing` TimingSpan[]
        - `name` 'request' | 'queue' | 'first_useful' | 'active' | 'wall' | 'settlement', required
        - `duration_ms` number, nullable, required
        - `source` 'server' | 'worker' | 'unknown', required
        - `clock` 'monotonic' | 'utc' | 'unknown', required
        - `uncertainty_ms` number, nullable, required
      - `client_timing` ClientTiming
        - `total_ms` number, required
        - `first_byte_ms` number, required
        - `attempts` integer, required
        - `source` 'sdk_monotonic'
    - `search_id` string, required
    - `mode` 'fast' | 'deep', required
    - `state` union, required
      - 'queued' | 'running' | 'completed' | 'partial' | 'failed' | 'cancelled'
      - string
    - `result_available` boolean, required
    - `cancellation_requested` boolean, required
    - `execution_closed` boolean, required
    - `accounting_final` boolean, required
    - `cleanup_complete` boolean, required
    - `retention` SearchRetention: Tolerant retention observation: every field is optional. Older backends send ``policy_version``/``purpose``/``archived_at``/ ``content_expires_at``/``retention_days``/``history_available``; newer ones add ``purges_at`` (zdr) and ``expires_at`` (retained). Absent fields are ``None``.
      - `mode` 'zdr' | 'zdr_strict' | 'retained', nullable
      - `policy_version` string, nullable
      - `purpose` 'customer_only', nullable
      - `content_state` string, nullable
      - `archived_at` string, date-time, nullable
      - `content_expires_at` string, date-time, nullable
      - `purges_at` string, date-time, nullable
      - `expires_at` string, date-time, nullable
      - `retention_days` 30, nullable
      - `history_available` boolean
    - `inline_result` SearchResponse
      - `metadata` ResponseMetadata, required
        - `contract` 'index.v1' | 'swarms.v1' | 'core.v1', required
        - `request_id` string, required
        - `operation_id` string, nullable, required
        - `observed_at` string, date-time, required
        - `server_timing` TimingSpan[]
          - `name` 'request' | 'queue' | 'first_useful' | 'active' | 'wall' | 'settlement', required
          - `duration_ms` number, nullable, required
          - `source` 'server' | 'worker' | 'unknown', required
          - `clock` 'monotonic' | 'utc' | 'unknown', required
          - `uncertainty_ms` number, nullable, required
        - `client_timing` ClientTiming
          - `total_ms` number, required
          - `first_byte_ms` number, required
          - `attempts` integer, required
          - `source` 'sdk_monotonic'
      - `search_id` string, nullable, required
      - `mode` 'fast' | 'deep', required
      - `status` 'completed' | 'partial' | 'failed' | 'cancelled', required
      - `response` string, nullable, required
      - `citations` SearchCitation[], required
        - `reference` ContentRef, required
          - `contribution_id` string, required
          - `revision_id` string, required
          - `asset_id` string, required
          - `digest_sha256` string, required
        - `label` string, required
        - `annotations` ContributionAnnotations
          - `keywords` string[]
          - `metadata` ContributionMetadata
            - `research_areas` string[]
            - `workflow_stages` string[]
            - `topics` string[]
          - `contribution_id` string, required
          - `revision_id` string, required
          - `revision_digest_sha256` string, required
          - `annotation_version` string, required
          - `review` ContributionReview, required
            - `contribution_id` string, required
            - `revision_id` string, required
            - `revision_digest_sha256` string, required
            - `review_id` string, required
            - `rubric_version` string, required
            - `reviewed_at` string, date-time, required
            - `reviewer_id` string, required
            - `authority` 'synth', required
            - `quality` 'low' | 'med' | 'high', required
            - `confidence` 'low' | 'med' | 'high', required
            - `correctness` 'low' | 'med' | 'high', required
            - `evidence_references` string[], required
      - `warnings` string[], required
      - `completeness` 'complete' | 'partial' | 'unknown', required
      - `failure` PackagesCustomerApiIndexSearchSearchFailure, required
        - `code` string, required
        - `retryable` boolean, required
      - `usage` UsageSummary, required
        - `metadata` ResponseMetadata, required
          - `contract` 'index.v1' | 'swarms.v1' | 'core.v1', required
          - `request_id` string, required
          - `operation_id` string, nullable, required
          - `observed_at` string, date-time, required
          - `server_timing` TimingSpan[]
            - `name` 'request' | 'queue' | 'first_useful' | 'active' | 'wall' | 'settlement', required
            - `duration_ms` number, nullable, required
            - `source` 'server' | 'worker' | 'unknown', required
            - `clock` 'monotonic' | 'utc' | 'unknown', required
            - `uncertainty_ms` number, nullable, required
          - `client_timing` ClientTiming
            - `total_ms` number, required
            - `first_byte_ms` number, required
            - `attempts` integer, required
            - `source` 'sdk_monotonic'
        - `resource_usage` ResourceUsage[]
          - `plugin` string, required
          - `dimension` 'spend_micros' | 'tokens' | 'tokens_in' | 'tokens_out' | 'calls' | 'index_searches' | 'wall_ms', required
          - `usage_class` 'agent' | 'workload' | 'tool', required
          - `role` string, required
          - `state` 'measured' | 'estimated' | 'unknown' | 'pending', required
          - `amount` integer, nullable
          - `charge` MoneyObservation
            - `state` 'measured' | 'estimated' | 'pending' | 'unknown', required
            - `amount` Money, required
              - …
            - `source` string, nullable
            - `rate_version` string, nullable
        - `operation_id` string, required
        - `physical` PackagesCustomerApiTypesUsageUsageMetric[], required
          - `name` string, required
          - `unit` 'tokens' | 'requests' | 'bytes' | 'seconds' | 'searches' | 'reads' | 'millicpu_seconds' | 'byte_seconds', required
          - `quantity` string, nullable, required
          - `state` 'measured' | 'estimated' | 'pending' | 'unknown', required
          - `source` string, nullable, required
        - `cost` MoneyObservation, required
          - `state` 'measured' | 'estimated' | 'pending' | 'unknown', required
          - `amount` Money, required
            - `coefficient` integer, required
            - `scale` integer, required
            - `currency` 'USD'
          - `source` string, nullable
          - `rate_version` string, nullable
        - `customer_charge` MoneyObservation, required
          - `state` 'measured' | 'estimated' | 'pending' | 'unknown', required
          - `amount` Money, required
            - `coefficient` integer, required
            - `scale` integer, required
            - `currency` 'USD'
          - `source` string, nullable
          - `rate_version` string, nullable
        - `financial_state` 'pending' | 'final' | 'unknown', required
        - `execution_source` 'live' | 'replay' | 'unknown', required
        - `list_price` MoneyObservation
          - `state` 'measured' | 'estimated' | 'pending' | 'unknown', required
          - `amount` Money, required
            - `coefficient` integer, required
            - `scale` integer, required
            - `currency` 'USD'
          - `source` string, nullable
          - `rate_version` string, nullable
        - `funding` FundingPart[]
          - `source` 'not_billed' | 'included_in_operation' | 'plan_allowance' | 'promotion' | 'credits' | 'unattributed' | 'unsettled', required
          - `amount` Money, required
            - `coefficient` integer, required
            - `scale` integer, required
            - `currency` 'USD'
      - `output_ready` boolean, required
      - `accounting_final` boolean, required
      - `cleanup_complete` boolean, required
      - `retention` SearchRetention: Tolerant retention observation: every field is optional. Older backends send ``policy_version``/``purpose``/``archived_at``/ ``content_expires_at``/``retention_days``/``history_available``; newer ones add ``purges_at`` (zdr) and ``expires_at`` (retained). Absent fields are ``None``.
        - `mode` 'zdr' | 'zdr_strict' | 'retained', nullable
        - `policy_version` string, nullable
        - `purpose` 'customer_only', nullable
        - `content_state` string, nullable
        - `archived_at` string, date-time, nullable
        - `content_expires_at` string, date-time, nullable
        - `purges_at` string, date-time, nullable
        - `expires_at` string, date-time, nullable
        - `retention_days` 30, nullable
        - `history_available` boolean
  - `next_cursor` string, nullable, required
  - `complete` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usesynth/apis/synth-api.md) - [All operations](https://skmtc.dev/usesynth/apis/synth-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usesynth/apis/synth-api/revisions/4d199548e98a?raw)
