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

# Get latest level

> The current level for an index, undelayed, with the aggregate quality of the inputs behind it.

`indexLevel` is an exact decimal string against a `baseIndexLevel` of 100 at inception, so a level reads on its own without a reference point. Parse it with a decimal type.

Constituent compositions and the per-market panel are not on this surface. Composition membership and target weights are published in the free snapshot bundles.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/indices/{ticker}/latest
openapi: 3.1.0
info:
  contact:
    name: Belief Systems
    url: https://beliefsystems.xyz/data
  description: >-
    Rules-based benchmark data for prediction markets: Belief index levels and
    Belief Volatility series, read over HTTPS with an API key.


    The API is read-only. Every endpoint is a `GET`, every successful response
    is `{ data, meta }`, and every failure is a single `error` object with a
    stable `code`.


    Keys are free and take about a minute to mint at
    https://beliefsystems.xyz/data. Attribution is required on anything you
    publish from this data: "Source: Belief Systems (beliefsystems.xyz)".
    Production, redistribution, and commercial use require a license
    (https://beliefsystems.xyz/license).
  license:
    name: Belief Systems Data License
    url: https://beliefsystems.xyz/license
  termsOfService: https://beliefsystems.xyz/terms
  title: Belief Systems Data API
  version: '1.0'
servers:
  - description: Production. There is no separate test host; the API is read-only.
    url: https://api.beliefsystems.xyz
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - description: >-
      Belief indices are rules-based benchmarks of how prediction markets price
      a defined set of events. Levels are exact decimal strings based at 100 on
      the index's inception date.
    name: Indices
  - description: >-
      Belief Volatility measures how much prediction-market probabilities are
      expected to move over a stated horizon, in probability points. Always name
      the tenor when quoting a value.
    name: Belief Volatility
  - description: >-
      The service index, which reports your key's live quota, and pointers to
      the free point-in-time snapshot bundles.
    name: Service
paths:
  /v1/indices/{ticker}/latest:
    get:
      tags:
        - Indices
      summary: Get latest level
      description: >-
        The current level for an index, undelayed, with the aggregate quality of
        the inputs behind it.


        `indexLevel` is an exact decimal string against a `baseIndexLevel` of
        100 at inception, so a level reads on its own without a reference point.
        Parse it with a decimal type.


        Constituent compositions and the per-market panel are not on this
        surface. Composition membership and target weights are published in the
        free snapshot bundles.
      operationId: getIndexLatest
      parameters:
        - description: >-
            Ticker, case-insensitive. `GET /v1/indices` and `GET /v1/volatility`
            are the catalogs.
          example: CONFLICT
          in: path
          name: ticker
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  baseIndexLevel: '100.00000000'
                  ceasedAt: null
                  compositionVersion: 24ecfc71d2ddb86c
                  computedAt: '2026-08-31T13:44:44.963697Z'
                  dataQuality:
                    freshDataPct: 100
                    freshMarketsCount: 24
                    staleMarketsCount: 0
                    totalMarketsCount: 24
                  inceptionAt: '2026-04-24T13:38:30.565565Z'
                  indexLevel: '36.11697608'
                  maturityType: PERPETUAL
                  methodologyVersion: midprice-v1
                  name: Belief Global Conflict Risk Escalation Expectations Index
                  publicStatus: active
                  resolvedAt: null
                  seriesFullyResolved: false
                  seriesPartiallyResolved: true
                  stale: false
                  ticker: CONFLICT
                meta:
                  attribution: 'Source: Belief Systems (beliefsystems.xyz)'
                  generatedAt: '2026-08-31T14:01:22.277647Z'
                  license: https://beliefsystems.xyz/license
                  termsUrl: https://beliefsystems.xyz/terms
              schema:
                $ref: '#/components/schemas/IndexLatestResponse'
          description: Success.
        '401':
          content:
            application/json:
              example:
                error:
                  code: invalid_api_key
                  docsUrl: >-
                    https://docs.beliefsystems.xyz/api-reference/limits#invalid-api-key
                  message: >-
                    This endpoint requires a Data API key. Create one free at
                    https://beliefsystems.xyz/data ; programmatic or commercial
                    licensing is at https://beliefsystems.xyz/license.
                  requestId: 9f2c1ad4e6b74c0f8a3d5e1b7c904a26
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or unresolvable API key.
        '404':
          content:
            application/json:
              example:
                error:
                  code: not_found
                  docsUrl: >-
                    https://docs.beliefsystems.xyz/api-reference/limits#not-found
                  message: >-
                    No Belief index 'NOPE'. GET /v1/indices lists the published
                    catalog.
                  requestId: 9f2c1ad4e6b74c0f8a3d5e1b7c904a26
              schema:
                $ref: '#/components/schemas/Error'
          description: No index or volatility series matches that ticker on this surface.
        '429':
          content:
            application/json:
              example:
                error:
                  code: rate_limited
                  docsUrl: >-
                    https://docs.beliefsystems.xyz/api-reference/limits#rate-limited
                  message: 'Rate limit exceeded: 60 requests per minute per key.'
                  requestId: 9f2c1ad4e6b74c0f8a3d5e1b7c904a26
              schema:
                $ref: '#/components/schemas/Error'
          description: >-
            Rate limited. Sleep for `Retry-After` seconds, which is exact on
            both windows.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error. Every /v1 failure uses this shape.
      x-codeSamples:
        - label: curl
          lang: curl
          source: |-
            curl -s "https://api.beliefsystems.xyz/v1/indices/CONFLICT/latest" \
              -H "Authorization: Bearer $BELIEF_API_KEY"
        - label: Python
          lang: python
          source: |-
            import os
            import requests

            resp = requests.get(
                "https://api.beliefsystems.xyz/v1/indices/CONFLICT/latest",
                headers={"Authorization": f"Bearer {os.environ['BELIEF_API_KEY']}"},
                timeout=10,
            )
            resp.raise_for_status()

            payload = resp.json()
            print(payload["data"])
        - label: JavaScript
          lang: javascript
          source: >-
            const res = await
            fetch("https://api.beliefsystems.xyz/v1/indices/CONFLICT/latest", {
              headers: { Authorization: `Bearer ${process.env.BELIEF_API_KEY}` },
            });

            if (!res.ok) throw new Error(`Belief Systems API ${res.status}`);


            const { data, meta } = await res.json();

            console.log(data);
components:
  schemas:
    IndexLatestResponse:
      properties:
        data:
          properties:
            baseIndexLevel:
              description: >-
                The level at inception, always 100. It is what makes a level
                readable on its own: 36.12 against a base of 100 is a 63.9%
                decline since inception.
              example: '100.00000000'
              type: string
            ceasedAt:
              format: date-time
              type:
                - string
                - 'null'
            compositionVersion:
              description: >-
                Fingerprint of the composition behind this level. Changes at
                each reconstitution.
              type: string
            computedAt:
              description: >-
                When this level was computed. UTC timestamp with microsecond
                precision, `Z`-suffixed.
              format: date-time
              type: string
            dataQuality:
              description: >-
                Aggregate input health behind this level. Counts only; the
                per-market panel is part of the licensed feed.
              properties:
                freshDataPct:
                  description: Fresh constituents as a percentage of the total.
                  type: number
                freshMarketsCount:
                  description: Constituents priced within the freshness threshold.
                  type: integer
                staleMarketsCount:
                  description: Constituents whose last quote is older than the threshold.
                  type: integer
                totalMarketsCount:
                  description: Constituents in the current composition.
                  type: integer
              type: object
            inceptionAt:
              description: First published level.
              format: date-time
              type: string
            indexLevel:
              description: >-
                Index level as an exact decimal STRING, not a JSON number. Parse
                it with a decimal type: floats lose the published precision on
                round-trip.
              example: '36.11697608'
              type: string
            maturityType:
              description: >-
                `PERPETUAL` for a series that reconstitutes, `FIXED` for one
                that runs to a settlement date.
              example: PERPETUAL
              type: string
            methodologyVersion:
              description: The calculation methodology in force.
              example: midprice-v1
              type: string
            name:
              type: string
            publicStatus:
              example: active
              type: string
            resolvedAt:
              format: date-time
              type:
                - string
                - 'null'
            seriesFullyResolved:
              description: True once every constituent has resolved.
              type: boolean
            seriesPartiallyResolved:
              description: True once at least one constituent has resolved.
              type: boolean
            stale:
              description: True when the level rests on stale inputs.
              type: boolean
            ticker:
              example: CONFLICT
              type: string
          type: object
        meta:
          properties:
            attribution:
              description: >-
                The attribution line required on anything you publish from this
                data. Reproduce it verbatim.
              example: 'Source: Belief Systems (beliefsystems.xyz)'
              type: string
            generatedAt:
              description: >-
                When this response was generated. UTC timestamp with microsecond
                precision, `Z`-suffixed.
              format: date-time
              type: string
            license:
              description: Terms covering production, redistribution, and commercial use.
              format: uri
              type: string
            termsUrl:
              description: Terms of Service.
              format: uri
              type: string
          required:
            - attribution
            - license
            - termsUrl
            - generatedAt
          type: object
      required:
        - data
        - meta
      type: object
    Error:
      description: >-
        Every failure replaces `data` and `meta` with a single `error` object.
        Match on `code`, which is a stable contract. `message` is written for a
        person and may be reworded.
      properties:
        error:
          properties:
            code:
              description: Stable machine-readable error code.
              enum:
                - invalid_api_key
                - ip_rate_limited
                - rate_limited
                - daily_limit_reached
                - not_found
                - invalid_parameter
                - invalid_interval
                - invalid_window
                - method_not_allowed
                - internal_error
                - unavailable
                - error
              type: string
            docsUrl:
              description: Deep link to this code on the limits and errors page.
              format: uri
              type: string
            message:
              description: Human-readable explanation. Not a stable contract.
              type: string
            requestId:
              description: >-
                Correlation id, also returned as the X-Request-Id header. Quote
                it in support requests.
              type: string
          required:
            - code
            - message
            - docsUrl
            - requestId
          type: object
      required:
        - error
      title: Error
      type: object
  securitySchemes:
    bearerAuth:
      description: >-
        Your Data API key as a Bearer token: `Authorization: Bearer
        belief_live_...`. This is the canonical form. Keys belong on a server,
        never in a browser.
      scheme: bearer
      type: http
    apiKeyAuth:
      description: >-
        The same key sent as `X-API-Key` instead. Accepted everywhere the Bearer
        header is. Send one or the other, not both.
      in: header
      name: X-API-Key
      type: apiKey

````