> ## Documentation Index
> Fetch the complete documentation index at: https://doc.prometheus.services/llms.txt
> Use this file to discover all available pages before exploring further.

# News story

> One story: the item, its entity tags (companies, people, indicators…), the rest of its storyline (same cluster, newest first, up to 10), metadata, and the full text for full_text-licensed sources only (null otherwise).



## OpenAPI

````yaml /openapi.json get /api/v1/news/items/{id}
openapi: 3.1.0
info:
  title: Prometheus API
  version: 1.0.0
  description: >-
    Audit-grade financial data: SEC 10-K/10-Q/8-K filings parsed from XBRL into
    standardized statements where every number links back to its source fact;
    earnings-call transcripts turned into verified observations and guidance
    scorecards; a bitemporal (point-in-time) macro cube; benchmark, commodity
    and compute-price series; and a validated causal claim graph.


    Tiers: `public` endpoints need no credentials. Everything else takes an
    **API key** — create one on the Developers page in the terminal
    (https://www.prometheus.services/developers) and send it as `X-API-KEY:
    pk_live_...` (or `Authorization: Bearer pk_live_...`). Signed-in terminal
    sessions may use their Cognito ID token instead.


    Rate limits and quotas are per plan (fixed UTC windows): Free — 30 req/min,
    250 req/day; Build ($200/mo) — 300 req/min, 100,000 req/month; Scale —
    custom. Prepaid credits extend volume beyond the allowance at $0.02/request
    (never rate). Responses carry RateLimit-*, X-Quota-* and, when credits pay,
    X-Billing-Source/X-Credits-Remaining-USD headers; a 429 carries
    `Retry-After` and a machine `code` of rate_limited or quota_exceeded (with
    buy_credits_url).


    Not investment advice. See /terms.
  contact:
    email: sales@prometheus.finance
  termsOfService: https://www.prometheus.services/terms
servers:
  - url: https://www.prometheus.services
security: []
tags:
  - name: Search & Meta
    description: Entity resolution and platform metadata.
  - name: Company Data
    description: Profiles, structure, leadership, calendars.
  - name: Financial Statements
    description: >-
      Standardized XBRL-derived statements — every line traceable to its filing
      via fact provenance.
  - name: SEC Filings
    description: The filing index and parsed section text.
  - name: 8-K Events
    description: Material events, typed by family, with extracted item text.
  - name: News
    description: >-
      The intraday news tape: filings, releases and licensed wires with source
      attribution, storylines and topics.
  - name: Transcripts & Calls
    description: Earnings-call transcripts, span-anchored observations, IR decks.
  - name: Guidance & Scorecards
    description: What management promised vs. what happened.
  - name: Ownership & Insiders
    description: 13F holders, Forms 3/4/5, the people registry.
  - name: Macro
    description: Point-in-time economic series and central-bank text.
  - name: Market Data
    description: Daily bars for stocks, benchmarks, commodities and compute.
  - name: Intelligence
    description: Narratives, the validated claim graph, scenario simulation.
  - name: Analytics
    description: Correlation and charting over any catalog series.
paths:
  /api/v1/news/items/{id}:
    get:
      tags:
        - News
      summary: News story
      description: >-
        One story: the item, its entity tags (companies, people, indicators…),
        the rest of its storyline (same cluster, newest first, up to 10),
        metadata, and the full text for full_text-licensed sources only (null
        otherwise).
      operationId: get-news-story
      parameters:
        - name: id
          in: path
          required: true
          description: News item id.
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - item
                properties:
                  item:
                    $ref: '#/components/schemas/NewsStory'
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Unknown company, country, symbol or resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited. Honour Retry-After.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
        - cognitoIdToken: []
components:
  schemas:
    NewsStory:
      allOf:
        - $ref: '#/components/schemas/NewsItem'
        - type: object
          required:
            - body
            - entities
            - related
            - metadata
          properties:
            body:
              type: string
              description: Full text; only ever non-null for full_text-licensed sources.
              nullable: true
            entities:
              type: array
              items:
                $ref: '#/components/schemas/NewsEntityRef'
            related:
              type: array
              items:
                $ref: '#/components/schemas/NewsItem'
              description: Other items in the same storyline, newest first (≤10).
            metadata:
              type: object
              additionalProperties: true
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable message.
        code:
          type: string
          description: >-
            Stable machine code when present: unauthenticated, upgrade_required,
            rate_limited, quota_exceeded.
          enum:
            - unauthenticated
            - upgrade_required
            - rate_limited
            - quota_exceeded
    NewsItem:
      type: object
      required:
        - id
        - sourceCode
        - sourceName
        - sourceKind
        - displayPolicy
        - attribution
        - headline
        - headlineKind
        - snippet
        - url
        - publishedAt
        - observedAt
        - updatedAt
        - importance
        - isFlash
        - tickers
        - primaryCik
        - formType
        - itemCodes
        - topics
        - clusterId
        - language
        - publisher
      properties:
        id:
          type: integer
          format: int64
        sourceCode:
          type: string
          description: Tape code of the source, e.g. EDG, BW, FED.
        sourceName:
          type: string
        sourceKind:
          type: string
          description: >-
            edgar | wire_rss | ir_rss | gov | central_bank | exchange |
            regulator | social | aggregator | vendor | publisher_rss | macro.
        displayPolicy:
          type: string
          enum:
            - full_text
            - headline_snippet
            - headline_link
          description: >-
            What the API is allowed to emit for this source; enforced
            server-side.
        attribution:
          type: string
          description: 'Render on every row, e.g. "Source: SEC EDGAR".'
        headline:
          type: string
        headlineKind:
          type: string
          enum:
            - source
            - flash
            - model
          description: >-
            source = as published; flash/model = grounded rewrite by the flash
            desk.
        snippet:
          type: string
          description: null when the source is link-only, regardless of what was ingested.
          nullable: true
        url:
          type: string
          description: Canonical source URL.
          nullable: true
        publishedAt:
          type: string
          format: date-time
          description: Source timestamp (EDGAR acceptance, feed pubDate, post createdAt).
        observedAt:
          type: string
          format: date-time
          description: When Prometheus first saw the item.
        updatedAt:
          type: string
          format: date-time
          description: >-
            Bumps when the headline is rewritten or tags change; drives
            changedSince.
        importance:
          type: integer
          minimum: 0
          maximum: 100
        isFlash:
          type: boolean
        tickers:
          type: array
          items:
            type: string
        primaryCik:
          type: string
          description: 10-character CIK or platform key of the primary company.
          nullable: true
        formType:
          type: string
          description: EDGAR / regulator form type, e.g. 8-K.
          nullable: true
        itemCodes:
          type: array
          items:
            type: string
          description: 8-K item codes, e.g. 2.02.
          nullable: true
        topics:
          type: array
          items:
            type: string
          description: Topic codes (see /news/topics).
        clusterId:
          type: integer
          format: int64
          description: Storyline id; items in the same cluster describe the same event.
          nullable: true
        language:
          type: string
          nullable: true
        publisher:
          type: string
          description: >-
            For aggregator sources, the originating outlet's domain (e.g.
            reuters.com); null when the source is the publisher.
          nullable: true
    NewsEntityRef:
      type: object
      required:
        - kind
        - key
        - companyId
        - ticker
        - name
        - role
        - method
        - confidence
      properties:
        kind:
          type: string
          enum:
            - company
            - person
            - macro_indicator
            - commodity
            - country
            - index
        key:
          type: string
          description: >-
            CIK / platform key for companies, person id, indicator code, symbol
            or ISO2.
        companyId:
          type: string
          format: uuid
          nullable: true
        ticker:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        role:
          type: string
          enum:
            - filer
            - subject
            - issuer
            - mention
        method:
          type: string
          description: >-
            How the tag was derived: edgar_filer, ticker_tag, cashtag,
            alias_match, llm, …
        confidence:
          type: number
          minimum: 0
          maximum: 1
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        Prometheus API key (pk_live_...), created on the Developers page in the
        terminal. Also accepted as `Authorization: Bearer pk_live_...`.
      x-default: pk_live_YOUR_KEY
    cognitoIdToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Amazon Cognito ID token (token_use=id) for the Prometheus user pool —
        the terminal's own session credential. API consumers should use an API
        key instead.

````