Pular para o conteúdo principal

Visão geral

Devin oferece várias versões de API com diferentes mecanismos de autenticação e modelos de autorização. Entender qual tipo de Chave de API usar é essencial para uma integração adequada.

Resumo das versões da API

VersãoAutenticaçãoModelo de autorização
v1Chaves de API pessoais ou de serviçoEscopo da organização
v2Chaves de API pessoaisSomente administrador Enterprise
v3 (Beta)Credenciais de usuário de serviçoRBAC completo

Tipos de Chave de API

Tipo de Chave de APIPrefixoDescrição
Chave de API pessoalapk_user_Chaves com escopo de usuário e organização que herdam as permissões individuais do usuário
Chave de API de serviçoapk_Chaves de serviço com escopo de organização para automação
Credencial de usuário de serviçocog_Credenciais de usuário de serviço com escopo de Enterprise/organização e RBAC

Chaves de API pessoais

Chaves de API pessoais estão vinculadas a contas de usuário individuais e têm escopo limitado a uma org. Elas herdam as permissões desse usuário. Onde gerar:
  • Navegue até Settings > API Keys em qualquer sub-organização
  • Clique em “Generate New API Key”
  • Copie e armazene a chave com segurança (ela será exibida apenas uma vez)
Versões de API compatíveis:
  • v1: Sim - herda as permissões em nível de org do usuário
  • v2: Sim - apenas para usuários com o papel Enterprise Admin
  • v3: Não - use Service User Credentials em vez disso
Casos de uso recomendados:
  • Scripts pessoais de automação
  • Desenvolvimento e testes
  • Integrações específicas de usuário
Considerações de segurança:
  • As chaves são limitadas às permissões do usuário
  • Revogar o acesso de um usuário invalida automaticamente suas chaves de API
  • As chaves devem ser rotacionadas regularmente

Chaves de API de serviço (com escopo de organização)

Chaves de API de serviço podem ser geradas em sub-organizações sob certas condições. Onde gerar: Versões de API compatíveis:
  • v1: Sim - com escopo de organização
  • v2: Não - não é compatível
  • v3: Não - use Service User Credentials em vez disso
Casos de uso recomendados:
  • Automação no nível da organização
  • Pipelines de CI/CD com escopo definido para equipes específicas
  • Ferramentas compartilhadas dentro de uma sub-organização

Credenciais de usuário de serviço (somente v3)

Usuários de serviço são contas dedicadas com papéis e permissões específicos, projetadas para automação baseada em API com suporte completo a RBAC. Onde gerar:
  • Navegue até Enterprise Settings > Service Users
  • Clique em “Create Service User”
  • Atribua os papéis apropriados (Enterprise Admin, Org Admin, Org Member, etc.)
  • Gere uma Chave de API para o usuário de serviço
Tipos de usuário de serviço:
  • Enterprise Service Users: Podem acessar várias organizações com base nos papéis atribuídos
  • Organization Service Users: Limitados a organizações específicas com papéis em nível de organização
Versões de API compatíveis:
  • v1: Não - não disponível
  • v2: Não - não disponível
  • v3: Sim - suporte completo a RBAC
Casos de uso recomendados:
  • Automação em produção com permissões granulares
  • Fluxos de trabalho com múltiplas organizações
  • Integrações com requisitos de conformidade que exigem trilhas de auditoria
  • Integrações de longa duração com escopos de permissão específicos
Considerações de segurança:
  • Usuários de serviço aparecem nos logs de auditoria separadamente de usuários humanos
  • As permissões podem ser controladas com precisão via RBAC
  • As chaves podem ser rotacionadas sem afetar contas de usuários humanos
  • Ideal para o princípio do menor privilégio

Métodos de autenticação

Autenticação com token Bearer

Todas as APIs do Devin usam autenticação por token Bearer. Inclua sua chave de API no cabeçalho Authorization:
Authorization: Bearer your_api_key_here

Exemplos de requisições

Exemplo de API v1:
curl -X POST "https://api.devin.ai/v1/sessions" \
  -H "Authorization: Bearer YOUR_V1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Crie um script Python simples"
  }'
Exemplo da API Enterprise v2:
curl -X GET "https://api.devin.ai/v2/enterprise/organizations" \
  -H "Authorization: Bearer YOUR_V2_ENTERPRISE_ADMIN_KEY"
Exemplo de API v3 (Beta):
curl -X GET "https://api.devin.ai/v3beta1/enterprise/organizations" \
  -H "Authorization: Bearer YOUR_V3_SERVICE_USER_KEY"

Melhores práticas de segurança

Nunca compartilhe chaves de API em áreas acessíveis publicamente, como repositórios GitHub, código no lado do cliente ou logs.
  1. Armazene as chaves com segurança: Use variáveis de ambiente ou sistemas de gerenciamento de segredos
  2. Rotacione as chaves regularmente: Gere novas chaves e revogue as antigas periodicamente
  3. Use usuários de serviço para automação: Prefira usuários de serviço v3 em vez de chaves pessoais em produção
  4. Aplique o princípio do menor privilégio: Conceda apenas as permissões mínimas necessárias
  5. Monitore o uso: Revise os logs de auditoria em busca de atividade inesperada na API
  6. Revogue imediatamente chaves comprometidas: Se uma chave for exposta, revogue-a e gere uma nova

Solução de problemas

401 Não autorizado

Possíveis causas:
  • Chave de API inválida ou expirada
  • Cabeçalho Authorization ausente
  • Formato incorreto do token Bearer
Solução: Verifique se sua chave de API está correta e configurada adequadamente no cabeçalho Authorization.

403 Proibido

Possíveis causas:
  • A chave de API não tem as permissões necessárias
  • Uso da versão de API incorreta para o tipo da sua chave (por exemplo, chave pessoal com v3)
  • Tentativa de acessar recursos fora do seu escopo
Solução:
  • Para v2: garanta que você tenha a função Enterprise Admin
  • Para v3: use uma credencial de usuário de serviço com funções apropriadas
  • Para v1: verifique se você tem acesso à organização

404 Não encontrado

Possíveis causas:
  • URL do endpoint da API incorreta
  • O recurso não existe ou você não tem acesso a ele
Solução: Verifique se a URL do endpoint corresponde à versão da API que você está usando e se o recurso existe.

Próximos passos