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

# The full ticker snapshot: earnings, guidance, the price reaction window, ratios, options sentiment, short pressure, technicals, financial statements, and pre-earnings market context, in one call.

> Get the complete data snapshot for a ticker in a single bundle run.
ticker_data composes finterm’s individual data tools into one bundle anchored on a
company’s most recent earnings event, so you can read the whole picture without
stitching ten separate requests together.
Each section is self-contained and is present only when it has data; a section that
produced nothing comes back as null.

The bundle returns:

- **earnings:** the reported quarter’s actuals, estimates, and surprise for both EPS and
  revenue, with the fiscal quarter.
- **guidance:** forward guidance for the period being analyzed: the revenue and EPS
  ranges (min / max / mid, plus the prior range and whether the guide was revised).
- **prices:** the event-study price window around the earnings close: the prior trading
  day, the event close, and the closes one and five trading days later.
- **ratios:** trailing-twelve-month margins, return on equity, and the P/E ratio.
- **options:** put/call sentiment with its interpretation, call and put volume, the
  average spread, a liquidity grade, and a data-quality verdict so a thin sample is
  never mistaken for a confident reading.
- **short:** short interest (shares short, days to cover) and recent short-volume
  pressure.
- **technical_indicators:** the default set: RSI(14), MACD(12/26/9), and the 20- and
  50-period simple moving averages.
- **financial_statements:** a key-metric snapshot by default, or the full income
  statement, balance sheet, and cash flow on request.
- **pre_earnings_context:** the stock’s run-up into the event, where its price sits in
  its 52-week range, a volatility proxy, and the index versus its 200-day average.

Each external CLI invocation creates a bundle run for one ticker; create another run for
another ticker.



## OpenAPI

````yaml /api-reference/openapi-mintlify.json post /api/v1/bundles/ticker_data/runs
openapi: 3.0.3
info:
  title: Finterm API
  version: 1.0.0
  description: >-
    The Finterm financial-data API. Every response is the two-key envelope:
    `finterm` (the meta header) and `data` (the published result contract), or
    `finterm` + `error` on failure.


    ## Error registry


    | Code | HTTP | Description | Message |

    | --- | --- | --- | --- |

    | `INVALID_REQUEST` | 400 | The request body failed schema validation, or
    the tool rejected the parameters as invalid or incomplete. | The request
    parameters are invalid or incomplete. |

    | `INVALID_JSON` | 400 | The request body was not valid JSON. | The request
    body was not valid JSON. |

    | `TOKEN_INVALID` | 401 | The bearer token is missing, expired, or not
    recognized. | The API key is missing, expired, or not recognized. |

    | `SUBSCRIPTION_REQUIRED` | 402 | An active Finterm Pro subscription is
    required. The envelope carries the machine-readable error.upgrade_url; after
    checkout there, retrying succeeds automatically. | An active Finterm Pro
    subscription is required. |

    | `RATE_LIMITED` | 429 | The caller has exceeded the request rate limit;
    retry later. | Too many requests; retry later. |

    | `RUNTIME_UNAVAILABLE` | 503 | The tool runtime is not available for this
    deployment. | The service is temporarily unavailable; retry later. |

    | `RUNTIME_QUEUE_FULL` | 429 | The tool runtime queue is full; retry later.
    | The service is busy; retry later. |

    | `RUNTIME_TOOL_UNAVAILABLE` | 501 | The tool is routed but not yet
    runnable. | This tool is not yet available. |

    | `RUNTIME_RUN_FAILED` | 502 | The tool runtime reported the run as a
    non-success terminal state. | The run did not complete successfully. |

    | `RUNTIME_CONTRACT_MISMATCH` | 502 | The tool runtime returned a result
    that did not match the published contract. | The service returned an
    unexpected result shape. |

    | `TOOL_EXECUTION_FAILED` | 502 | The tool executed but reported an upstream
    failure. | The tool ran but could not complete the request. |

    | `UPSTREAM_AUTH` | 502 | A data source rejected the service’s own
    credentials. A service-side configuration fault, not a caller authentication
    problem. | A data source could not be accessed due to a service
    configuration issue. |

    | `UPSTREAM_QUOTA` | 503 | A data source is over its service-side usage
    limit; retry later. | A data source is temporarily over capacity; retry
    later. |

    | `UPSTREAM_UNAVAILABLE` | 502 | A data source failed, timed out, or
    returned an unusable response; retry later. | A data source is temporarily
    unavailable; retry later. |

    | `BUNDLE_NOT_FOUND` | 404 | No bundle exists with the requested name. | No
    bundle exists with the requested name. |

    | `RUN_NOT_FOUND` | 404 | No run exists with the requested id for this
    caller. | No run exists with the requested id. |

    | `MANIFEST_NOT_READY` | 409 | The run has not completed, so the sync
    manifest is not yet available. | The run has not completed yet. |
