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

# Get current asset positioning

> Returns eligible open long/short position counts and distinct holders for one active asset. Uses public signal visibility for every caller, including admin-owned keys, and includes muted traders. There is no opening-time cutoff. Unlike /assets/stats, closed positions are excluded. Active assets without eligible open positions return zero counts and null percentages; missing or inactive assets return no snapshot. Requires stats.read.



## OpenAPI

````yaml /openapi-v2.json get /assets/positioning
openapi: 3.1.0
info:
  title: Centaur API
  version: 2.0.0
  description: >-
    Public API for reading Centaur's data over REST, with a companion MCP
    surface, and for partners to manage the webhook endpoints that receive
    Centaur events.
servers:
  - url: https://api.centaur.io/v2
    description: Centaur API v2
security: []
tags:
  - name: System
    description: Health and service metadata endpoints.
  - name: Discovery
    description: Read-only trader and asset directory discovery endpoints.
  - name: Events
    description: >-
      Historical trade-event reads with source, trader, asset, and position
      context.
  - name: Messages
    description: >-
      Read-only access to source messages by message timestamp or Source Message
      ID.
  - name: Channel Summaries
    description: Generated channel narrative summaries selected by Source Window overlap.
  - name: Aggregate Summaries
    description: >-
      Generated aggregate narrative summaries selected by Aggregate Window
      overlap.
  - name: Positions
    description: Read-only position history and open-position live state reads.
  - name: Stats
    description: Read-only aggregate trader and asset stats.
  - name: Webhooks
    description: >-
      Register HTTPS endpoints that receive signed event deliveries, manage
      their state and secrets, replay past deliveries and inspect delivery
      history. Requires the `webhooks.manage` permission on a partner account.
  - name: Widgets
    description: >-
      Hosted widget reads restricted to enabled registrations and approved
      origins.
externalDocs:
  description: Canonical Centaur API documentation
  url: https://docs.centaur.io
paths:
  /assets/positioning:
    get:
      tags:
        - Stats
      summary: Get current asset positioning
      description: >-
        Returns eligible open long/short position counts and distinct holders
        for one active asset. Uses public signal visibility for every caller,
        including admin-owned keys, and includes muted traders. There is no
        opening-time cutoff. Unlike /assets/stats, closed positions are
        excluded. Active assets without eligible open positions return zero
        counts and null percentages; missing or inactive assets return no
        snapshot. Requires stats.read.
      operationId: getAssetPositioning
      parameters:
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: array
                items:
                  type: number
            description: >-
              Exactly one positive integer asset ID. Supply assetIds or
              assetRefs, never both.
          required: false
          description: >-
            Exactly one positive integer asset ID. Supply assetIds or assetRefs,
            never both.
          name: assetIds
          in: query
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
            description: >-
              Exactly one asset slug, ticker, or legacy symbol. Matched
              case-insensitively in that order. Unknown references return no
              snapshot; ambiguous references require a candidate numeric ID in
              assetIds instead.
          required: false
          description: >-
            Exactly one asset slug, ticker, or legacy symbol. Matched
            case-insensitively in that order. Unknown references return no
            snapshot; ambiguous references require a candidate numeric ID in
            assetIds instead.
          name: assetRefs
          in: query
      responses:
        '200':
          description: Current public positioning snapshot or missing-asset metadata
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    $ref: '#/components/schemas/AssetPositioningResponseData'
                  requestId:
                    type: string
                    example: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
                required:
                  - success
                  - data
                  - requestId
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '422':
          description: Invalid selector or ambiguous asset reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '429':
          description: API key request quota exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '503':
          description: Authentication service temporarily unavailable
          headers:
            Retry-After:
              description: Seconds to wait before retrying authentication
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              example:
                success: false
                error:
                  code: AUTHENTICATION_UNAVAILABLE
                  message: Authentication is temporarily unavailable
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    AssetPositioningResponseData:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/AssetPositioningSnapshot'
          maxItems: 1
        meta:
          type: object
          properties:
            requestedAssetIds:
              type: array
              items:
                type: integer
              description: Requested ID, or the ID resolved from assetRefs.
            missingAssetIds:
              type: array
              items:
                type: integer
              description: Requested IDs without an active asset.
            requestedAssetRefs:
              type: array
              items:
                type: string
            missingAssetRefs:
              type: array
              items:
                type: string
              description: Unknown references or references without an active asset.
            serverTime:
              type: string
              format: date-time
              description: >-
                Server UTC time when this response was produced (ISO-8601).
                Anchor relative-time phrases such as "today" or "this week" on
                this value rather than on a cached one.
          required:
            - requestedAssetIds
            - missingAssetIds
            - serverTime
      required:
        - results
        - meta
    ErrorEnvelope:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          $ref: '#/components/schemas/Error'
        requestId:
          type: string
          example: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
      required:
        - success
        - error
        - requestId
    AssetPositioningSnapshot:
      type: object
      properties:
        assetId:
          type: integer
          exclusiveMinimum: 0
        openLongPositionsCount:
          type: integer
          minimum: 0
        openShortPositionsCount:
          type: integer
          minimum: 0
        totalOpenPositionsCount:
          type: integer
          minimum: 0
        distinctHoldersCount:
          type: integer
          minimum: 0
        longPercentage:
          type:
            - number
            - 'null'
          minimum: 0
          maximum: 100
        shortPercentage:
          type:
            - number
            - 'null'
          minimum: 0
          maximum: 100
        dataComputedAt:
          type: string
          format: date-time
          description: >-
            Database snapshot time. Retained if this snapshot is served from a
            cache.
      required:
        - assetId
        - openLongPositionsCount
        - openShortPositionsCount
        - totalOpenPositionsCount
        - distinctHoldersCount
        - longPercentage
        - shortPercentage
        - dataComputedAt
    Error:
      type: object
      properties:
        code:
          type: string
          description: Stable machine-readable error code.
          example: UNAUTHORIZED
        message:
          type: string
          description: Human-readable explanation for the failure.
          example: Unauthorized
        details:
          description: Optional structured details for validation or input failures.
      required:
        - code
        - message
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key issued by Centaur.
      x-default: <api-key>

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.