Skip to main content
A API pública do Triglit usa chaves de API para autenticação. O tenant é automaticamente identificado a partir da chave utilizada.

Tipos de Chaves

O Triglit oferece dois tipos de chaves de API:

Chave Pública (pk_)

Uso: Frontend e aplicações client-side
  • ✅ Pode ser exposta no frontend
  • ✅ Escopos restritos (principalmente leitura)
  • ✅ Rate limit mais agressivo
  • ✅ Prefixo: pk_

Chave Secreta (sk_)

Uso: Backend e servidores
  • ⚠️ NUNCA exponha no frontend ou repositórios públicos
  • ✅ Escopos completos (criação, edição, exclusão)
  • ✅ Rate limit apropriado para automações
  • ✅ Prefixo: sk_
Mantenha sua chave secreta em segurança. Se ela for comprometida, rotacione imediatamente no dashboard.

Como Usar

No Header da Requisição

Todas as requisições devem incluir a chave de API no header X-API-Key:
curl -X GET "https://api.triglit.com/v1/gateway/workflows" \
  -H "X-API-Key: pk_sua_chave_aqui"

Identificação do Tenant

O tenant é automaticamente identificado a partir da chave de API. Você não precisa enviar nenhum header adicional para identificar o tenant.
// A chave pk_abc123... pertence automaticamente ao tenant correto
// Não é necessário enviar X-Tenant-Id

Escopos e Permissões

Chave Pública (pk_)

Endpoints permitidos:
  • GET /workflows - Listar workflows
  • GET /workflows/{id} - Obter workflow
  • GET /triggers - Listar triggers
  • GET /workflow-versions - Listar versões
  • POST /triggers - Criar triggers (limitado)
  • ❌ Operações de escrita em workflows
  • ❌ Exclusão de recursos

Chave Secreta (sk_)

Endpoints permitidos:
  • ✅ Todos os endpoints da chave pública
  • POST /workflows - Criar workflows
  • PATCH /workflows/{id} - Atualizar workflows
  • DELETE /workflows/{id} - Excluir workflows
  • POST /workflow-versions - Criar versões
  • POST /workflow-versions/{id}/publish - Publicar versões
  • ✅ Todas as operações de gestão

Rate Limiting

Chave Pública

  • Limite: 100 requisições por minuto por tenant
  • Burst: Até 20 requisições simultâneas

Chave Secreta

  • Limite: 1000 requisições por minuto por tenant
  • Burst: Até 100 requisições simultâneas

Headers de Rate Limit

A API retorna informações sobre rate limiting nos headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200

Resposta de Rate Limit Excedido

Quando o limite é excedido, você receberá:
{
  "statusCode": 429,
  "message": "Rate limit exceeded. Try again in 5 seconds.",
  "error": "Too Many Requests"
}

Erros de Autenticação

401 Unauthorized

A chave de API não foi fornecida ou é inválida:
{
  "statusCode": 401,
  "message": "API key não fornecida. Forneça a chave no header 'X-API-Key'.",
  "error": "Unauthorized"
}
Soluções:
  • Verifique se o header X-API-Key está presente
  • Confirme que a chave está correta
  • Verifique se a chave não foi revogada

403 Forbidden

O tipo de chave não é permitido para este endpoint:
{
  "statusCode": 403,
  "message": "Tipo de chave não permitido. Este endpoint aceita apenas: secret key (sk_).",
  "error": "Forbidden"
}
Soluções:
  • Use a chave secreta (sk_) para operações de escrita
  • Verifique a documentação do endpoint para ver quais tipos são aceitos

Rotação de Chaves

Quando Rotacionar

  • Chave comprometida ou exposta
  • Funcionário que tinha acesso saiu da empresa
  • Rotação periódica de segurança (recomendado a cada 90 dias)

Como Rotacionar

  1. Acesse o Dashboard do Triglit
  2. Vá em ConfiguraçõesAPI Keys
  3. Clique em Rotacionar Chaves
  4. Copie as novas chaves
  5. Atualize suas aplicações
  6. Revogue as chaves antigas após confirmar que tudo funciona
Após rotacionar, as chaves antigas são imediatamente inválidas. Certifique-se de atualizar todas as aplicações antes de rotacionar.

Boas Práticas

  • Nunca commite chaves em repositórios Git
  • Use variáveis de ambiente
  • Use serviços de gerenciamento de secrets (AWS Secrets Manager, HashiCorp Vault, etc.)
  • Rotacione chaves regularmente
  • Use chave pública (pk_) apenas no frontend
  • Use chave secreta (sk_) apenas no backend
  • Não compartilhe chaves entre ambientes (dev/prod)
  • Monitore o uso das chaves
  • Sempre trate erros 401 e 403
  • Implemente retry com backoff exponencial
  • Monitore rate limits
  • Logue erros de autenticação para debugging

Exemplo Completo

import Triglit from 'triglit';

// Inicializar o cliente com sua chave de API
const client = new Triglit({ apiKey: 'sk_sua_chave_secreta' });

// Listar workflows
const workflows = await client.workflows.list();

// Obter um workflow específico
const workflow = await client.workflows.retrieve('workflow_id_aqui');

// Criar uma versão de workflow
const version = await client.workflows.versions.create({
  workflowId: 'workflow_id_aqui',
  nodes: [],
  edges: []
});

// Listar triggers
const triggers = await client.triggers.list();
Use o SDK oficial do Triglit para facilitar o gerenciamento de autenticação, tratamento de erros e rate limiting. Instale com npm install triglit.