### Agent-Readable Setup Source: https://synorb.com/docs Retrieve setup instructions in markdown format for agents. ```bash curl -s https://synorb.com/connect?format=md ``` -------------------------------- ### Fetch Agent-Readable Setup Source: https://synorb.com/docs Retrieve setup instructions in Markdown format using curl. ```bash curl -s synorb.com/connect?format=md ``` -------------------------------- ### Retrieve Manifests via GET Request Source: https://synorb.com/docs Example request to the manifests endpoint with a page size limit. ```http GET /streams/17723038993540102/manifests?page_size=1 { "manifests": [ { "manifest_id": "1772303896681792043", "record_id": "1772303895259186451", "stream_ids": ["17723038993540102"], "stream_names": ["Federal Reserve Bank of St. Louis"], "matched_at": "2026-03-04T14:22:01", "source": { "record_title": "The End of Rapid Population Growth", "source_url": "https://stlouisfed.org/on-the-economy/2023/mar/end-rapid-population-growth", "source_published_date": "2023-03-06", "source_name": "fed-stlouis-blog", "source_type": "organization", "media_format": "text", "claim_type": "analysis", "author": "Charles S. Gascon", "source_channel_ids": ["17732516384529123"], "source_channel_display": "Federal Reserve Bank of St. Louis" }, "signal": { Signal "story_id": "17737682899496764", "headline": "The End of Rapid Population Growth", "summary": "Analysis of demographic shifts as global population growth decelerates...", "body": { "signal": { "source_url": "...", "claim_count": 18, "featured_count": 4 }, "claims": [ { "claim_text": "Global population growth rate fell below 1% for the first time since 1950", "claim_type": "data", "confidence": "measured", "evidence": "derived", "signal": "Historic demographic inflection point with broad economic implications.", "featured": true, "entities": [{ "name": "United Nations", "type": "organization", "role": "source_org" }] }, ... 17 more claims ], "entity_details": [{ "tag_type": "Organization", "tag_value": "Federal Reserve Bank of St. Louis" }, { "tag_type": "Person", "tag_value": "Charles S. Gascon" }], "topics": ["demographics", "population", "economics"], "domain_classification": { "home_domain": "economics-business-work", "cross_domains": ["health-medicine", "society-law-government"] }, "tldr": "Global population growth has entered a slower, older-age phase.", "facts": [{ "label": "Growth rate", "value": "below 1%" }], "timeline": [{ "date": "2026-03-18", "event": "Brief source published" }], "unresolved": [], "signal_digest": { "claim_count": 18, "by_type": { "data": 12 }, "featured": [] }, "brief_meta": { "schema_version": "2.0", "family": "doc_extraction", "prompt_version": "1.0.1", "token_estimate": 620 } }, "sentiment": "neutral", "significance": "high", "version": 1, "claim_count": 18, "reading_time_minutes": 4.5 }, "brief": { Brief "story_id": "17737682899496765", "headline": "The End of Rapid Population Growth", "summary": "The world's population recently reached 8 billion, but the growth rate has slowed dramatically...", "body": { "key_insights": [ "Global population growth rate fell below 1% for the first time since 1950", "Fertility rates declining in both developed and developing nations", "Economic implications include labor shortages and pension system strain" ], "notable_quotes": [ { "text": "We are witnessing a historic demographic transition...", "speaker": "Charles S. Gascon", "context": "Author's analysis in the St. Louis Fed report." } ], "entity_details": [{ "tag_type": "Organization", "tag_value": "Federal Reserve Bank of St. Louis" }], "topics": ["demographics", "population", "economics"], "domain_classification": { "home_domain": "economics-business-work", "cross_domains": ["health-medicine", "society-law-government"] } }, "sentiment": "neutral", "significance": "high", "version": 1, "reading_time_minutes": 3.0, "key_points_count": 3, "quote_count": 1 }, "record": { Record "record_id": "17731495170319394", "title": "Global Population Growth Falls Below 1% for First Time Since 1950", "url": "https://fredsource.stlouisfed.org/population-growth-2026", "source_published_date": "2026-03-18", "source_name": "Federal Reserve Bank of St. Louis", "source_type": "organization", "media_format": "text", "claim_type": "analysis", "content": "Is the thought of transitioning into retirement stressing you out? You're not alone. According to the Federal Reserve Bank of St. Louis, global population growth rate fell below 1% for the first time since 1950, signaling a historic demographic shift...", "extra_data": { "extraction": { "entity_details": [{ "tag_type": "Organization", "tag_value": "Federal Reserve Bank of St. Louis" }], "topics": ["demographics", "population", "economics"], "domain_classification": { "home_domain": "economics-business-work", "cross_domains": ["health-medicine"] } } } } } ], "pagination": { "total_count": 11864, "page_num": 0, "page_size": 1, "next": 1, "prev": null } } ``` -------------------------------- ### Manifest Lookup Example Source: https://synorb.com/docs Example response for a single manifest lookup by record ID. ```json GET /manifests/1772303895259186451 { "manifest_id": "1772303896681792043", "record_id": "1772303895259186451", "stream_ids": ["17723038993540102"], "stream_names": ["Federal Reserve Bank of St. Louis"], "source": { "record_title": "The End of Rapid Population Growth", "source_url": "https://stlouisfed.org/on-the-economy/2023/mar/end-rapid-population-growth", "source_published_date": "2023-03-06", "source_name": "fed-stlouis-blog", "source_type": "organization", "media_format": "text", "claim_type": "analysis", "author": "Charles S. Gascon", "source_channel_ids": ["17732516384529123"], "source_channel_display": "Federal Reserve Bank of St. Louis" }, "signal": { "story_id": "17737682899496764", "headline": "The End of Rapid Population Growth", "summary": "Analysis of demographic shifts...", "body": { "claims": [{ "claim_text": "...", "claim_type": "data", "confidence": "measured", "evidence": "derived", ... }] }, "sentiment": "neutral", "significance": "high", "version": 1, "claim_count": 18 }, "brief": { "story_id": "17737682899496765", "headline": "The End of Rapid Population Growth", "summary": "The world's population recently reached 8 billion...", "body": { "key_insights": ["..."], "notable_quotes": [{ "text": "...", "speaker": "..." }], "tldr": "...", "brief_meta": { "schema_version": "2.0" } }, "body_markdown": "## Key Insights\n- ...\n\n## TL;DR\n...\n\n## Key Facts\n| Label | Value |\n|---|---|\n| ... | ... |", "sentiment": "neutral", "significance": "high", "version": 1, "key_points_count": 3, "quote_count": 1 }, "record": { // Enterprise only "record_id": "17731495170319394", "title": "Global Population Growth Falls Below 1% for First Time Since 1950", "url": "https://fredsource.stlouisfed.org/population-growth-2026", "source_published_date": "2026-03-18", "source_name": "Federal Reserve Bank of St. Louis", "source_type": "organization", "media_format": "text", "claim_type": "analysis", "content": "Is the thought of transitioning into retirement stressing you out? You're not alone...", "extra_data": null } } ``` -------------------------------- ### Ontology Sync Request Example Source: https://synorb.com/docs Example of a POST request to the ontology sync endpoint with optional parameters. ```http POST /ontology/sync?object_type=tag&object_id=1234&external_id=CRM-TSLA-001&external_name=Tesla+Corp&labels=watchlist,buy-side → { "id": 42, "status": "created" } ``` -------------------------------- ### Account Profile Response Source: https://synorb.com/docs Example JSON response for the GET /account endpoint. ```json { "org": { "id": "17724793080269856", "name": "Acme AI", "org_type": "individual", "contact_email": "team@acme.ai", "is_active": true }, "subscription": { "status": "active", "plan_display_name": "Professional", "endpoint_mcp": true, "endpoint_api": true, "endpoint_s3": false, "endpoint_websocket": false, "endpoint_webhook": false, "endpoint_digests": false }, "users": [{ "name": "User", "role": "owner", "has_active_key": true }], "usage": { "period": "2026-03", "manifests_limit": 100000, "manifests_remaining": 87660 }, "mcp_connector": { "url": "https://mcp.synorb.com/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" }, "docs": "https://synorb.com/docs#mcp" } } ``` -------------------------------- ### Get Stream Details Source: https://synorb.com/docs Example JSON response for the GET /streams/{id} endpoint, including security identifiers for public companies. ```json { "id": "17723038993540102", "name": "federal-reserve", "title": "Federal Reserve", "description": "All Federal Reserve content: speeches, minutes, press releases, balance sheet data, and Beige Book.", "home_domain": "society-law-government", "status": "live", "stream_class": "discovery", "source_type": "organization", "is_public": true, "manifests_last24h": 5, "manifests_last7d": 42, "manifests_last30d": 187, "claims_last24h": 85, "claims_last7d": 720, "claims_last30d": 3210, "source_channels": [{ "id": "17730001234567891", "name": "openai-blog", "source_channel_display": "OpenAI Blog", "source_type": "firecrawl", "media_format": "text", "is_active": true, "activated_on": "2026-01-15T00:00:00Z", "deactivated_on": "1970-01-01T00:00:00Z", "deactivation_reason": "none" }], "filter_definition": { "tag_ids": ["17723038993540102"], "source_type": "organization" }, // Public-company streams populate these; non-public streams return [] / null. "tickers": ["NVDA"], "isins": ["US67066G1040"], "primary_url": "https://www.nvidia.com", // Nested block: single public company -> primary_* populated; 0 or >1 -> primary_* null (identifiers still listed). cik/figi are strings. "security": { "is_public_company": true, "ticker": "NVDA", "exchange_mic": "XNAS", "isin": "US67066G1040", "figi": "BBG000BBJQV0", "cik": "1045810", "identifiers": [ { "id_type": "ticker", "id_value": "NVDA", "asset_class": null, "exchange_mic": "XNAS", "is_primary": true }, { "id_type": "isin", "id_value": "US67066G1040", "asset_class": "equity", "exchange_mic": null, "is_primary": true } ] } } ``` -------------------------------- ### REST API Request Source: https://synorb.com/docs Generic REST API request example. ```bash curl -H "api-key: YOUR_API_KEY" -H "secret: YOUR_API_SECRET" \ https://api.synorb.com/streams?page_size=5 ``` -------------------------------- ### GET /connect Source: https://synorb.com/docs Retrieves API credentials and MCP server configuration. ```APIDOC ## GET /connect ### Description Generates and returns API credentials (key, secret) and MCP server configuration URLs. ### Method GET ### Endpoint https://synorb.com/connect ### Parameters #### Query Parameters - **format** (string) - Optional - Set to 'md' for markdown documentation format ``` -------------------------------- ### Streams API Call Source: https://synorb.com/docs Example request for the /streams endpoint. ```bash curl -H "api-key: KEY" -H "secret: SEC" \ https://api.synorb.com/streams?home_domain=engineering-technology&page_size=5 ``` -------------------------------- ### Payload: manifest.matched Source: https://synorb.com/docs Example JSON payload for the manifest.matched event. ```json { "event": "manifest.matched", "webhook_id": 7, "timestamp": "2026-03-04T14:30:00.000Z", "data": { "manifest_id": "1772434238663730227", "stream_id": "17723038993540102", "stream_name": "federal-reserve", "headline": "The End of Rapid Population Growth", "published_date": "2026-03-04", "claim_count": 7, "tags": ["Federal Reserve", "United Nations"], "home_domain": "society-law-government" } } ``` -------------------------------- ### API Error Response Examples Source: https://synorb.com/docs Examples of JSON error bodies returned for various HTTP status codes. ```json {"detail":"tag_ids must be comma-separated integers"} ``` ```json {"detail":"Authentication required. Provide 'api-key' + 'secret' headers, or 'x-access-token' header."} ``` ```json {"detail":" does not include Records"} ``` ```json {"detail":"Stream 123 not found"} ``` ```json {"detail":{"error_code":"idempotency_conflict","message":"Idempotency-Key has already been used with a different request payload."}} ``` ```json {"detail": {"error_code": "rate_limited", "message": "Rate limit exceeded. 60 requests/minute for your plan.", "retry_after_seconds": 60}} ``` ```json {"detail": {"error_code": "quota_exhausted", "message": "Monthly Manifest quota completed. Used 1000/1000 manifests. Resets in 24 days.", "quota_resets_on": "2026-08-01"}} ``` -------------------------------- ### GET /v3/beacons Source: https://synorb.com/docs List organization beacons. ```APIDOC ## GET /v3/beacons ### Description Lists all beacons owned by the organization. ### Method GET ### Endpoint /v3/beacons ### Parameters #### Query Parameters - **status** (string) - Optional - Filter by status - **tag** (string) - Optional - Filter by tag - **q** (string) - Optional - Search query - **collection_id** (string) - Optional - Filter by collection ID - **limit** (int) - Optional - Max results - **offset** (int) - Optional - Pagination offset ``` -------------------------------- ### Create Digest Request Source: https://synorb.com/docs Example cURL request to create a new digest. ```bash curl -X POST -H "api-key: KEY" -H "secret: SEC" \ -d '{"name":"AI Policy Watch","stream_ids":["17723038993540102"]}' \ https://api.synorb.com/digests ``` -------------------------------- ### Agent Workflow Tool Calls Source: https://synorb.com/docs Examples of invoking specific agent tools for stream management and beacon operations. ```python synorb-stream-search(query='all podcast streams', media_format='audio', page_size=200) ``` ```python synorb-catalog(query='AI infrastructure earnings', home_domains=['economics-business-work']) ``` ```python synorb-details(stream_ids=["17723038993540102", ...]) ``` ```python synorb-manifests(home_domains=['all'], tag_names=['Elon Musk','Sam Altman'], tag_type='person', tag_logic='and', published_date_from='YYYY-MM-DD', target_count=10) ``` ```python synorb-configure-beacon(intent='track AI infrastructure funding news') ``` ```python synorb-save-beacon(proposal={...}, status='active') ``` ```python synorb-beacons(status='active') ``` ```python synorb-archive-beacon(beacon_id='synorb_bcn_...') ``` -------------------------------- ### Payload: digest.new_content Source: https://synorb.com/docs Example JSON payload for the digest.new_content event. ```json { "event": "digest.new_content", "webhook_id": 12, "timestamp": "2026-03-13T14:30:00.000Z", "data": { "digest_id": 42, "digest_name": "Federal Reserve", "manifest_id": "1772434238663730227", "stream_id": "17723038993540102", "stream_name": "federal-reserve", "headline": "The End of Rapid Population Growth", "published_date": "2026-03-13", "available": ["signal", "brief"] } } ``` -------------------------------- ### Payload: stream.created Source: https://synorb.com/docs Example JSON payload for the stream.created event. ```json { "event": "stream.created", "webhook_id": 7, "timestamp": "2026-03-04T14:30:00.000Z", "data": { "stream_id": "17723038993540102", "name": "federal-reserve", "title": "Federal Reserve", "description": "All Federal Reserve content: speeches, minutes, press releases, balance sheet data, and Beige Book.", "home_domain": "society-law-government", "cross_domains": ["economics-business-work", "physical-sciences-mathematics"] } } ``` -------------------------------- ### GET /ontology/labels Source: https://synorb.com/docs List all custom label definitions for your organization. ```APIDOC ## GET /ontology/labels ### Description List all custom label definitions for your organization. ### Method GET ### Endpoint /ontology/labels ``` -------------------------------- ### GET /digests Source: https://synorb.com/docs List all digests for the organization. ```APIDOC ## GET /digests ### Description Retrieves a list of all digests associated with the organization, including stream counts and filter status. ### Method GET ### Endpoint /digests ``` -------------------------------- ### GET /account Source: https://synorb.com/docs Retrieves account details for authenticated users using API keys. ```APIDOC ## GET /account ### Description Retrieves account details for authenticated users using API keys. ### Method GET ### Endpoint https://api.synorb.com/account ### Parameters #### Request Headers - **api-key** (string) - Required - The user's API key. - **secret** (string) - Required - The user's API secret. ``` -------------------------------- ### GET /brief/{manifest_id} Source: https://synorb.com/docs Retrieves brief data associated with a specific manifest ID. ```APIDOC ## GET /brief/{manifest_id} ### Description Retrieves the brief component by manifest ID. ### Method GET ### Endpoint /brief/{manifest_id} ``` -------------------------------- ### GET /account Source: https://synorb.com/docs Retrieves the user's profile, subscription plan details, and current usage statistics. ```APIDOC ## GET /account ### Description Returns the authenticated user's profile, organization details, subscription status, and usage limits. ### Method GET ### Endpoint https://api.synorb.com/account ### Parameters #### Headers - **api-key** (string) - Required - Your API key - **secret** (string) - Required - Your API secret ### Response #### Success Response (200) - **org** (object) - Organization details - **subscription** (object) - Plan and status information - **users** (array) - List of users in the organization - **usage** (object) - Current usage metrics - **mcp_connector** (object) - MCP connection details ``` -------------------------------- ### GET /digests/synorb Source: https://synorb.com/docs List all Synorb digests added to the account. ```APIDOC ## GET /digests/synorb ### Description Retrieves a list of Synorb digests that have been added to the user's account. ### Method GET ### Endpoint /digests/synorb ``` -------------------------------- ### GET /profile Source: https://synorb.com/docs Retrieves the user's profile information, including plan, quota, refresh tier, content access, and allowed date window. ```APIDOC ## GET /profile ### Description Retrieves the user's profile information, including plan, quota, refresh tier, content access, and allowed date window. ### Method GET ### Endpoint https://mcp.synorb.com/profile ### Parameters #### Query Parameters - **token** (string) - Required - The user's MCP token. ### Response #### Success Response (200) - **plan** (string) - User subscription plan. - **quota** (object) - Current usage and limits. - **refresh_tier** (string) - Refresh frequency tier. - **content_access** (array) - List of accessible content types. - **allowed_date_window** (string) - The date range available for queries. ``` -------------------------------- ### GET /streams Source: https://synorb.com/docs/api Retrieves a list of accessible streams from the Synorb platform. ```APIDOC ## GET /streams ### Description List accessible Streams and fetch their Manifests. ### Method GET ### Endpoint https://api.synorb.com/streams ### Parameters #### Query Parameters - **page_size** (integer) - Optional - The number of results to return per page. ### Request Example curl -H "api-key: YOUR_API_KEY" \ -H "secret: YOUR_API_SECRET" \ "https://api.synorb.com/streams?page_size=5" ``` -------------------------------- ### GET /manifests/{record_id} Source: https://synorb.com/docs Retrieves a single manifest by its unique record ID. Returns source, signal, and brief information for all plans, with record details included for Enterprise plans. ```APIDOC ## GET /manifests/{record_id} ### Description Single manifest lookup by record ID. Returns the nested structure containing source, signal, brief, and record information. ### Method GET ### Endpoint /manifests/{record_id} ### Parameters #### Path Parameters - **record_id** (int) - Required - The record's unique ID. ``` -------------------------------- ### GET /digests/{id}/manifests Source: https://synorb.com/docs Fetch manifests for a specific digest. ```APIDOC ## GET /digests/{id}/manifests ### Description Retrieves manifests for a specific digest within a date range. ### Method GET ### Endpoint /digests/{id}/manifests ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the digest. #### Query Parameters - **published_date_from** (string) - Optional - Start date for filtering manifests (YYYY-MM-DD). - **published_date_to** (string) - Optional - End date for filtering manifests (YYYY-MM-DD). ``` -------------------------------- ### List Streams Response Source: https://synorb.com/docs Example JSON response for the list streams endpoint, showing stream metadata and pagination. ```json { "streams": [ { "id": "17723038993558141", "name": "national-weather", "description": "NWS forecasts and alerts for major US metro areas.", "home_domain": "universe-earth", "manifests_last24h": 808, "manifests_last7d": 1821, "manifests_last30d": 2035 }, { "id": "17723038993547086", "name": "bloomberg-podcasts", "description": "Bloomberg podcast network: Odd Lots, Surveillance, and The Big Take.", "home_domain": "economics-business-work", "manifests_last24h": 0, "manifests_last7d": 18, "manifests_last30d": 157, "tickers": [], "isins": [], "primary_url": null, "security": { "is_public_company": false, "ticker": null, "exchange_mic": null, "isin": null, "figi": null, "cik": null, "identifiers": [] } } ], "pagination": { "total_count": 452, "page_num": 0, "page_size": 50, "next": 1, "prev": null } } ``` -------------------------------- ### S3 Manifest JSON Structure Source: https://synorb.com/docs Example of the nested Manifest object structure found in S3 archive files. ```json { "archive_format": { "schema": "synorb.s3.manifest", "version": 1, "content_includes": ["signal", "brief"] }, "source": { ... }, "signal": { ... }, "brief": { "body": { "brief_meta": { "schema_version": "1.0 | 2.0" } } }, "record": { ... } } ``` -------------------------------- ### GET /streams/{stream_id}/manifests Source: https://synorb.com/docs Executes a manifest for a specific stream, optionally scoped by a beacon_id. ```APIDOC ## GET /streams/{stream_id}/manifests ### Description Retrieves manifests for a stream. Can be scoped using a beacon_id and a date window. ### Method GET ### Endpoint https://api.synorb.com/streams/{stream_id}/manifests ### Parameters #### Path Parameters - **stream_id** (int) - Required - The ID of the stream #### Query Parameters - **beacon_id** (string) - Optional - The ID of the beacon to apply - **lookback_hours** (int) - Optional - Hours to look back - **broaden_sources** (boolean) - Optional - Allow broadening sources beyond beacon scope ``` -------------------------------- ### Get Digest Details Source: https://synorb.com/docs Retrieve detailed information for a specific digest by ID. ```json { "digest": { "id": 1, "stream_ids": [...], "filter_spec": {...} }, "streams": [{ "id": ..., "title": "Federal Reserve", "manifests_last7d": 312 }] } ``` -------------------------------- ### GET /streams Source: https://synorb.com/docs Retrieves data streams based on specified query parameters. ```APIDOC ## GET /streams ### Description Fetches data streams. This is the most common call for retrieving content. ### Method GET ### Endpoint https://api.synorb.com/streams ### Parameters #### Headers - **api-key** (string) - Required - Your API key - **secret** (string) - Required - Your API secret #### Query Parameters - **home_domain** (string) - Optional - Filter streams by domain - **page_size** (integer) - Optional - Number of items to return ``` -------------------------------- ### Conditional GET with ETag Source: https://synorb.com/docs Using ETag headers to perform conditional requests and avoid quota consumption. ```bash curl -i "https://api.synorb.com/streams" -H "api-key: KEY" -H "secret: SEC" # 200 OK — note the header: ETag: "synorb-abc123..." curl -i "https://api.synorb.com/streams" -H "api-key: KEY" -H "secret: SEC" \ -H 'If-None-Match: "synorb-abc123..."' # 304 Not Modified — nothing changed: no body, no quota ``` -------------------------------- ### GET /backfill/grants Source: https://synorb.com/docs Retrieves historical backfill data from S3 archives for the specified grants. ```APIDOC ## GET /backfill/grants ### Description Retrieves historical backfill data from S3 archives. This is used for data older than the live window (current calendar month plus the previous three full months). ### Method GET ### Endpoint /backfill/grants ``` -------------------------------- ### GET /streams/{id}/manifests Source: https://synorb.com/docs Retrieve full manifests for a stream, including source metadata, Signal, and Brief. Supports pagination and date filtering. ```APIDOC ## GET /streams/{id}/manifests ### Description Retrieve full manifests including source metadata, Signal, and Brief. Paginated and date-filtered. ### Method GET ### Endpoint /streams/{id}/manifests ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the stream #### Query Parameters - **published_date_from** (date) - Optional - Start date (YYYY-MM-DD) - **published_date_to** (date) - Optional - End date (YYYY-MM-DD) - **tag_ids** (string) - Optional - Comma-separated tag IDs to filter by - **tag_type** (string) - Optional - Filter by tag type: person, organization, place, topic, data - **tag_logic** (string) - Optional - `or`/`any` for any selected tag; `and`/`all` for co-mentions ``` -------------------------------- ### GET /signal/{manifest_id} Source: https://synorb.com/docs Retrieves signal data associated with a specific manifest ID. ```APIDOC ## GET /signal/{manifest_id} ### Description Retrieves the signal component by manifest ID. ### Method GET ### Endpoint /signal/{manifest_id} ``` -------------------------------- ### GET /streams Source: https://synorb.com/docs List all streams with volume metrics. Supports filtering by home domain, public status, ticker, or ISIN. ```APIDOC ## GET /streams ### Description List all streams with volume metrics. Filter by `home_domain`, `is_public`, or the public-company identifiers `ticker` / `isin`. ### Method GET ### Endpoint /streams ### Parameters #### Query Parameters - **home_domain** (enum) - Optional - Filter by canonical domain (12 values) - **is_public** (bool) - Optional - Public streams only - **ticker** (string) - Optional - Filter to streams for the matching public company by stock ticker. Comma-separated, exact, case-insensitive. - **isin** (string) - Optional - Filter to streams for the matching public company by ISIN. Comma-separated, exact, case-insensitive. - **page** (int) - Optional - Page number, 0-indexed - **page_size** (int) - Optional - Results per page, max 200 ### Response #### Success Response (200) - **streams** (array) - List of stream objects - **pagination** (object) - Pagination metadata ``` -------------------------------- ### GET /streams/{stream_id}/manifests Source: https://synorb.com/docs Retrieves a list of manifests for a specific stream, with options to filter by company identifiers or SEC form types. ```APIDOC ## GET /streams/{stream_id}/manifests ### Description Retrieves a paginated list of manifests associated with a specific stream ID. Results can be filtered by company ticker, ISIN, or SEC form type. ### Method GET ### Endpoint /streams/{stream_id}/manifests ### Parameters #### Path Parameters - **stream_id** (string) - Required - The unique identifier of the stream. #### Query Parameters - **ticker** (string) - Optional - Resolve the ticker to its company tag and filter manifests to that company. Comma-separated, exact, case-insensitive. - **isin** (string) - Optional - Resolve the ISIN to its company tag and filter manifests to that company. Comma-separated, exact, case-insensitive. - **sec_form_type** (string) - Optional - Filter SEC-filing manifests by form type. Comma-separated, exact, case-insensitive. - **page** (int) - Optional - Page number, 0-indexed. - **page_size** (int) - Optional - Results per page, max 200. ### Response #### Success Response (200) - **manifests** (array) - List of manifest objects. - **pagination** (object) - Pagination metadata including total_count, page_num, page_size, next, and prev. ``` -------------------------------- ### GET /streams/{id} Source: https://synorb.com/docs Retrieve detailed information for a specific stream, including status, stream class, filters, source channels, and volume metrics. ```APIDOC ## GET /streams/{id} ### Description Retrieve stream details including title, status, stream_class, filters, source_channels, and volume metrics. ### Method GET ### Endpoint /streams/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the stream ### Response #### Success Response (200) - **id** (string) - Stream ID - **name** (string) - Stream name - **title** (string) - Stream title - **description** (string) - Stream description - **security** (object) - Security and public company identifier block ``` -------------------------------- ### Initialize and Use Synorb Python SDK Source: https://synorb.com/docs Demonstrates client initialization, searching tags, syncing, listing syncs, and removing a sync. ```python from synorb import Synorb client = Synorb(api_key="YOUR_KEY", api_secret="YOUR_SECRET") # Search tags results = client.ontology.search("Tesla", tag_type="organization") # Create a sync client.ontology.sync(tag_id=1234, external_id="CRM-TSLA-001", external_name="Tesla Corp", labels=["watchlist", "buy-side"]) # List syncs for s in client.ontology.syncs(): print(f"{b.tag_name} → {b.external_id}") # Remove a sync client.ontology.unsync(tag_id=1234) ``` -------------------------------- ### Create a Beacon Source: https://synorb.com/docs Initializes a new Beacon with specified stream IDs, topic filters, and date window settings. ```bash curl -X POST "https://api.synorb.com/v3/beacons" \ -H "api-key: KEY" -H "secret: SEC" \ -H "content-type: application/json" \ -d '{"name":"AI developments","stream_ids":[1801,1820,1855],"topic_filters":[{"slug":"ai-models"}],"default_date_window":{"lookback_hours":24},"status":"active"}' ``` -------------------------------- ### Programmatic Bootstrap and API Access Source: https://synorb.com/docs Commands for account bootstrapping and retrieving profile or account information. ```bash curl -s https://synorb.com/connect ``` ```bash curl "https://mcp.synorb.com/profile?token=YOUR_MCP_TOKEN" ``` ```bash curl https://api.synorb.com/account \ -H "api-key: YOUR_API_KEY" \ -H "secret: YOUR_API_SECRET" ``` -------------------------------- ### Configure Core MCP Server Source: https://synorb.com/docs Use this configuration for standard MCP-compatible clients. Replace YOUR_TOKEN with your provided credentials. ```json { "mcpServers": { "synorb": { "url": "https://mcp.synorb.com/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } } ``` -------------------------------- ### POST /v3/beacons Source: https://synorb.com/docs Create a new beacon configuration. ```APIDOC ## POST /v3/beacons ### Description Creates a new beacon, which is a saved query configuration for retrieving relevant manifests. ### Method POST ### Endpoint /v3/beacons ``` -------------------------------- ### Retrieve Credentials Source: https://synorb.com/docs Fetch API keys, secrets, and MCP server configurations. ```bash curl -s https://synorb.com/connect // Returns: { "credentials": { "api_key": "sk_live_a1b2c3d4...", "api_secret": "xK9#mP2$vL...", "mcp_token": "eyJhbGci..." }, "mcp_server": "https://mcp.synorb.com/mcp", "mcp_servers": { "core": { "url": "https://mcp.synorb.com/mcp", "headers": { "Authorization": "Bearer ..." } }, "core_sse": { "url": "https://mcp.synorb.com/sse?token=..." }, "advanced": { "url": "https://mcp.synorb.com/advanced/mcp", "headers": { "Authorization": "Bearer ..." } } } } ``` -------------------------------- ### Configure Core MCP Server Source: https://synorb.com/docs/mcp JSON configuration for connecting an MCP client to the Synorb Core MCP server using an authorization token. ```json { "mcpServers": { "synorb": { "url": "https://mcp.synorb.com/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_TOKEN" } } } } ``` -------------------------------- ### Configure MCP Server Source: https://synorb.com/docs JSON configuration format for integrating Synorb as an MCP server. ```json { "mcpServers": { "synorb": { "url": "..." } } } ``` -------------------------------- ### GET /digests/{id} Source: https://synorb.com/docs Retrieve details for a specific digest. ```APIDOC ## GET /digests/{id} ### Description Returns detailed information about a specific digest, including the resolved stream list and filter specifications. ### Method GET ### Endpoint /digests/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the digest ``` -------------------------------- ### Execute a Beacon via MCP Source: https://synorb.com/docs Executes a Beacon using the MCP companion tool interface. ```json synorb-manifests { "beacon_id": "synorb_bcn_AbCd", "lookback_hours": 24 } ``` -------------------------------- ### GET /streams/{id} Source: https://synorb.com/docs Retrieve details for a specific stream by its ID. ```APIDOC ## GET /streams/{id} ### Description Retrieve detailed information for a specific stream, including SEC filings if available. ### Method GET ### Endpoint /streams/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the stream. #### Query Parameters - **sec_form_type** (string) - Optional - Comma-separated list of SEC form types (e.g., 8-K, 10-K) to filter filings. - **ticker** (string) - Optional - Filter filings by ticker. ### Response #### Success Response (200) - **tickers** (array) - List of ticker symbols. - **isins** (array) - List of equity share-class ISINs. - **primary_url** (string) - The company's canonical URL. ``` -------------------------------- ### POST /v3/beacons Source: https://synorb.com/docs Creates a new Beacon with specified streams, topic filters, and default date window settings. ```APIDOC ## POST /v3/beacons ### Description Creates a new Beacon for tracking content based on streams and topic filters. ### Method POST ### Endpoint https://api.synorb.com/v3/beacons ### Request Body - **name** (string) - Required - Name of the beacon - **stream_ids** (array) - Required - List of stream IDs - **topic_filters** (array) - Required - List of topic filter objects - **default_date_window** (object) - Required - Default lookback configuration - **status** (string) - Required - Status of the beacon (e.g., "active") ``` -------------------------------- ### Execute a Beacon from Cron Source: https://synorb.com/docs Automates Beacon execution using a standard cron job configuration. ```bash # Customer-owned cron line 0 6 * * * curl -sS \ -H "api-key: $SYNORB_API_KEY" -H "secret: $SYNORB_API_SECRET" \ "https://api.synorb.com/streams/1801/manifests?beacon_id=synorb_bcn_AbCd&lookback_hours=24" ``` -------------------------------- ### Configure Synorb MCP Servers Source: https://synorb.com/docs JSON configurations for connecting to Synorb MCP servers via different transport protocols. ```json { "mcpServers": { "synorb": { "url": "https://mcp.synorb.com/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } } ``` ```json { "mcpServers": { "synorb": { "url": "https://mcp.synorb.com/sse?token=YOUR_TOKEN" } } } ``` ```json { "mcpServers": { "synorb-advanced": { "url": "https://mcp.synorb.com/advanced/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } } ``` -------------------------------- ### GET /api/digests Source: https://synorb.com/docs Browse the public catalog of Synorb digests. No authentication is required. ```APIDOC ## GET /api/digests ### Description Retrieves a list of available Synorb digests from the public catalog. ### Method GET ### Endpoint /api/digests ### Response #### Success Response (200) - **digests** (array) - A list of available digests including name, slug, stream_count, and manifests_last30d. ``` -------------------------------- ### Core MCP Configuration Source: https://synorb.com/docs Standard URL and authorization header for Core MCP. ```text https://mcp.synorb.com/mcp Authorization: Bearer YOUR_MCP_TOKEN ``` -------------------------------- ### GET /streams Source: https://synorb.com/docs Retrieve a list of streams, optionally filtered by ticker or ISIN. ```APIDOC ## GET /streams ### Description Retrieve a list of streams. Use query parameters to filter the catalog by specific company identifiers. ### Method GET ### Endpoint /streams ### Parameters #### Query Parameters - **ticker** (string) - Optional - Filter by company ticker symbol. - **isin** (string) - Optional - Filter by company equity share-class ISIN. ### Response #### Success Response (200) - **tickers** (array) - List of ticker symbols associated with the stream. - **isins** (array) - List of equity share-class ISINs. - **primary_url** (string) - The company's canonical URL. ``` -------------------------------- ### synorb-manifests Source: https://synorb.com/docs Tool for retrieving signals and briefs from specific streams. ```APIDOC ## synorb-manifests ### Description Retrieves Signal and Brief content from specified streams. This tool consumes manifest quota. ### Parameters - **stream_ids** (array) - Required - List of stream identifiers to fetch. - **page_size** (integer) - Optional - Number of manifests to return per request. ``` -------------------------------- ### GET /record/{manifest_id} Source: https://synorb.com/docs Retrieves record data associated with a specific manifest ID. ```APIDOC ## GET /record/{manifest_id} ### Description Retrieves the record component by manifest ID. ### Method GET ### Endpoint /record/{manifest_id} ``` -------------------------------- ### Brief Schema Source: https://synorb.com/docs Schema for brief content available on all plans, including key insights, quotes, and markdown body. ```json { "story_id": "string (unique ID)", "stream_id": "string", "source_published_date": "YYYY-MM-DD", "source_type": "person | organization | data", "media_format": "text | audio | social | data", "headline": "string", "summary": "string", "body": { "key_insights": [ "string", ... ], "notable_quotes": [{ "text": "string", "speaker": "string", "context": "string" }], "entity_details": [// array of objects (not a dict) { "tag_type": "Organization | Person | Place | Topic", "tag_value": "string" } ], "topics": ["string", ...], "domain_classification": { "home_domain": "string", "cross_domains": [""] }, // v2 fields, rolling out family by family: "tldr": "string", "why_it_matters": "string", "facts": [{ "label": "string", "value": "string" }], "timeline": [{ "date": "YYYY-MM-DD", "event": "string" }], "unresolved": ["string"], "signal_digest": { "claim_count": integer, "by_type": {}, "featured": [] }, "brief_meta": { "schema_version": "1.0 | 2.0", "family": "string", "prompt_version": "string" }, // Audio only (media_format = "audio"): "actionable_takeaways": ["string"], "guest_details": [{ "name": "string", "title": "string", "affiliation": "string" }], "cross_promotion": "string", "cultural_relevance": "string" }, "body_markdown": "## Key Insights\n- ...\n\n## Notable Quotes\n- ...\n\n## TL;DR\n...\n\n## Key Facts\n| Label | Value |\n|---|---|\n| ... | ... |\n\n## Why It Matters\n...\n\n## Timeline\n- ...\n\n## Unresolved\n- ...\n\n## Filing Details\n- Form type: 8-K", "sentiment": "positive | negative | neutral | mixed | indeterminate", "significance": "low | medium | high", "story_version": integer, "key_points_count": integer, "quote_count": integer, "reading_time_minutes": integer, "record_id": "string", "record_url": "https://...", "record_version": integer } ``` -------------------------------- ### POST /backfill/{grant_id}/download Source: https://synorb.com/docs Generates a presigned S3 URL for a historical backfill export grant. The URL is valid for 7 days. ```APIDOC ## POST /backfill/{grant_id}/download ### Description Generate a presigned S3 URL for a historical backfill export grant. The URL is valid for 7 days. ### Method POST ### Endpoint /backfill/{grant_id}/download ### Parameters #### Path Parameters - **grant_id** (string) - Required - The unique identifier for the export grant. ``` -------------------------------- ### Authenticate REST API Request Source: https://synorb.com/docs Use api-key and secret headers for REST API authentication. ```bash curl -H "api-key: a1b2c3d4-..." -H "secret: xK9#mP2..." \ https://api.synorb.com/account ```