# Chaves de API

> Criar, delimitar e administrar chaves para a API.

Source: https://reverie.im/pt/docs/integrations/api-keys
Language: pt

Uma chave de API autentica as requisições à [Open API](https://reverie.im/pt/docs/integrations/open-api) da Reverie. As chaves ficam em **Configurações → Mais → Chaves de API**, que é também para onde aponta o bloco **Open API** do Labs. Qualquer conta pode criá-las — não há exigência de faixa nem teto de quantas você guarda.

## Criar uma chave \[#create-a-key]

### Aperte Criar Nova Chave de API \[#press-create-new-api-key]

Com a página vazia, o botão diz **Crie Sua Primeira Chave API**.

### Dê um nome \[#name-it]

O **Nome** é obrigatório, de 1 a 100 caracteres. É assim que a chave aparece na lista e nas estatísticas de uso — "Caixa da sala", "staging worker".

### Escolha Global ou um personagem específico \[#choose-global-or-a-specific-character]

**Seleção de Personagem** é uma escolha entre **Global (Todos os Personagens)** e **Personagem Específico**, não um extra opcional. O personagem escolhido vira o personagem preso à chave.

### Se quiser, defina tipo de dispositivo e validade \[#optionally-set-a-device-type-and-an-expiry]

**Tipo de Dispositivo** é texto livre (`speaker`, `phone`, `iot`). **Expiração** pede uma data *e* uma hora; naquele instante a chave para de funcionar sozinha.

A chave aparece na hora como `rk_` seguido de 64 caracteres hexadecimais.

## As chaves continuam visíveis \[#keys-stay-retrievable]

O segredo não é revelado uma vez só. O cartão de cada chave tem **Mostrar chave de API**, **Ocultar chave de API** e **Copiar chave de API**, a qualquer momento, enquanto a chave existir.

> Como o segredo inteiro continua legível nas suas configurações, trate acesso à conta como acesso à chave. Guarde a chave num servidor ou num gerenciador de segredos, nunca no controle de versão nem em código de navegador.

## Chaves globais e chaves presas \[#global-keys-and-pinned-keys]

|                             | **Global (Todos os Personagens)**  | **Personagem Específico**                                                       |
| --------------------------- | ---------------------------------- | ------------------------------------------------------------------------------- |
| O que `GET /models` devolve | Seus personagens recentes          | Os cenários daquele personagem, ou o próprio personagem se ele não tiver nenhum |
| `model` omitido             | Recai na sua conversa mais recente | Usa o personagem preso                                                          |
| IDs curtos de cenário       | Nunca resolvem                     | Resolvem contra o personagem preso                                              |

## Desativar, apagar, trocar \[#disable-delete-rotate]

| Ação            | Efeito                                                               | Reversível |
| --------------- | -------------------------------------------------------------------- | ---------- |
| Chave **Ativo** | Enquanto estiver desligada, as requisições com a chave são recusadas | Sim        |
| **Excluir**     | A chave é destruída e os aplicativos que a usam perdem o acesso      | Não        |

Não existe uma ação de revogar separada — desativar e excluir são as duas opções.

> Apagar uma chave não dá para desfazer, e leva junto a atribuição dela: o tráfego antigo migra para um grupo de **Chaves excluídas** nas estatísticas de uso, onde já não dá para dizer qual integração gastou o quê. Desative a chave primeiro se você talvez queira o histórico.

Para trocar, crie a chave substituta, publique-a e só então desative ou apague a antiga. Não há troca automática nem período de carência depois do vencimento — uma chave vencida é recusada com `api_key_expired` na requisição seguinte.

## Escopos \[#scopes]

As chaves carregam escopos, e a janela de criação não os mostra. Uma chave feita nas Configurações consegue chamar os endpoints de conversa, e só eles.

O endpoint do importador de personagens precisa de outro escopo, e o único jeito de obter uma chave dessas é abrir **Labs → Skill de Importação de Personagens**, que cria uma para você chamada **Reverie Character Importer (Skill)**. Chamar o importador com uma chave comum das configurações devolve 403. [Importar personagens →](https://reverie.im/pt/docs/characters/import-characters)

## Estatísticas de uso \[#usage-statistics]

O painel **Estatísticas de uso** na mesma página informa **Solicitações**, **Tokens**, **Créditos** e **Chaves ativas**, agrupados por dia UTC, com um detalhamento por chave em **Uso por chave**. Filtre por uma chave ou por **Todas as chaves**, numa janela de 7 a 90 dias — 30 por padrão. Só entram na conta as conversas criadas pela API.

Este painel é o único lugar onde existe gasto por chave. O seu histórico de créditos registra quanto custou cada mensagem, mas não marca a transação com a chave que a fez, então use as estatísticas daqui para comparar integrações.

## Criar uma solicitação \[#build-a-request]

**Criar uma solicitação** abre um gerador: escolha uma das suas chaves ativas, escolha um personagem ou cenário na lista que aquela chave enxerga, escreva uma mensagem, decida streaming e temperatura, e copie cURL, TypeScript ou Python que já funcionam.

A chave é usada no seu navegador só para carregar a lista de personagens. O código gerado lê `REVERIE_API_KEY` do ambiente em vez de embutir o segredo.

## Limites \[#limits]

| Limite                          | Valor                                                       |
| ------------------------------- | ----------------------------------------------------------- |
| Chaves por conta                | Sem limite                                                  |
| Limite de requisições por chave | Nenhum                                                      |
| Teto de concorrência por chave  | Nenhum                                                      |
| O que de fato limita o uso      | O seu saldo de créditos, mais a janela de modelos gratuitos |

## Relacionado \[#related]

* [Open API](https://reverie.im/pt/docs/integrations/open-api) — endpoints, formato da requisição e erros
* [Importar personagens](https://reverie.im/pt/docs/characters/import-characters) — para que serve a chave do importador
* [Reverie Labs](https://reverie.im/pt/docs/integrations/labs) — os blocos de Open API e de importação
* [Segurança](https://reverie.im/pt/docs/account/security) — o resto das configurações de acesso da sua conta
