Autenticação
Todas as requisições à API (exceto /v1/health) exigem uma API key válida enviada via header HTTP.
Formato da API key
As API keys da GDREdu seguem o formato:
gdredu_live_<64 caracteres hexadecimais>
Exemplo:
gdredu_live_3f8a9b2c1e7d4f6a5b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a
:::caution
A API key é um segredo. Trate-a como uma senha — nunca a exponha em código-fonte público, repositórios Git, logs ou URLs visíveis no navegador.
:::
Como enviar a API key
Há duas formas equivalentes:
Header Authorization (recomendado)
Authorization (recomendado)Authorization: Bearer gdredu_live_sua_api_keyHeader x-api-key
x-api-keyx-api-key: gdredu_live_sua_api_keyAmbos os métodos são aceitos em todos os endpoints. Recomendamos Authorization: Bearer por ser o padrão da indústria.
Como obter uma API key
API keys são gerenciadas por administradores no painel GDREdu:
- Um administrador da instituição acessa Dashboard → API Keys.
- Clica em "Criar API Key".
- Define:
- Nome: identificação interna (ex: "Integração ERP", "App Mobile")
- Escopo: Business (toda a instituição) ou Branch (uma escola específica)
- Scopes: permissões granulares (ex:
students:read,series:write) - Expiração (opcional): data em que a key deixa de funcionar
- Rate limit (opcional): requisições por minuto (padrão: 100)
- O segredo completo (
gdredu_live_...) é mostrado apenas uma vez no momento da criação. - O administrador deve copiá-lo e armazená-lo em um local seguro (cofre de senhas, variável de ambiente, etc.).
:::warning
O segredo completo da API key não pode ser recuperado após a criação. Apenas um prefixo (ex: gdredu_live_3f8a9b2c) é visível na listagem para identificação. Se o segredo for perdido, uma nova key deve ser gerada e a antiga revogada.
:::
Revogação e rotação
- Revogar: Desativa a key imediatamente. Requisições posteriores retornam
401 REVOKED_API_KEY. - Expiração: Se uma key com
expiresAtdefinido for usada após a data, retorna401 EXPIRED_API_KEY. - Rotação: Crie uma nova key, atualize suas integrações, depois revogue a antiga.
Escopo: Business vs Branch
| Característica | Business | Branch |
|---|---|---|
scopeType | BUSINESS | BRANCH |
| Abrangência | Todas as escolas da instituição | Uma escola específica |
Header x-branch-id | Obrigatório em endpoints branch-scoped | Opcional (se enviado, deve coincidir com a branch da key) |
| Caso de uso | Integração corporativa multi-unidade | Integração de uma única escola |
Veja Conceitos fundamentais para entender a relação Business → Branch.
Endpoint /v1/me
/v1/mePara verificar sua key e ver seus scopes:
curl https://api.gdredu.com/v1/me \
-H "Authorization: Bearer gdredu_live_sua_api_key"Resposta:
{
"apiKey": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Integração ERP",
"scopeType": "BUSINESS",
"scopes": ["students:read", "students:write", "series:read"],
"rateLimitPerMinute": 100
},
"business": {
"id": "660e8400-e29b-41d4-a716-446655440000",
"name": "Colégio Exemplo LTDA"
},
"branch": null
}Se a key for do escopo BRANCH, branch conterá o ID da unidade vinculada.
Segurança adicional
- Rate limiting: Cada key tem um limite de requisições por minuto (padrão 100). Veja Rate Limits.
Updated 1 day ago
