From 2d3b30eef2257bbec2aeed9f2052b4eb78c2d6bf Mon Sep 17 00:00:00 2001 From: Tidelight Mirror Bot Date: Wed, 21 Oct 2026 03:50:02 +0000 Subject: [PATCH] chore(sync): mirror api from a44e92f2ebc46fdb169c4d28beb7614ea01dd35a --- README.md | 4 ++-- openapi/tidelight.yaml | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ef2eecf..3b7869b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The live, versioned REST API is at `https://api.tidelight.app/v1`. The OpenAPI 3 | Operation | Scope | Purpose | | --- | --- | --- | | `GET /market/instruments` | `market:read` | List supported Reality tokenized-equity spot instruments; optionally filter by `underlying_ticker` before pagination | -| `POST /research/jobs` | `research:run` | Start an asynchronous, idempotent company snapshot | +| `POST /research/jobs` | `research:run` | Start an asynchronous, idempotent company snapshot with 30-day headline discovery | | `GET /research/jobs/{job_id}` | `research:run` | Read status/result within the key's project | | `DELETE /research/jobs/{job_id}` | `research:run` | Cancel queued work or request cancellation | | `GET, POST /webhooks` | `alerts:manage` | List or create research event subscriptions | @@ -26,7 +26,7 @@ curl --fail-with-body \ 'https://api.tidelight.app/v1/market/instruments?kind=rtoken&underlying_ticker=AAPL&limit=10' ``` -Responses include a request ID and market provenance, including the provider source and timestamp. rToken spot instruments are tokenized products; they are not underlying shares or stock perpetual contracts. An unavailable provider returns a safe service error instead of fabricated values. Bitget-backed market responses fail closed with `503 provider_terms_unconfirmed` until written redistribution permission is confirmed and configured. Async research responses include a job ID; reuse the same `Idempotency-Key` when retrying a start request. +Research snapshots perform eight bounded news-feed searches over earnings, guidance, regulation, industry, and supply-chain topics. Dated headlines are filtered to 30 days and returned with retrieval time, publisher counts, and original links. Coverage is bounded, not exhaustive; headlines and snippets are discovery references, not full article analysis. Responses include a request ID and market provenance, including the provider source and timestamp. rToken spot instruments are tokenized products; they are not underlying shares or stock perpetual contracts. An unavailable provider returns a safe service error instead of fabricated values. Bitget-backed market responses fail closed with `503 provider_terms_unconfirmed` until written redistribution permission is confirmed and configured. Async research responses include a job ID; reuse the same `Idempotency-Key` when retrying a start request. Errors use a stable code, safe message, and request ID. Respect `429` quotas and only retry safe operations or idempotent requests. All request and response schemas, status codes, limits, and OAuth-free API-key requirements are defined by the OpenAPI contract. diff --git a/openapi/tidelight.yaml b/openapi/tidelight.yaml index 14d867e..2890a5f 100644 --- a/openapi/tidelight.yaml +++ b/openapi/tidelight.yaml @@ -331,10 +331,20 @@ components: stock_perpetual: { oneOf: [{ $ref: '#/components/schemas/StockPerpetual' }, { type: 'null' }] } evidence: type: object - required: [mode, note, items] + required: [mode, note, coverage, items] properties: - mode: { type: string, const: headline_discovery } + mode: { type: string, const: multi_query_headline_discovery } note: { type: string } + coverage: + type: object + required: [query_count, lookback_days, retrieved_at, returned_items, publishers] + properties: + query_count: { type: integer, minimum: 0 } + lookback_days: { type: integer, const: 30 } + retrieved_at: { type: string, format: date-time } + returned_items: { type: integer, minimum: 0 } + publishers: { type: integer, minimum: 0 } + source_domains: { type: integer, minimum: 0 } items: { type: array, items: { $ref: '#/components/schemas/HeadlineReference' } } limitations: { type: array, items: { type: string } } StockPerpetual: