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

# Listar modelos e preços do Devin Desktop

> Liste os modelos do Devin Desktop disponíveis para a sua conta, com seus UIDs, nomes e os preços por token ou por mensagem cobrados da sua equipe.

<div id="overview">
  ## Visão geral
</div>

Retorna os modelos disponíveis para a conta que faz a chamada, com os preços efetivamente cobrados dessa conta. Use-o como fonte de verdade programática para o preço dos modelos, em vez de copiar os preços da [página de modelos](/pt-BR/desktop/models).

Os preços dependem do plano e do modelo de Billing de quem faz a chamada, portanto duas equipes podem obter valores diferentes para o mesmo modelo.

<Note>Este endpoint está em alfa (`v2alpha`). O formato da resposta pode mudar.</Note>

<div id="authentication">
  ## Autenticação
</div>

Envie uma chave de API no header `Authorization`:

```
Authorization: Bearer <api-key>
```

Use uma [chave de API de usuário de serviço](/pt-BR/api-reference/authentication) do Devin (`cog_...`). A função do usuário de serviço deve incluir a permissão **Use Devin Desktop**, e o acesso ao Devin Desktop deve estar ativado para a conta.

<div id="request">
  ## Requisição
</div>

<ParamField query="filter" type="string">
  Deixe sem valor para listar todos os modelos permitidos pelo seu plano e modelo de Billing, ignorando as restrições no nível da equipe.

  Defina como `allowlist` para aplicar também a lista de permissões de modelos da sua equipe, os controles da organização e as restrições de grupo, de modo que a lista corresponda ao que os usuários veem no seletor de modelos do Devin Desktop.
</ParamField>

<div id="example-request">
  ### Exemplo de requisição
</div>

```bash theme={null}
curl https://server.codeium.com/api/v2alpha/models \
  -H "Authorization: Bearer $DEVIN_API_KEY"
```

Apenas os modelos que seus usuários podem escolher:

```bash theme={null}
curl "https://server.codeium.com/api/v2alpha/models?filter=allowlist" \
  -H "Authorization: Bearer $DEVIN_API_KEY"
```

<div id="response">
  ## Resposta
</div>

<ResponseField name="models" type="object[]">
  Modelos disponíveis para quem faz a chamada. Modelos desativados não são incluídos.

  <Expandable title="propriedades">
    <ResponseField name="uid" type="string">
      Identificador estável do modelo, por exemplo, `claude-sonnet-4-5`.
    </ResponseField>

    <ResponseField name="name" type="string">
      Nome exibido no seletor de modelos.
    </ResponseField>

    <ResponseField name="pricing_dimensions" type="object[]">
      Preços cobrados de quem faz a chamada por este modelo. Vazio para modelos sem cobrança.

      <Expandable title="propriedades">
        <ResponseField name="label" type="string">
          O que está sendo precificado, em snake\_case: `input`, `output`, `cached_input`, `cache_read` ou `cache_write` para preços por token; para preços em unidade não monetária, a quantidade precificada, por exemplo, `message` para preço por mensagem. Modelos Fusion também listam os preços do seu modelo auxiliar com o prefixo `sidekick_`, por exemplo, `sidekick_input` ou `sidekick_message`.
        </ResponseField>

        <ResponseField name="unit" type="string">
          A unidade em que `value` é expresso, em snake\_case, por exemplo, `usd`, `acus` ou `credits`.
        </ResponseField>

        <ResponseField name="value" type="number">
          O preço em `unit`, por `denominator`.
        </ResponseField>

        <ResponseField name="denominator" type="string">
          A quantidade à qual o preço se aplica, por exemplo, `1M tokens` ou `message`.
        </ResponseField>

        <ResponseField name="info" type="string">
          Observação opcional sobre o preço, por exemplo, `Higher effort consumes more tokens`.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="example-response">
  ### Exemplo de resposta
</div>

Os modelos e preços abaixo servem apenas para ilustrar o formato da resposta. Chame o endpoint para obter seus preços reais.

```json theme={null}
{
  "models": [
    {
      "uid": "claude-sonnet-4-5",
      "name": "Claude Sonnet 4.5",
      "pricing_dimensions": [
        { "label": "input", "unit": "usd", "value": 3, "denominator": "1M tokens" },
        { "label": "cached_input", "unit": "usd", "value": 0.3, "denominator": "1M tokens" },
        { "label": "output", "unit": "usd", "value": 15, "denominator": "1M tokens" }
      ]
    },
    {
      "uid": "example-model",
      "name": "Example Model",
      "pricing_dimensions": [
        { "label": "message", "unit": "acus", "value": 0.5, "denominator": "message" }
      ]
    }
  ]
}
```

<div id="error-responses">
  ## Respostas de erro
</div>

Os erros são retornados como `{"error": "<message>"}`.

| Status | Causa                                                                                                              |
| ------ | ------------------------------------------------------------------------------------------------------------------ |
| `400`  | `filter` está definido com um valor diferente de `allowlist`                                                       |
| `401`  | Chave de API ausente ou inválida                                                                                   |
| `403`  | O usuário da chave não tem acesso ao Devin Desktop                                                                 |
| `429`  | Limite de taxa de requisições excedido; aguarde o tempo indicado no header `Retry-After` antes de tentar novamente |
