---
title: "GET /.api/modelconfig/supported-models.json"
method: GET
path: "/.api/modelconfig/supported-models.json"
---

# GET /.api/modelconfig/supported-models.json

`GET /.api/modelconfig/supported-models.json`

## Response `200`

The request has succeeded.

- ModelCatalog
  - `schemaVersion` string, required
  - `revision` string, required
  - `providers` Provider[], required
    - `id` string, required
    - `displayName` string, required
  - `models` Model[], required
    - `modelRef` string, required
    - `displayName` string, required
    - `modelName` string, required
    - `capabilities` ModelCapability[], required
    - `category` 'balanced' | 'speed' | 'other' | 'accuracy', required
    - `status` 'experimental' | 'beta' | 'stable' | 'deprecated', required
    - `tier` 'free' | 'pro' | 'enterprise', required
    - `contextWindow` ContextWindow, required
      - `maxInputTokens` integer, required
      - `maxOutputTokens` integer, required
    - `clientSideConfig` ClientSideModelConfig — Anything that needs to be provided to Cody clients at the model-level can go here. For example, allowing the server to customize/override the LLM prompt used. Or describe how clients should upload context to remote servers, etc. Or "hints", like "this model is great when working with 'C' code.".
      - `openAICompatible` ClientSideModelConfigOpenAICompatible — Client-side model configuration used when the model is backed by an OpenAI-compatible API provider.
        - `stopSequences` string[] — (optional) List of stop sequences to use for this model.
        - `endOfText` string — (optional) EndOfText identifier used by the model. e.g. "<|endoftext|>", "< EOT >"
        - `contextSizeHintTotalCharacters` integer, nullable — (optional) A hint the client should use when producing context to send to the LLM. The maximum length of all context (prefix + suffix + snippets), in characters.
        - `contextSizeHintPrefixCharacters` integer, nullable — (optional) A hint the client should use when producing context to send to the LLM. The maximum length of the document prefix (text before the cursor) to include, in characters.
        - `contextSizeHintSuffixCharacters` integer, nullable — (optional) A hint the client should use when producing context to send to the LLM. The maximum length of the document suffix (text after the cursor) to include, in characters.
        - `chatPreInstruction` string — (optional) Custom instruction to be included at the start of all chat messages when using this model, e.g. "Answer all questions in Spanish." Note: similar to Cody client config option `cody.chat.preInstruction`; if user has configured that it will be used instead of this.
        - `editPostInstruction` string — (optional) Custom instruction to be included at the end of all edit commands when using this model, e.g. "Write all unit tests with Jest instead of detected framework." Note: similar to Cody client config option `cody.edit.preInstruction`; if user has configured that it will be respected instead of this.
        - `autocompleteSinglelineTimeout` integer — (optional) How long the client should wait for autocomplete results to come back (milliseconds), before giving up and not displaying an autocomplete result at all. This applies on single-line completions, e.g. `var i = <completion>` Note: similar to hidden Cody client config option `cody.autocomplete.advanced.timeout.singleline` If user has configured that, it will be respected instead of this.
        - `autocompleteMultilineTimeout` integer — (optional) How long the client should wait for autocomplete results to come back (milliseconds), before giving up and not displaying an autocomplete result at all. This applies on multi-line completions, which are based on intent-detection when e.g. a code block is being completed, e.g. `func parseURL(url string) {<completion>` Note: similar to hidden Cody client config option `cody.autocomplete.advanced.timeout.multiline` If user has configured that, it will be respected instead of this.
        - `chatTopK` number, double, nullable — (optional) model parameters to use for the chat feature
        - `chatTopP` number, double, nullable
        - `chatTemperature` number, double, nullable
        - `chatMaxTokens` integer
        - `autoCompleteTopK` number, double, nullable — (optional) model parameters to use for the autocomplete feature
        - `autoCompleteTopP` number, double, nullable
        - `autoCompleteTemperature` number, double, nullable
        - `autoCompleteSinglelineMaxTokens` integer
        - `autoCompleteMultilineMaxTokens` integer
        - `editTopK` number, double, nullable — (optional) model parameters to use for the edit feature
        - `editTopP` number, double, nullable
        - `editTemperature` number, double, nullable
        - `editMaxTokens` integer
  - `defaultModels` DefaultModels, required
    - `chat` string, required
    - `fastChat` string, required
    - `codeCompletion` string, required

## Changes

- **2024-09-30** `620e12160c8f` — 1 warning, 1 info
  - added the new `other` enum value to the `models/items/category` response property for the response status `200`
  - added the optional property `models/items/clientSideConfig` to the response with the `200` status

[Change history](https://skmtc.dev/sourcegraph/apis/sourcegraph-internal-api/changes/.api/modelconfig/supported-models.json/get.md)

---

[API](https://skmtc.dev/sourcegraph/apis/sourcegraph-internal-api.md) · [All operations](https://skmtc.dev/sourcegraph/apis/sourcegraph-internal-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sourcegraph/sourcegraph-internal-api/revisions/620e12160c8f/schema)
