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

# Introdução

> Conecte apps de terceiros e assistentes de IA à Notifique com OAuth 2.1 — o usuário aprova, você recebe um token temporário.

<Tip>
  OAuth é o **crachá emprestado**: o usuário faz login na Notifique, escolhe o workspace e autoriza o que seu app pode fazer — sem compartilhar API Key nem senha.
</Tip>

## O que é OAuth na Notifique?

É a forma de **apps de terceiros**, integrações no browser e hosts de IA (ChatGPT, Claude, Gemini) chamarem a API **em nome de um usuário**. A Notifique roda um **Authorization Server** OAuth 2.1 em `https://api.notifique.dev`, com **PKCE obrigatório** e registro dinâmico de clientes (DCR).

Você pode:

* **Conectar** um SaaS ou marketplace onde cada cliente usa a própria conta Notifique
* **Autorizar** CLIs e apps locais com consentimento no browser
* **Integrar** MCP em assistentes de IA com login automático
* **Limitar** permissões por escopo — igual à [API Key](/guides/api-key/index), mas aprovadas pelo usuário
* **Renovar** acesso com refresh token, sem pedir login de novo
* **Revogar** pelo painel ou API quando o cliente desconectar

Pense na **API Key** como chave mestra do prédio: quem tem, entra sozinho. **OAuth** é o visitante que passa na recepção, assina a lista e recebe um crachá temporário.

<Note>
  **API Keys** (`sk_live_…` / `sk_test_…`) continuam válidas para CI, cron, Cursor headless e backends seus. Use OAuth quando **outra pessoa** precisa autorizar pelo navegador.
</Note>

## Quando usar?

| Situação                               |  OAuth  |  API Key |
| -------------------------------------- | :-----: | :------: |
| App de terceiros com login do usuário  | **Sim** |    Não   |
| ChatGPT, Claude ou Gemini via MCP      | **Sim** | Opcional |
| CI/CD, script interno, cron            |   Não   |  **Sim** |
| Backend seu, sem tela de consentimento |   Não   |  **Sim** |

Para envio direto do seu servidor, comece por [Chaves de API](/guides/api-key/index). Para app que conecta a conta do cliente, use OAuth.

## Como funciona na prática

1. **Registre o cliente** — painel **Developer → OAuth Apps** ou `POST /oauth/register`
2. **Redirecione o usuário** para `/oauth/authorize` com PKCE (`code_challenge` S256)
3. Ele **faz login**, escolhe o workspace e **aprova os escopos**
4. Seu app **troca o `code`** em `/oauth/token` com o `code_verifier`
5. Chame `/v1/*` com `Authorization: Bearer <access_token>`

Issuer: `https://api.notifique.dev`

<Info>
  A tela de consentimento fica no **painel Notifique**. Seu app só abre a URL no browser e trata o callback — você não monta UI de permissões.
</Info>

## O que dá para fazer

* **Registrar** clientes web, mobile ou CLI (públicos ou confidenciais)
* **Pedir escopos** por canal (`email:send`, `whatsapp:send`, `contacts:read`, …)
* **Obter** access token JWT (\~15 min) + refresh token rotativo
* **Validar** JWT offline com `GET /.well-known/jwks.json`
* **Revogar** em **Configurações → Equipe → Apps conectados** ou `POST /oauth/revoke`

Detalhe de endpoints: **referência OpenAPI** na aba [Outros](/oauth-api/como-funciona/quick-start).

## Onde gerenciar no painel

* **Developer → OAuth Apps** — criar app, redirect URIs, secret e escopos padrão
* **Configurações → Equipe → Apps conectados** — ver e revogar acessos do workspace

## Próximos passos

* [Quick Start](/oauth-api/como-funciona/quick-start): registrar, autorizar e primeiro request
* [Escopos](/oauth-api/como-funciona/escopos): permissões por canal
* [MCP](/oauth-api/como-funciona/mcp): ChatGPT, Claude e Gemini
* [Construir um cliente](/oauth-api/como-funciona/construir-cliente): arquitetura resumida
* [Guia técnico](/oauth-api/como-funciona/guia-tecnico-cliente): implementação completa