servers:
  - url: https://api.finterm.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Point Tools
    description: Single-purpose data tools (one request, one synchronous result).
  - name: Bundle Tools
    description: Composed multi-section tools served via the run lifecycle.
  - name: Account
    description: The authenticated account/entitlement read (works without Pro).
  - name: Feedback
    description: Submit bugs, questions, and feature requests (works without Pro).
paths:
  /api/v1/bundles/ticker_data/runs:
    post:
      tags:
        - Bundle Tools
      summary: >-
        The full ticker snapshot: earnings, guidance, the price reaction window,
        ratios, options sentiment, short pressure, technicals, financial
        statements, and pre-earnings market context, in one call.
      description: >-
        Get the complete data snapshot for a ticker in a single bundle run.

        ticker_data composes finterm’s individual data tools into one bundle
        anchored on a

        company’s most recent earnings event, so you can read the whole picture
        without

        stitching ten separate requests together.

        Each section is self-contained and is present only when it has data; a
        section that

        produced nothing comes back as null.


        The bundle returns:


        - **earnings:** the reported quarter’s actuals, estimates, and surprise
        for both EPS and
          revenue, with the fiscal quarter.
        - **guidance:** forward guidance for the period being analyzed: the
        revenue and EPS
          ranges (min / max / mid, plus the prior range and whether the guide was revised).
        - **prices:** the event-study price window around the earnings close:
        the prior trading
          day, the event close, and the closes one and five trading days later.
        - **ratios:** trailing-twelve-month margins, return on equity, and the
        P/E ratio.

        - **options:** put/call sentiment with its interpretation, call and put
        volume, the
          average spread, a liquidity grade, and a data-quality verdict so a thin sample is
          never mistaken for a confident reading.
        - **short:** short interest (shares short, days to cover) and recent
        short-volume
          pressure.
        - **technical_indicators:** the default set: RSI(14), MACD(12/26/9), and
        the 20- and
          50-period simple moving averages.
        - **financial_statements:** a key-metric snapshot by default, or the
        full income
          statement, balance sheet, and cash flow on request.
        - **pre_earnings_context:** the stock’s run-up into the event, where its
        price sits in
          its 52-week range, a volatility proxy, and the index versus its 200-day average.

        Each external CLI invocation creates a bundle run for one ticker; create
        another run for

        another ticker.
      operationId: runTickerDataBundle
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ticker:
                  description: Stock ticker symbol
                  type: string
                  minLength: 1
                company_name:
                  description: Company name
                  type: string
                  minLength: 1
                mode:
                  description: Requested execution mode
                  type: string
                  enum:
                    - placeholder
                    - live
                delivery_mode:
                  description: Requested result delivery mode
                  type: string
                  enum:
                    - inline_result
                    - artifact_metadata
                    - summary_json
                    - dataroom_sync
                parameters:
                  type: object
                  additionalProperties: {}
                  description: Additional bundle parameters
              additionalProperties: false
      responses:
        '202':
          description: Run accepted.
          content:
            application/json:
              schema:
                type: object
                description: The two-key success envelope.
                properties:
                  finterm:
                    $ref: '#/components/schemas/FintermMeta'
                  data:
                    $ref: '#/components/schemas/BundleRun'
                required:
                  - finterm
                  - data
        '400':
          description: Error (INVALID_REQUEST, INVALID_JSON).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Error (TOKEN_INVALID).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '402':
          description: Error (SUBSCRIPTION_REQUIRED).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          description: Error (BUNDLE_NOT_FOUND, RUN_NOT_FOUND).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '409':
          description: Error (MANIFEST_NOT_READY).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '429':
          description: Error (RATE_LIMITED, RUNTIME_QUEUE_FULL).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '501':
          description: Error (RUNTIME_TOOL_UNAVAILABLE).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '502':
          description: >-
            Error (RUNTIME_RUN_FAILED, RUNTIME_CONTRACT_MISMATCH,
            TOOL_EXECUTION_FAILED, UPSTREAM_AUTH, UPSTREAM_UNAVAILABLE).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '503':
          description: Error (RUNTIME_UNAVAILABLE, UPSTREAM_QUOTA).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
      x-codeSamples:
        - lang: bash
          label: The full data bundle for one ticker.
          source: finterm bundle run ticker_data AAPL
        - lang: bash
          label: Include the full reported financial statements.
          source: finterm bundle run ticker_data AAPL --param verbose_statements=true
