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

# List live models



## OpenAPI

````yaml /openapi.json get /models
openapi: 3.1.0
info:
  title: NinjaChat API
  version: 1.0.0
  description: >-
    Clean-break NinjaChat v1. Chat and Responses bill actual token usage; images
    and videos use catalog unit pricing.
servers:
  - url: https://www.ninjachat.ai/api/v1
security: []
paths:
  /models:
    get:
      summary: List live models
      responses:
        '200':
          description: >-
            Runtime catalog data, capabilities, provider rails, availability,
            and prices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelListResponse'
      security: []
      x-codeSamples:
        - lang: javascript
          label: TypeScript SDK
          source: >-
            import { NinjaChat } from "@ninjachat/sdk";


            const client = new NinjaChat({ apiKey:
            process.env.NINJACHAT_API_KEY! });

            const models = await client.models.list();


            console.log(models.data);
        - lang: python
          label: Python SDK
          source: |-
            import os
            from ninjachat import NinjaChat

            client = NinjaChat(api_key=os.environ["NINJACHAT_API_KEY"])
            models = client.models.list()

            print(models["data"])
components:
  schemas:
    ModelListResponse:
      type: object
      properties:
        object:
          type: string
          enum:
            - list
        data:
          type: array
          items:
            $ref: '#/components/schemas/PublicModel'
        total:
          type: integer
          minimum: 0
        generated_at:
          type: string
          format: date-time
      required:
        - object
        - data
        - total
        - generated_at
      additionalProperties: false
    PublicModel:
      type: object
      properties:
        object:
          type: string
          enum:
            - model
        created:
          type: integer
        owned_by:
          type: string
        id:
          type: string
          minLength: 1
          maxLength: 160
        name:
          type: string
        modality:
          type: string
          enum:
            - text
            - image
            - image_edit
            - video
            - audio
            - embedding
            - rerank
            - search
        status:
          type: string
          enum:
            - preview
            - ga
            - deprecated
            - retired
        servable:
          type: boolean
        description:
          type: string
        capabilities:
          type: array
          items:
            type: string
        contextWindow:
          type: number
        maxOutputTokens:
          type: number
        pricing:
          type: object
          properties:
            unit:
              type: string
              enum:
                - token
                - image
                - second
                - request
                - character
            typicalRequestUsd:
              type: number
              minimum: 0
            meteredPromptPerToken:
              type: number
              minimum: 0
            meteredCachedPromptPerToken:
              type: number
              minimum: 0
            meteredCacheWritePromptPerToken:
              type: number
              minimum: 0
            meteredCompletionPerToken:
              type: number
              minimum: 0
            perRequestUsd:
              type: number
              minimum: 0
            perUnitUsd:
              type: number
              minimum: 0
            listPerUnitUsd:
              type: number
              minimum: 0
            promotion:
              type: object
              properties:
                label:
                  type: string
                discountPercent:
                  type: number
                  exclusiveMinimum: 0
                  maximum: 100
                startsAt:
                  type: string
                  format: date-time
                endsAt:
                  type: string
                  format: date-time
              required:
                - label
                - discountPercent
                - startsAt
                - endsAt
              additionalProperties: false
          required:
            - unit
          additionalProperties: false
        providers:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
              providerDisplayName:
                type: string
              upstreamModelId:
                type: string
              role:
                type: string
                enum:
                  - primary
                  - fallback
                  - emergency
              available:
                type: boolean
              unsupportedCapabilities:
                type: array
                items:
                  type: string
                  enum:
                    - tools
                    - vision
                    - json_mode
                    - streaming
              trainsOnData:
                type: boolean
              zeroRetentionAvailable:
                type: boolean
              contextWindow:
                type: number
              maxOutputTokens:
                type: number
              performance:
                type:
                  - object
                  - 'null'
                properties:
                  samples:
                    type: integer
                    minimum: 0
                  successRate:
                    type:
                      - number
                      - 'null'
                  p50Ms:
                    type:
                      - number
                      - 'null'
                  p95Ms:
                    type:
                      - number
                      - 'null'
                  medianTtftMs:
                    type:
                      - number
                      - 'null'
                  thin:
                    type: boolean
                required:
                  - samples
                  - successRate
                  - p50Ms
                  - p95Ms
                  - medianTtftMs
                  - thin
                additionalProperties: false
            required:
              - provider
              - providerDisplayName
              - upstreamModelId
              - role
              - available
            additionalProperties: false
        supportedParameters:
          type: array
          items:
            type: string
        brand:
          type: string
        virtual:
          type: boolean
        pricingNote:
          type: string
        overlay:
          type: object
          properties:
            isOverlay:
              type: boolean
            dispatch:
              type: string
              enum:
                - live
                - pending
            overrideStatus:
              type: string
          required:
            - isOverlay
            - dispatch
          additionalProperties: false
        history:
          type: array
          items:
            type: object
            additionalProperties: {}
      required:
        - object
        - created
        - owned_by
        - id
        - name
        - modality
        - status
        - servable
        - capabilities
        - pricing
        - providers
        - supportedParameters
        - brand
      additionalProperties: false

````