Cohere Models API

The Cohere Models API allows developers to list and retrieve information about available Cohere models, including the Command, Embed, and Rerank model families. It provides details such as model names, versions, supported endpoints, context lengths, and capabilities. This API is useful for programmatically discovering which models are available and selecting the appropriate model for a given task.

Operations 2

GET /v1/models/{model} Get a Model #
GET /v1/models List Models #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cohere:models-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cohere-models-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cohere Models API
  version: 1.0.0
servers:
- url: https://api.cohere.com
  description: production
tags:
- name: Models
paths:
  /v1/models/{model}:
    get:
      operationId: models_get
      summary: Get a Model
      description: Returns the details of a model, provided its name.
      tags:
      - Models
      parameters:
      - name: model
        in: path
        required: true
        schema:
          type: string
      - name: X-Client-Name
        in: header
        description: 'The name of the project that is making the request.

          '
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetModelResponse'
        '400':
          description: "This error is returned when the request is not well formed. This could be because:\n  - JSON is invalid\n  - The request is missing required fields\n  - The request contains an invalid combination of fields\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestBadRequestError'
        '401':
          description: "This error indicates that the operation attempted to be performed is not allowed. This could be because:\n  - The api token is invalid\n  - The user does not have the necessary permissions\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestUnauthorizedError'
        '403':
          description: "This error indicates that the operation attempted to be performed is not allowed. This could be because:\n  - The api token is invalid\n  - The user does not have the necessary permissions\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestForbiddenError'
        '404':
          description: "This error is returned when a resource is not found. This could be because:\n  - The endpoint does not exist\n  - The resource does not exist eg model id, dataset id\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestNotFoundError'
        '422':
          description: "This error is returned when the request is not well formed. This could be because:\n  - JSON is invalid\n  - The request is missing required fields\n  - The request contains an invalid combination of fields\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestUnprocessableEntityError'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestTooManyRequestsError'
        '498':
          description: 'This error is returned when a request or response contains a deny-listed token.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestInvalidTokenError'
        '499':
          description: 'This error is returned when a request is cancelled by the user.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestClientClosedRequestError'
        '500':
          description: 'This error is returned when an uncategorised internal server error occurs.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestInternalServerError'
        '501':
          description: 'This error is returned when the requested feature is not implemented.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestNotImplementedError'
        '503':
          description: "This error is returned when the service is unavailable. This could be due to:\n  - Too many users trying to access the service at the same time\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestServiceUnavailableError'
        '504':
          description: "This error is returned when a request to the server times out. This could be due to:\n  - An internal services taking too long to respond\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get-modelRequestGatewayTimeoutError'
      security:
      - bearerAuth: []
  /v1/models:
    get:
      operationId: models_list
      summary: List Models
      description: Returns a list of models available for use.
      tags:
      - Models
      parameters:
      - name: page_size
        in: query
        description: 'Maximum number of models to include in a page

          Defaults to `20`, min value of `1`, max value of `1000`.'
        required: false
        schema:
          type: number
          format: double
      - name: page_token
        in: query
        description: Page token provided in the `next_page_token` field of a previous response.
        required: false
        schema:
          type: string
      - name: endpoint
        in: query
        description: When provided, filters the list of models to only those that are compatible with the specified endpoint.
        required: false
        schema:
          $ref: '#/components/schemas/CompatibleEndpoint'
      - name: default_only
        in: query
        description: When provided, filters the list of models to only the default model to the endpoint. This parameter is only valid when `endpoint` is provided.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListModelsResponse'
        '400':
          description: "This error is returned when the request is not well formed. This could be because:\n  - JSON is invalid\n  - The request is missing required fields\n  - The request contains an invalid combination of fields\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestBadRequestError'
        '401':
          description: "This error indicates that the operation attempted to be performed is not allowed. This could be because:\n  - The api token is invalid\n  - The user does not have the necessary permissions\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestUnauthorizedError'
        '403':
          description: "This error indicates that the operation attempted to be performed is not allowed. This could be because:\n  - The api token is invalid\n  - The user does not have the necessary permissions\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestForbiddenError'
        '404':
          description: "This error is returned when a resource is not found. This could be because:\n  - The endpoint does not exist\n  - The resource does not exist eg model id, dataset id\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestNotFoundError'
        '422':
          description: "This error is returned when the request is not well formed. This could be because:\n  - JSON is invalid\n  - The request is missing required fields\n  - The request contains an invalid combination of fields\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestUnprocessableEntityError'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestTooManyRequestsError'
        '498':
          description: 'This error is returned when a request or response contains a deny-listed token.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestInvalidTokenError'
        '499':
          description: 'This error is returned when a request is cancelled by the user.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestClientClosedRequestError'
        '500':
          description: 'This error is returned when an uncategorised internal server error occurs.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestInternalServerError'
        '501':
          description: 'This error is returned when the requested feature is not implemented.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestNotImplementedError'
        '503':
          description: "This error is returned when the service is unavailable. This could be due to:\n  - Too many users trying to access the service at the same time\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestServiceUnavailableError'
        '504':
          description: "This error is returned when a request to the server times out. This could be due to:\n  - An internal services taking too long to respond\n"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/List-modelsRequestGatewayTimeoutError'
      security:
      - bearerAuth: []
