{
  "opencollection": "1.0.0",
  "info": {
    "name": "LinqAlpha Briefing Data API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "X-API-KEY",
      "value": "{{X-API-KEY}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "Data",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Chat Message",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v1/chat_messages/:chat_message_id",
            "params": [
              {
                "name": "chat_message_id",
                "value": "123e4567-e89b-12d3-a456-426614174000",
                "type": "path",
                "description": "Chat message ID"
              }
            ]
          },
          "docs": "Retrieves a specific chat message by its ID.\n\n**How to find chat_message_id:**\nLook for the event with `event_name` set to `search_results` in the Chat API response data. For detailed instructions, see [search_results event response](https://docs.linqalpha.com/api-reference/basic/chat_v2#option-6)."
        },
        {
          "info": {
            "name": "References",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v1/references",
            "params": [
              {
                "name": "chat_message_id",
                "value": "123e4567-e89b-12d3-a456-426614174000",
                "type": "query",
                "description": "Chat message ID"
              }
            ]
          },
          "docs": "Retrieves evidence references for a specific chat message. Each reference corresponds to an exact chunk used in the final answer generated by the LinqAlpha engine. These chunks represent the precise portions of documents (e.g., filings, transcripts, or news) that were retrieved and cited by the model to construct the final response..\n\n**How to find chat_message_id:**\nLook for the event with `event_name` set to `search_results` in the Chat API response data. For detailed instructions, see [search"
        },
        {
          "info": {
            "name": "References (v2)",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v2/conversations/:conversation_id/references",
            "params": [
              {
                "name": "conversation_id",
                "value": "123e4567-e89b-12d3-a456-426614174000",
                "type": "path",
                "description": "Conversation ID (UUID). Provided in the `conversation` SSE event."
              },
              {
                "name": "organization_id",
                "value": "123e4567-e89b-12d3-a456-426614174000",
                "type": "query",
                "description": "Organization ID. Required for platform API keys to identify the target organization."
              },
              {
                "name": "user_id",
                "value": "user-123",
                "type": "query",
                "description": "User ID. Required together with `user_email` for platform API keys to identify the specific user who owns the conversation."
              },
              {
                "name": "user_email",
                "value": "john.doe@example.com",
                "type": "query",
                "description": "User email. Required together with `user_id` for platform API keys to identify the specific user who owns the conversation."
              }
            ]
          },
          "docs": "Retrieves the list of evidence references (citations) used in a conversation.\n\nThe [Analytics SSE](/api-reference/basic/analytics-sse) endpoint streams the generated answer but **does not include references in the response**. Use this endpoint after the stream completes to fetch the full list of references that were cited in the answer.\n\n**Usage Flow:**\n1. Call the Analytics SSE endpoint (`POST /v1/analytics/sse`)\n2. From the SSE stream, find the `conversation` event → extract `conversation_id`\n"
        },
        {
          "info": {
            "name": "Analytics V2 References",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v2/analytics/conversations/:conversation_id/references",
            "params": [
              {
                "name": "conversation_id",
                "value": "123e4567-e89b-12d3-a456-426614174000",
                "type": "path",
                "description": "Conversation ID (UUID). Provided in the `conversation` SSE event from the Analytics SSE V2 endpoint."
              },
              {
                "name": "organization_id",
                "value": "123e4567-e89b-12d3-a456-426614174000",
                "type": "query",
                "description": "Organization ID. Required for platform API keys to identify the target organization."
              },
              {
                "name": "user_id",
                "value": "user-123",
                "type": "query",
                "description": "User ID. Required together with `user_email` for platform API keys to identify the specific user who owns the conversation."
              },
              {
                "name": "user_email",
                "value": "john.doe@example.com",
                "type": "query",
                "description": "User email. Required together with `user_id` for platform API keys to identify the specific user who owns the conversation."
              }
            ]
          },
          "docs": "Retrieves the list of evidence references (citations) used in an analytics conversation, in normalized format with enriched metadata.\n\n> **Note:** This endpoint returns references from the Analytics V2 SSE endpoint. Some source types (e.g., `rms`) require a separate onboarding process. For more information, please contact us at support@linqalpha.com.\n\n**Usage Flow:**\n1. Call the Analytics SSE V2 endpoint (`POST /v2/analytics/sse`)\n2. From the SSE stream, find the `conversation` event → extract `"
        },
        {
          "info": {
            "name": "TTSQL",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.linqalpha.com/v1/ttsql",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Converts natural language query to SQL, executes it, and returns results in markdown format"
        },
        {
          "info": {
            "name": "Map tickers to stock IDs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v1/map_tickers",
            "params": [
              {
                "name": "tickers",
                "value": "tickers=AAPL&tickers=GOOG&tickers=MSFT&tickers=AMZN&tickers=TSLA&tickers=NVDA&tickers=META&tickers=NFLX&tickers=TSM&tickers=WMT",
                "type": "query",
                "description": "One or more ticker symbols to map. Can be repeated multiple times, e.g., `tickers=AAPL&tickers=GOOG`."
              }
            ]
          },
          "docs": "Accepts a list of ticker strings via query parameters and returns their corresponding stock IDs (BBG IDs)."
        },
        {
          "info": {
            "name": "Presigned URL",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v1/documents/:document_id/presigned_url",
            "params": [
              {
                "name": "document_id",
                "value": "",
                "type": "path",
                "description": "Document ID"
              }
            ]
          },
          "docs": "Generates a temporary presigned URL for secure access to the original document file.\n\nProvide a `document_id` (obtained from the References API) to receive a time-limited (10 min) URL that allows you to download or view the source document directly. This is useful when you need to access the actual file that was referenced in the search results."
        },
        {
          "info": {
            "name": "Batch Presigned URLs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v1/documents/batch_presigned_urls",
            "params": [
              {
                "name": "tickers",
                "value": "",
                "type": "query",
                "description": "Ticker symbol(s) to filter by. At least one ticker or stock_id is required. Use multiple `tickers` params for multiple tickers (e.g., `?tickers=AAPL&tickers=MSFT`)."
              },
              {
                "name": "stock_ids",
                "value": "",
                "type": "query",
                "description": "Stock ID(s) to filter by. Can be used instead of or together with `tickers`."
              },
              {
                "name": "doc_type",
                "value": "",
                "type": "query",
                "description": "Document type filter (e.g., `filing`, `earnings_call`)"
              },
              {
                "name": "doc_sub_type",
                "value": "",
                "type": "query",
                "description": "Document sub-type filter (e.g., `10-K`, `10-Q`, `annual_report`, `press_release`)"
              },
              {
                "name": "fiscal_period",
                "value": "",
                "type": "query",
                "description": "Fiscal period filter. Use nested object notation in the query string (e.g., `fiscal_period[start_time][year]=2024&fiscal_period[start_time][quarter]=1`)."
              },
              {
                "name": "calendar_period",
                "value": "",
                "type": "query",
                "description": "Calendar period filter. Use nested object notation in the query string (e.g., `calendar_period[start_time][year]=2025&calendar_period[start_time][month]=1`)."
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number (default: 1)"
              },
              {
                "name": "per_page",
                "value": "",
                "type": "query",
                "description": "Number of results per page (default: 20, max: 200)"
              }
            ]
          },
          "docs": "Generates temporary presigned URLs for multiple documents in a single request.\n\nFilter documents by ticker, document type, and date ranges. Returns paginated results with presigned URLs and document metadata.\n\nThis is useful when you need to download multiple source documents at once, rather than calling the single-document presigned URL endpoint repeatedly."
        },
        {
          "info": {
            "name": "Presigned URL V2",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v2/documents/:document_id/presigned_url",
            "params": [
              {
                "name": "document_id",
                "value": "",
                "type": "path",
                "description": "Document ID (from search/analytics references)"
              },
              {
                "name": "search_type",
                "value": "",
                "type": "query",
                "description": "Document source. `external` (default) returns external documents. `rms` returns documents from your Research Management System (RMS)."
              },
              {
                "name": "organization_id",
                "value": "",
                "type": "query",
                "description": "Organization ID. Recommended for `search_type=rms` and required for platform API keys. If omitted, defaults to the API key's primary organization."
              }
            ]
          },
          "docs": "Generates a temporary presigned URL for secure access to a document file. Supports both external documents (filings, transcripts, news) and RMS documents (Third Bridge transcripts, internal notes, EDS content).\n\nUse `search_type=rms` to access RMS documents. Default is `external` (same behavior as V1).\n\nFor platform API keys, pass `organization_id` to specify which org's documents to query. If omitted, defaults to the API key's primary organization."
        },
        {
          "info": {
            "name": "Batch Presigned URLs V2",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.linqalpha.com/v2/documents/presigned_urls",
            "params": [
              {
                "name": "search_type",
                "value": "",
                "type": "query",
                "description": "Document source. `external` (default) returns external documents. `rms` returns documents from your Research Management System (RMS)."
              },
              {
                "name": "organization_id",
                "value": "",
                "type": "query",
                "description": "Organization ID. Recommended for `search_type=rms` and required for platform API keys."
              },
              {
                "name": "tickers",
                "value": "",
                "type": "query",
                "description": "Ticker symbol(s). Use multiple params for multiple tickers (e.g., `?tickers=AAPL&tickers=MSFT`)."
              },
              {
                "name": "stock_ids",
                "value": "",
                "type": "query",
                "description": "Stock ID(s). Can be used instead of or together with tickers."
              },
              {
                "name": "document_ids",
                "value": "",
                "type": "query",
                "description": "Document ID(s) for batch lookup. **RMS only** — not supported for `search_type=external`."
              },
              {
                "name": "doc_type",
                "value": "",
                "type": "query",
                "description": "Document type filter. Valid values differ by `search_type` and organization."
              },
              {
                "name": "doc_sub_type",
                "value": "",
                "type": "query",
                "description": "Document sub-type filter. Valid values differ by `search_type` and organization."
              },
              {
                "name": "fiscal_period",
                "value": "",
                "type": "query",
                "description": "Fiscal period filter. Use nested notation: `fiscal_period[start_time][year]=2024&fiscal_period[start_time][quarter]=1`."
              },
              {
                "name": "calendar_period",
                "value": "",
                "type": "query",
                "description": "Calendar period filter. Use nested notation: `calendar_period[start_time][year]=2025&calendar_period[start_time][month]=1`."
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number (default: 1)"
              },
              {
                "name": "per_page",
                "value": "",
                "type": "query",
                "description": "Results per page (default: 20, max: 200)"
              }
            ]
          },
          "docs": "Generates temporary presigned URLs for multiple documents. Supports both external documents and RMS documents via the `search_type` parameter.\n\n**Two modes:**\n- **By document IDs** (RMS only): Pass `document_ids` to get presigned URLs for specific documents from search/analytics references.\n- **By filters**: Pass `tickers`, `doc_type`, etc. to browse and get presigned URLs.\n\nFor platform API keys, pass `organization_id` to specify which org to query."
        }
      ]
    }
  ],
  "bundled": true
}