{"openapi":"3.1.0","info":{"title":"The Neural Ledger API","version":"2026-07-18","description":"The Neural Ledger member API for source-linked news, market context, saved searches, and feeds."},"servers":[{"url":"https://theneuralledger.com"}],"externalDocs":{"url":"https://theneuralledger.com/v1/openapi.json"},"paths":{"/v1/openapi.json":{"get":{"summary":"OpenAPI schema","description":"Machine-readable OpenAPI 3.1 schema for this API surface.","security":[],"parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/sample/news":{"get":{"summary":"Static developer sample","description":"Returns a small, synthetic, CC0-licensed news dataset for testing integrations without an API key. It never reads production member data.","security":[],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Case-insensitive filter across sample titles, excerpts, categories, and countries. Maximum 200 characters.","example":"shipping"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Maximum 20.","example":"1"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjF9"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/me":{"get":{"summary":"Account usage","description":"Returns the API key metadata, resolved plan, and current monthly usage.","security":[{"ApiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/ai-terminal":{"post":{"summary":"Ledger AI Terminal answer","description":"Runs the same Ledger AI Terminal investigation used by the website and returns an AI answer, evidence citations, conversation metadata, normal API usage, and the separate 50/month Ledger AI question usage.","security":[{"ApiKeyAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"question":{"type":"string","description":"Natural-language question for Ledger AI Terminal. Alias: message, prompt, or query.","example":"what are the most important news in Turkey today?"},"conversationId":{"type":"string","description":"Existing Ledger AI conversation id to continue. Alias: conversation_id.","example":"conv_123"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string"}},"required":["role","content"]},"description":"Optional user/assistant message history; the latest user message is used as the question."}},"required":["question"],"additionalProperties":true}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/ai-terminal/chat":{"post":{"summary":"Ledger AI Terminal chat alias","description":"Alias of /v1/ai-terminal for chat-oriented clients. Each successful request reserves one Ledger AI Terminal question before model work begins.","security":[{"ApiKeyAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"question":{"type":"string","description":"Natural-language question for Ledger AI Terminal. Alias: message, prompt, or query.","example":"what are the most important news in Turkey today?"},"conversationId":{"type":"string","description":"Existing Ledger AI conversation id to continue. Alias: conversation_id.","example":"conv_123"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string"}},"required":["role","content"]},"description":"Optional user/assistant message history; the latest user message is used as the question."}},"required":["question"],"additionalProperties":true}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/news":{"get":{"summary":"News stories","description":"Returns source-linked stories with cursor or offset pagination, filters, field shaping, and normalized metadata.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"entity","in":"query","required":false,"schema":{"type":"string"},"description":"Passive entity text or id filter.","example":"Federal Reserve"},{"name":"impact_path","in":"query","required":false,"schema":{"type":"string"},"description":"Impact path text, id, or lookup token filter.","example":"oil"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Full-text query across titles, summaries, entities, tags, and impact paths.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/editorial-posts":{"get":{"summary":"Editorial posts","description":"Returns standalone single-story TNL articles, opinions, and investigations plus exhaustive daily, weekly, and monthly country analyses with explicit content types, automated editorial personas, source-story provenance, and retained research citations.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by article, opinion, investigation, or country analysis.","example":"analysis"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by exact country membership.","example":"Turkiye"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by exact category membership.","example":"Economic & Macro"},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"description":"Maximum posts to return. Maximum 100.","example":"20"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based result offset.","example":"0"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/editorial-posts/{idOrSlug}":{"get":{"summary":"Single editorial post","description":"Returns one standalone editorial post by id or slug, including structured sections and source provenance.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/news-stories":{"get":{"summary":"News stories alias","description":"Alias of /v1/news for clients that use the upstream story naming convention.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"entity","in":"query","required":false,"schema":{"type":"string"},"description":"Passive entity text or id filter.","example":"Federal Reserve"},{"name":"impact_path","in":"query","required":false,"schema":{"type":"string"},"description":"Impact path text, id, or lookup token filter.","example":"oil"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Full-text query across titles, summaries, entities, tags, and impact paths.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/news/{idOrSlug}":{"get":{"summary":"Single story","description":"Returns one story by story id or the title slug used by article pages.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return.","example":"id,title,publishedAt,sources"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Detail groups to include when not returning a full story.","example":"sources,claims"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/news-stories/{idOrSlug}":{"get":{"summary":"Single story alias","description":"Alias of /v1/news/{id-or-slug} for story-oriented clients.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return.","example":"id,title,publishedAt,sources"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Detail groups to include when not returning a full story.","example":"sources,claims"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/search":{"get":{"summary":"Search","description":"Searches indexed stories and returns matching articles, page metadata, and entity/tag/impact suggestions.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"Search query. Alias: query.","example":"Federal Reserve"},{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"entity","in":"query","required":false,"schema":{"type":"string"},"description":"Passive entity text or id filter.","example":"Federal Reserve"},{"name":"impact_path","in":"query","required":false,"schema":{"type":"string"},"description":"Impact path text, id, or lookup token filter.","example":"oil"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/entities":{"get":{"summary":"Entity lookup","description":"Returns passive entities seen in stories with match counts.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Lookup query. Alias: query.","example":"copper"},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"description":"Maximum lookup results. Maximum 50.","example":"20"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/entities/{idOrSlug}/stories":{"get":{"summary":"Entity stories","description":"Returns stories that mention the supplied entity id, value, or label.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."},{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"impact_path","in":"query","required":false,"schema":{"type":"string"},"description":"Impact path text, id, or lookup token filter.","example":"oil"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Full-text query across titles, summaries, entities, tags, and impact paths.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/impact-paths":{"get":{"summary":"Impact path lookup","description":"Returns impact paths seen in stories with match counts.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Lookup query. Alias: query.","example":"copper"},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"description":"Maximum lookup results. Maximum 50.","example":"20"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/impact-paths/{idOrSlug}/stories":{"get":{"summary":"Impact path stories","description":"Returns stories linked to the supplied impact path id, token, or label.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."},{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"entity","in":"query","required":false,"schema":{"type":"string"},"description":"Passive entity text or id filter.","example":"Federal Reserve"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Full-text query across titles, summaries, entities, tags, and impact paths.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/assets/{idOrSlug}/stories":{"get":{"summary":"Asset stories","description":"Returns stories linked to an asset ticker or asset impact path.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."},{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"entity","in":"query","required":false,"schema":{"type":"string"},"description":"Passive entity text or id filter.","example":"Federal Reserve"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Full-text query across titles, summaries, entities, tags, and impact paths.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/rss":{"get":{"summary":"RSS feed","description":"Authenticated RSS 2.0 feed. Supports the same filters as /v1/news.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"entity","in":"query","required":false,"schema":{"type":"string"},"description":"Passive entity text or id filter.","example":"Federal Reserve"},{"name":"impact_path","in":"query","required":false,"schema":{"type":"string"},"description":"Impact path text, id, or lookup token filter.","example":"oil"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Full-text query across titles, summaries, entities, tags, and impact paths.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/atom":{"get":{"summary":"Atom feed","description":"Authenticated Atom feed. Supports the same filters as /v1/news.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"entity","in":"query","required":false,"schema":{"type":"string"},"description":"Passive entity text or id filter.","example":"Federal Reserve"},{"name":"impact_path","in":"query","required":false,"schema":{"type":"string"},"description":"Impact path text, id, or lookup token filter.","example":"oil"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Full-text query across titles, summaries, entities, tags, and impact paths.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/saved-searches":{"get":{"summary":"Saved searches","description":"Lists API-key owner scoped saved searches.","security":[{"ApiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}},"post":{"summary":"Create saved search","description":"Creates a saved search with filters and optional webhook alert settings.","security":[{"ApiKeyAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/saved-searches/{idOrSlug}":{"get":{"summary":"Saved search detail","description":"Returns one saved search by id.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}},"put":{"summary":"Update saved search","description":"Updates the saved query, filters, and alert settings.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}},"delete":{"summary":"Delete saved search","description":"Deletes a saved search.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/saved-searches/{idOrSlug}/results":{"get":{"summary":"Saved search results","description":"Runs a saved search and returns the same paginated article envelope as /v1/news.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint."},{"name":"page","in":"query","required":false,"schema":{"type":"string"},"description":"Page number, starting at 1.","example":"1"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string"},"description":"Stories per page. Alias: limit. Maximum 100.","example":"50"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque cursor returned as page.next_cursor for the next page.","example":"eyJvZmZzZXQiOjUwfQ"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"Zero-based offset. Ignored when cursor is supplied.","example":"100"},{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated response fields to return. The id field is always included when present.","example":"id,title,publishedAt,impactPaths"},{"name":"include","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields.","example":"sources,claims"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity.","example":"popular"},{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"G20 country filter from the story passive entities.","example":"Japan"},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized Neural Ledger story category.","example":"Trading & Markets"},{"name":"entity","in":"query","required":false,"schema":{"type":"string"},"description":"Passive entity text or id filter.","example":"Federal Reserve"},{"name":"impact_path","in":"query","required":false,"schema":{"type":"string"},"description":"Impact path text, id, or lookup token filter.","example":"oil"},{"name":"tag","in":"query","required":false,"schema":{"type":"string"},"description":"Normalized story tag filter.","example":"tariff"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Full-text query across titles, summaries, entities, tags, and impact paths.","example":"tariff"},{"name":"published_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"published_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories published at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"},{"name":"updated_since","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or after this ISO date/time.","example":"2026-05-01T00:00:00Z"},{"name":"updated_until","in":"query","required":false,"schema":{"type":"string"},"description":"Return stories updated at or before this ISO date/time.","example":"2026-05-31T23:59:59Z"}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/filters":{"get":{"summary":"Available filters","description":"Returns categories and G20 countries currently available in stored stories.","security":[{"ApiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}},"/v1/markets":{"get":{"summary":"Market ticker values","description":"Returns the latest collected market ticker values shown in the site header.","security":[{"ApiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly API call limit exceeded."}}}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"http","scheme":"bearer","bearerFormat":"The Neural Ledger API key"}}}}