components:
  schemas:
    Get-modelRequestServiceUnavailableError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestServiceUnavailableError
    Get-modelRequestNotImplementedError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestNotImplementedError
    Get-modelRequestNotFoundError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestNotFoundError
    List-modelsRequestNotImplementedError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestNotImplementedError
    List-modelsRequestInvalidTokenError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestInvalidTokenError
    Get-modelRequestForbiddenError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestForbiddenError
    Get-modelRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestBadRequestError
    GetModelResponse:
      type: object
      properties:
        name:
          type: string
          description: Specify this name in the `model` parameter of API requests to use your chosen model.
        is_deprecated:
          type: boolean
          description: Whether the model is deprecated or not.
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/CompatibleEndpoint'
          description: The API endpoints that the model is compatible with.
        finetuned:
          type: boolean
          description: Whether the model has been fine-tuned or not.
        context_length:
          type: number
          format: double
          description: The maximum number of tokens that the model can process in a single request. Note that not all of these tokens are always available due to special tokens and preambles that Cohere has added by default.
        tokenizer_url:
          type: string
          description: Public URL to the tokenizer's configuration file.
        default_endpoints:
          type: array
          items:
            $ref: '#/components/schemas/CompatibleEndpoint'
          description: The API endpoints that the model is default to.
        features:
          type: array
          items:
            type: string
          description: The features that the model supports.
        sampling_defaults:
          $ref: '#/components/schemas/GetModelResponseSamplingDefaults'
          description: Default sampling parameters for this model when omitted from API requests.
      description: Contains information about the model and which API endpoints it can be used with.
      title: GetModelResponse
    List-modelsRequestUnprocessableEntityError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestUnprocessableEntityError
    List-modelsRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestBadRequestError
    Get-modelRequestInvalidTokenError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestInvalidTokenError
    List-modelsRequestTooManyRequestsError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestTooManyRequestsError
    List-modelsRequestForbiddenError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestForbiddenError
    List-modelsRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestUnauthorizedError
    Get-modelRequestClientClosedRequestError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestClientClosedRequestError
    Get-modelRequestUnprocessableEntityError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestUnprocessableEntityError
    List-modelsRequestInternalServerError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestInternalServerError
    Get-modelRequestGatewayTimeoutError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestGatewayTimeoutError
    List-modelsRequestNotFoundError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestNotFoundError
    GetModelResponseSamplingDefaults:
      type: object
      properties:
        temperature:
          type: number
          format: double
        k:
          type: integer
        p:
          type: number
          format: double
        frequency_penalty:
          type: number
          format: double
        presence_penalty:
          type: number
          format: double
        max_tokens_per_doc:
          type: integer
      description: Default sampling parameters for this model when omitted from API requests.
      title: GetModelResponseSamplingDefaults
    List-modelsRequestServiceUnavailableError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestServiceUnavailableError
    Get-modelRequestTooManyRequestsError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestTooManyRequestsError
    Get-modelRequestInternalServerError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestInternalServerError
    Get-modelRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: Get-modelRequestUnauthorizedError
    CompatibleEndpoint:
      type: string
      enum:
      - chat
      - embed
      - classify
      - summarize
      - rerank
      - rate
      - generate
      description: One of the Cohere API endpoints that the model can be used with.
      title: CompatibleEndpoint
    ListModelsResponse:
      type: object
      properties:
        models:
          type: array
          items:
            $ref: '#/components/schemas/GetModelResponse'
        next_page_token:
          type: string
          description: A token to retrieve the next page of results. Provide in the page_token parameter of the next request.
      required:
      - models
      title: ListModelsResponse
    List-modelsRequestGatewayTimeoutError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestGatewayTimeoutError
    List-modelsRequestClientClosedRequestError:
      type: object
      properties:
        message:
          type: string
        id:
          type: string
      title: List-modelsRequestClientClosedRequestError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer