Autenticação
A API do DeployAlly usa API Keys para autenticação.
Tipos de Autenticação
| Tipo | Uso | Header |
|---|---|---|
| API Key | Servidores e automação | Authorization: Bearer da_xxx |
| JWT | Dashboard (usuários) | Authorization: Bearer eyJ... |
API Keys
Formato
As API Keys seguem o padrão:
da_{random_32_chars}Exemplo: da_k8s9f7d6a5s4d3f2g1h0j9k8l7m6n5o4
Obtendo uma API Key
- Acesse o Dashboard em
https://app.deployally.com - Vá em Configurações > API Keys
- Clique em Criar Nova Key
- Defina um nome descritivo e permissões
- Copie a key (ela não será exibida novamente)
Usando a API Key
Inclua no header de todas as requisições:
Authorization: Bearer da_xxxExemplo com curl:
curl -X GET "https://sys.deployally.com/api/v1/templates" \
-H "Authorization: Bearer da_k8s9f7d6a5s4d3f2g1h0j9k8l7m6n5o4"Permissões
API Keys podem ter permissões limitadas:
| Permissão | Descrição |
|---|---|
templates:read |
Listar e ver templates |
definitions:read |
Listar e ver definitions |
definitions:write |
Criar e modificar definitions |
instances:read |
Listar e ver instances |
instances:manage |
Restart, stop, start |
deployments:create |
Criar deployments |
servers:manage |
Gerenciar servidores |
Exemplo de Key com Permissões Limitadas
{
"name": "CI/CD Pipeline",
"permissions": [
"templates:read",
"definitions:read",
"definitions:write",
"deployments:create"
]
}Segurança
Armazenamento
NUNCA armazene API Keys em:
- Código fonte
- Repositórios Git
- Logs
- Mensagens de chat
USE:
- Variáveis de ambiente
- Gerenciadores de secrets (Vault, AWS Secrets Manager)
- Arquivos com permissão 600
# Variável de ambiente
export DEPLOYALLY_API_KEY="da_xxx"
# Arquivo de configuração (chmod 600)
echo "api_key = \"da_xxx\"" > ~/.config/deployally/config.toml
chmod 600 ~/.config/deployally/config.tomlRotação
Recomendamos rotacionar API Keys:
- Crie uma nova key
- Atualize suas aplicações
- Revogue a key antiga
# Via API
curl -X POST "https://sys.deployally.com/api/v1/api-keys" \
-H "Authorization: Bearer da_xxx" \
-d '{"name": "nova-key"}'
# Revogar antiga
curl -X DELETE "https://sys.deployally.com/api/v1/api-keys/{id}" \
-H "Authorization: Bearer da_xxx"IP Allowlist
Para maior segurança, limite IPs que podem usar a key:
{
"name": "Servidor Produção",
"allowed_ips": [
"203.0.113.10",
"203.0.113.11"
]
}Ambiente de Teste
Para desenvolvimento e testes, use o ambiente de desenvolvimento:
| Ambiente | URL | Prefixo da Key |
|---|---|---|
| Produção | sys.deployally.com |
da_ |
| Desenvolvimento | dev.sys.deployally.com |
da_test_ |
Criando Key de Teste
- Acesse
https://dev.app.deployally.com - Crie uma API Key normalmente
- A key terá prefixo
da_test_
# Key de teste
curl -X GET "https://dev.sys.deployally.com/api/v1/templates" \
-H "Authorization: Bearer da_test_xxx"Importante: Dados no ambiente de teste são resetados periodicamente.
Erros de Autenticação
401 Unauthorized
API Key ausente ou inválida:
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "API Key inválida ou não fornecida"
}
}Soluções:
- Verifique se o header está correto
- Confirme que a key não foi revogada
- Use
Bearer(nãoBasic)
403 Forbidden
Key válida mas sem permissão:
{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "API Key não tem permissão para este recurso"
}
}Soluções:
- Verifique as permissões da key
- Crie uma nova key com permissões adequadas
JWT (Dashboard)
O Dashboard usa JWT para autenticação de usuários:
Login
curl -X POST "https://sys.deployally.com/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@exemplo.com",
"password": "senha"
}'Resposta:
{
"success": true,
"data": {
"token": "eyJ...",
"expires_at": "2026-02-14T12:00:00Z"
}
}Usando JWT
curl -X GET "https://sys.deployally.com/api/v1/user/profile" \
-H "Authorization: Bearer eyJ..."Nota: JWTs expiram em 24 horas. Use refresh tokens para renovar.
Próximos Passos
- Endpoints - Referência completa de endpoints
- Integração - Guia de integração
By Borlot.com.br on 13/02/2026