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

# List models

> Authenticated discovery using the same exact model set as prompt admission. No credits or inference are consumed. Pass id as inference.model and provider as inference.provider. Sorted by provider then model ID; complete list, no pagination. Optional provider filter uses gemini, not google. default is the API-wide selection when inference is omitted and is unchanged by filtering; default_for_provider marks the selection when a provider is specified without a model. Names come from the shared model registry, falling back to the raw ID for retained aliases. This is a supported-model catalog, not a live availability, provider-credential or capacity check. Prices and capability claims are omitted. Unknown, duplicate or empty filters return 400.

## TypeScript

```ts theme={null}
import { ReviseClient } from "@reviseio/api";

const revise = new ReviseClient({ apiKey: process.env.REVISE_API_KEY! });
const result = await revise.models.list();
```


## OpenAPI

````yaml openapi/revise-api.json GET /v1/models
openapi: 3.1.0
info:
  title: Revise API
  version: 0.1.0
  description: >-
    Queued document prompting and file conversion. Conversion supports the same
    formats as revise.io/converter, including semantic PDF/image scanning. USD
    responses are exact decimal strings. Same-origin downloads require Bearer
    auth. Account provider keys (BYOK) are pinned at admission. Request content
    expires 24 hours after terminal completion; encrypted artifacts use compact
    JWE RSA-OAEP-256/A256GCM.
servers:
  - url: https://revise.io/api
security:
  - apiKey: []
paths:
  /v1/models:
    get:
      summary: List supported prompt models and defaults
      description: >-
        Authenticated discovery using the same exact model set as prompt
        admission. No credits or inference are consumed. Pass id as
        inference.model and provider as inference.provider. Sorted by provider
        then model ID; complete list, no pagination. Optional provider filter
        uses gemini, not google. default is the API-wide selection when
        inference is omitted and is unchanged by filtering; default_for_provider
        marks the selection when a provider is specified without a model. Names
        come from the shared model registry, falling back to the raw ID for
        retained aliases. This is a supported-model catalog, not a live
        availability, provider-credential or capacity check. Prices and
        capability claims are omitted. Unknown, duplicate or empty filters
        return 400.
      operationId: listModels
      parameters:
        - name: provider
          in: query
          schema:
            type: string
            enum:
              - openai
              - anthropic
              - xai
              - gemini
          description: Optional exact public provider.
      responses:
        '200':
          description: Model catalog
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelList'
              example:
                default:
                  provider: openai
                  model: gpt-5.6-luna
                data:
                  - id: gpt-5.6-luna
                    provider: openai
                    name: GPT 5.6 Luna
                    default_for_provider: true
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ModelList:
      type: object
      additionalProperties: false
      required:
        - data
        - default
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Model'
        default:
          type: object
          additionalProperties: false
          required:
            - provider
            - model
          properties:
            provider:
              type: string
              enum:
                - openai
                - anthropic
                - xai
                - gemini
            model:
              type: string
      example:
        default:
          provider: openai
          model: gpt-5.6-luna
        data:
          - id: gpt-5.6-luna
            provider: openai
            name: GPT 5.6 Luna
            default_for_provider: true
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: object
              additionalProperties: true
          required:
            - code
            - message
          additionalProperties: false
      required:
        - error
      additionalProperties: false
    Model:
      type: object
      additionalProperties: false
      required:
        - id
        - provider
        - name
        - default_for_provider
      properties:
        id:
          type: string
          example: gpt-5.6-luna
        provider:
          type: string
          enum:
            - openai
            - anthropic
            - xai
            - gemini
        name:
          type: string
          example: GPT 5.6 Luna
        default_for_provider:
          type: boolean
          example: true
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        Revise API key from https://revise.io/console/api-keys. Send
        Authorization: Bearer <key>.

````