---
title: "List available agent models"
method: GET
path: "/api/v2/agent/models"
tags: ["AgentModels"]
---

# List available agent models

`GET /api/v2/agent/models`

## Request

- Base URL: `https://davinci-app.com`
- URL: `https://davinci-app.com/api/v2/agent/models`
- Auth: HTTP bearer

Returns the chat models available through the calling account's effective LLM
profile. Pass a model's `key` as `model` when sending an agent message, and
use its `options` definitions to build `modelOptions`.

The list can differ between accounts because subscription tier, tenant policy,
and an account-specific profile can all affect it. Omitting `model` from a
message uses `defaultModel`.

## Response `200`

Models available to the calling account.

- ListAgentModelsResponse
  - `defaultModel` string, required: Key used when an agent message omits `model`.
  - `models` AgentModel[], required
    - `key` string, required: Stable selector key accepted by `SendAgentMessageRequest.model`.
    - `name` string, required: Human-readable model name.
    - `isDefault` boolean, required: Whether this is the account profile's default chat model.
    - `options` AgentModelOption[], required: Effective model controls and defaults available to this account.
      - `key` string, required: Key to use in `SendAgentMessageRequest.modelOptions`.
      - `label` string, required
      - `description` string, nullable, required
      - `type` 'enum' | 'boolean', required
      - `defaultValue` union, required: A typed model option value.
        - string
        - number
        - boolean
      - `choices` AgentModelOptionChoice[]: Allowed values for an `enum` option.
        - `value` union, required: A typed model option value.
          - string
          - number
          - boolean
        - `label` string, required
        - `description` string, nullable, required
      - `trueLabel` string: Display label for `true` on a boolean option.
      - `falseLabel` string: Display label for `false` on a boolean option.

## Other responses

- `401`: No credential was supplied, or the supplied credential is malformed, expired, or revoked. A credential that is present but unusable is never downgraded to an anonymous request.
- `403`: API key lacks a required scope. Error code is `INSUFFICIENT_SCOPES`.
- `409`: The account has no usable published LLM profile.
- `429`: Request rate exceeded, either globally or for this key.
- `500`: Unexpected server error.

## Changes

- **2026-09-15** (v2) `67c8b8616dbb`: 5 info
  - the `success` response property const value `false` was added for the status `401`
  - the `success` response property const value `false` was added for the status `403`
  - the `success` response property const value `false` was added for the status `409`
  - the `success` response property const value `false` was added for the status `429`
  - …1 more
- **2026-09-15** (v2) `48948af37797`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/changes/api/v2/agent/models/get.md)

---

[API](https://skmtc.dev/celedon-solutions/apis/davinci-public-api.md) - [All operations](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/revisions/279218ca2e8d?raw)
