Autenticação
A qr3.app utiliza API-Keys (Bearer tokens) para autenticação. Não existem fluxos OAuth — basta gerar a chave e usar imediatamente.
Criar uma API-Key
- Faça login em app.qr3.app
- Vá para Configurações → API-Keys
- Clique em Nova Chave
- Selecione as permissões (scopes) desejadas
- Copie a chave — ela só será exibida uma vez!
Tipos de chave
| Tipo | Prefixo | Utilização |
|---|
| Secret Key | qr3_sk_ | No lado do servidor (API, backend) |
| Publishable Key | qr3_pk_ | No lado do cliente (apenas leitura) |
| Test Key | qr3_test_sk_ | Desenvolvimento (rate limits próprios) |
Utilização
Cabeçalho HTTP
Authorization: Bearer qr3_sk_your_key_here
cURL
curl https://qr3.app/v1/codes \
-H "Authorization: Bearer qr3_sk_your_key_here"
SDK TypeScript
import { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: "qr3_sk_your_key_here" });
const codes = await client.codes.list();
CLI
export QR3_API_KEY=qr3_sk_your_key_here
Rate Limits
| Plano | Requisições/Minuto | Response-Headers |
|---|
| Free | 30 | X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset |
| Pro | 120 | ← |
| Business | 300 | ← |
| Agency | 600 | ← |
Se o limite for excedido, a API retornará HTTP 429:
"type": "https://docs.qr3.app/errors/rate-limited",
"title": "Too Many Requests",
"detail": "Rate limit of 30 requests/minute exceeded"
Scopes
| Scope | Descrição |
|---|
* | Acesso total |
codes:read | Ler códigos QR |
codes:write | Criar e editar códigos QR |
scans:read | Ler estatísticas de leitura |
webhooks:write | Configurar webhooks |
account:read | Ler informações da conta |