Pular para o conteúdo principal

Visão Geral da API

A API REST do ArchiCore permite integrar análise de arquitetura em seus fluxos de trabalho.

URL Base

https://api.archicore.io/api/v1

Autenticação

Todas as requisições da API requerem autenticação usando um token Bearer:

curl -H "Authorization: Bearer SUA_CHAVE_API" \
https://api.archicore.io/api/v1/projects

Consulte Autenticação para detalhes sobre como obter chaves API.

Formato de Resposta

Todas as respostas são JSON:

{
"success": true,
"data": { ... }
}

Respostas de erro:

{
"success": false,
"error": "Mensagem de erro",
"code": "CODIGO_ERRO"
}

Códigos de Status HTTP

CódigoDescrição
200Sucesso
201Criado
400Requisição Inválida - Parâmetros inválidos
401Não Autorizado - Token inválido ou ausente
403Proibido - Permissões insuficientes
404Não Encontrado
429Muitas Requisições - Limite de taxa excedido
500Erro Interno do Servidor

Limites de Taxa

PlanoRequisições/diaRequisições/minuto
Grátis10010
Pro10.000100
EnterpriseIlimitado1.000

Os headers de limite de taxa são incluídos em todas as respostas:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640000000

Resumo dos Endpoints

Projetos

MétodoEndpointDescrição
GET/projectsListar todos os projetos
POST/projectsCriar um projeto
GET/projects/:idObter detalhes do projeto
DELETE/projects/:idExcluir um projeto
POST/projects/:id/indexIniciar indexação

Análise

MétodoEndpointDescrição
POST/projects/:id/searchBusca semântica
POST/projects/:id/askPerguntar ao assistente IA
GET/projects/:id/metricsObter métricas de código
GET/projects/:id/securityResultados do scan de segurança
POST/projects/:id/analyzeAnálise de impacto

Webhooks

MétodoEndpointDescrição
GET/webhooksListar webhooks
POST/webhooksCriar webhook
DELETE/webhooks/:idExcluir webhook

SDKs

SDKs oficiais disponíveis para:

  • JavaScript/TypeScript: npm install @archicore/sdk
  • Python: pip install archicore

Exemplo Rápido

import { ArchiCore } from '@archicore/sdk';

const client = new ArchiCore({ apiKey: 'SUA_CHAVE_API' });

// Buscar código
const results = await client.projects.search('project-id', {
query: 'lógica de autenticação'
});

// Perguntar à IA
const answer = await client.projects.ask('project-id', {
question: 'Como funciona o sistema de autenticação?'
});