# Tokens

URL: /desenvolvedores/tokens

Os tipos de credencial do Mira, para que serve cada um e como criar e revogar.

O Mira usa credenciais diferentes para cada tipo de acesso. Cada uma funciona em um lugar só, de propósito: se uma vaza, o estrago fica limitado.

| Credencial | Prefixo | Quem cria | Funciona em | Escreve? |
| --- | --- | --- | --- | --- |
| Token pessoal | `mira_pat_` | Cada pessoa | Extensão, CLI e API autenticada | Sim, como a pessoa |
| Token de agente | `mira_pat_` | Cada pessoa | Só o `/mcp` | Conforme as permissões do token |
| Chave de serviço | `mira_svc_` | Admin | API de consulta e envio de source maps | Só o envio de source maps |
| Chave de ingestão (DSN) | Embutida no DSN | Admin | Envio de ocorrências de um ambiente | Só escreve ocorrências |
| Segredo de webhook | `mira_whsec_` | Admin | Assinatura dos eventos enviados | Não se aplica |
| Token de migração | `mira_mig_` | Admin | Só as rotas de migração entre instâncias | Só o escopo **Importar** |

## Token pessoal [#token-pessoal]

Identifica você. A extensão cria um quando você entra com email e senha ou por **Entrar pelo Mira**, e a CLI, quando você entra com email e senha. Para gerenciar seus tokens, abra **Tokens pessoais**, em **Configurações do Mira**: a tela lista nome, validade e último uso, e permite criar com **Novo token** e revogar.

Use com `mira login --url https://app.miraqa.org --token mira_pat_...` na [CLI](/desenvolvedores/cli). O token age com suas permissões, então trate como uma senha.

## Token de agente [#token-de-agente]

Dá a um agente de IA acesso ao `/mcp`, com leitura de evidências e escrita limitadas por eixos que você escolhe. Tem validade de 30, 90 ou 365 dias, ou nenhuma. Crie em **Conectar agente**, no menu do perfil, ou em **Tokens de agente**, em **Configurações do Mira**, e veja o fluxo completo em [MCP](/desenvolvedores/mcp).

## Chave de serviço [#chave-de-serviço]

Identifica um consumidor sem login humano. Um admin cria o serviço em **Admin**, **Serviços de API**, escolhe os projetos e as permissões e emite as chaves, cada uma com validade entre 1 e 3650 dias (90 por padrão). Veja [API externa](/desenvolvedores/api).

Para o CI de uma app, crie um serviço só com **Permitir envio de source maps**. A chave vai em `MIRA_SOURCEMAPS_TOKEN`.

## Chave de ingestão [#chave-de-ingestão]

Vem embutida no DSN, que o SDK usa para enviar erros. Um admin ou Mantenedor gera a chave em **Configurações do projeto → Erros**, no ambiente escolhido. Ela vale só para aquele ambiente e só escreve ocorrências, por isso é segura no bundle da app. Veja [Integrar uma app](/desenvolvedores/integrar#a-capturar-erros-com-o-dsn).

## Segredo de webhook [#segredo-de-webhook]

Assina cada evento que o Mira envia ao destino. Aparece uma vez, quando o destino é criado ou o segredo é rotacionado. Veja [Payloads de webhook](/desenvolvedores/webhooks#verificar-a-assinatura).

## Token de migração [#token-de-migração]

Deixa uma instância do Mira ler os projetos de outra ou começar uma migração nela. Só um admin emite, em **Administração do Mira → Migrações → Tokens de migração**, e escolhe o escopo e a validade, de 1 a 7 dias:

- **Exportar** abre só as rotas de leitura da exportação, usadas por quem traz projetos.
- **Importar** abre só as rotas de importação, usadas por quem envia projetos.

O token não vale em nenhuma outra rota, e deixa de valer se o admin que o emitiu perder o papel ou for desativado. Veja o passo a passo em [Migrações](/administrar/migracoes).

## Boas práticas [#boas-práticas]

- Guarde cada segredo no gerenciador de segredos do consumidor, não no repositório.
- Dê a cada consumidor a credencial mais estreita que resolve o caso. Um CI que só envia source maps não precisa de consultas.
- Rotacione emitindo a nova, atualizando o consumidor e só então revogando a antiga.
- Revogue na hora o que vazou. Revogar um token de agente, pessoal ou chave de serviço bloqueia as próximas requisições. Revogar uma chave de ingestão não tem volta.

## Próximos passos [#próximos-passos]

<Cards>
<Card href="/desenvolvedores/integrar" title="Integrar uma app" description="Onde cada credencial entra na trilha de integração." />
<Card href="/desenvolvedores/mcp" title="MCP" description="Crie o token de agente e configure seu agente." />
<Card href="/desenvolvedores/api" title="API externa" description="Emita a chave de serviço e faça a primeira consulta." />
</Cards>
