---
title: "Search"
method: POST
path: "/api/v1/index/public/search"
---

# Search

`POST /api/v1/index/public/search`

## 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/public/search`
- Auth: none declared

## Response `200`

Successful Response

- 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
          - `coefficient` integer, required
          - `scale` integer, required
          - `currency` 'USD'
        - `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

---

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