components:
  schemas:
    FintermMeta:
      type: object
      description: Canonical result meta header.
      properties:
        schema:
          type: string
          description: The published result contract id.
        tool:
          type: string
          description: The snake_case tool id.
        args:
          type: object
          additionalProperties: true
          description: The arguments the caller requested.
        request_id:
          type: string
          description: Server-set, ephemeral request id.
        cursor:
          type: string
          description: Opaque pagination cursor (feed tools only).
      required:
        - schema
        - tool
        - args
    BundleRun:
      type: object
      description: >-
        The asynchronous bundle run state returned when a bundle run is
        accepted.
      properties:
        run_id:
          type: string
          description: Stable bundle run id.
        bundle_name:
          type: string
          description: The bundle name.
        descriptor_id:
          type: string
          description: The bundle descriptor id.
        lifecycle:
          type: string
          enum:
            - mock_runtime
            - runtime_http
          description: The run lifecycle implementation.
        runtime_adapter:
          type: string
          enum:
            - mock
            - http
          description: The runtime adapter handling this run.
        status:
          type: string
          enum:
            - queued
            - running
            - succeeded
            - failed
            - cancelled
            - expired
          description: The current run status.
        state:
          type: string
          enum:
            - queued
            - running
            - succeeded
            - failed
            - cancelled
            - expired
          description: Alias of the current run status.
        normalized_request:
          type: object
          additionalProperties: true
          description: The normalized public request for the run.
        submitted_at:
          type: string
          description: Run submission timestamp.
        started_at:
          type: string
          description: Run start timestamp, if the run has started.
          nullable: true
        completed_at:
          type: string
          description: Run completion timestamp, if the run has finished.
          nullable: true
        updated_at:
          type: string
          description: Last run update timestamp.
        result:
          type: object
          additionalProperties: true
          description: Run result metadata when available.
          nullable: true
        error:
          type: object
          additionalProperties: true
          description: Run error metadata when available.
          nullable: true
        runtime_acknowledged:
          type: boolean
          description: Whether the runtime acknowledged the run.
        manifest_ready:
          type: boolean
          description: Whether the run sync manifest is available.
        links:
          type: object
          additionalProperties:
            type: string
          description: Lifecycle URLs for this run.
      required:
        - run_id
        - bundle_name
        - descriptor_id
        - lifecycle
        - runtime_adapter
        - status
        - state
        - normalized_request
        - submitted_at
        - started_at
        - completed_at
        - updated_at
        - result
        - error
        - runtime_acknowledged
        - manifest_ready
        - links
    ErrorEnvelope:
      type: object
      description: The two-key error envelope.
      properties:
        finterm:
          $ref: '#/components/schemas/FintermMeta'
        error:
          type: object
          properties:
            code:
              type: string
              description: Stable public error code.
            message:
              type: string
              description: Human-readable, external-clean message.
            upgrade_url:
              type: string
              description: >-
                Machine-readable upgrade URL, present only on
                SUBSCRIPTION_REQUIRED (402): complete checkout there, then
                retry; access activates automatically.
          required:
            - code
            - message
      required:
        - finterm
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A live account API key from `FINTERM_API_KEY`.

````