Adryx Ops

Documentação da API

Autenticação

Toda requisição exige uma API key criada no espaço de trabalho, em Configurações → Integrações → API. A chave completa é exibida uma única vez: guarde-a em local seguro. Nenhum endpoint funciona sem autenticação.

curl https://SEU-DOMINIO/api/v1/clients \
  -H "Authorization: Bearer adryx_live_xxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Alternativamente, envie a chave no cabeçalho X-Adryx-Api-Key. A workspace é resolvida a partir da própria chave — não existe parâmetro para consultar outro espaço de trabalho.

Endpoints (v1, somente leitura)

EndpointScope exigidoCampos
GET /api/v1/clientsclients.readid, nome, situação, data de criação
GET /api/v1/assetsassets.readid, nome, tipo, situação, cliente
GET /api/v1/healthhealth.readscore, problemas abertos, data da avaliação
GET /api/v1/alertsalerts.readtítulo, severidade, situação, cliente, data
GET /api/v1/taskstasks.readtítulo, situação, responsável, prazo

O caminho externo equivalente é /api/public/v1/…, útil quando o site publicado exige autenticação de sessão para as demais rotas.

Paginação e filtros

Listas aceitam page (a partir de 1) e limit (1 a 100, padrão 25). Filtros seguros: client_id, status, type, from e to. Nenhum filtro consegue alcançar dados de outro espaço de trabalho.

GET /api/v1/alerts?page=1&limit=25&status=open&from=2026-01-01

Formato das respostas

{
  "data": [ { "id": "…", "name": "…" } ],
  "meta": { "page": 1, "limit": 25, "total": 132 }
}
{
  "error": { "code": "INSUFFICIENT_SCOPE", "message": "…" }
}

Códigos de erro

CódigoHTTPQuando acontece
INVALID_API_KEY401Chave ausente, malformada ou inexistente.
API_KEY_REVOKED401Chave revogada pelo espaço de trabalho.
API_KEY_EXPIRED401Chave fora da validade.
INSUFFICIENT_SCOPE403A chave não possui o scope exigido pelo endpoint.
WORKSPACE_NOT_FOUND404Espaço de trabalho indisponível.
ENDPOINT_NOT_FOUND404Recurso inexistente nesta versão.
INVALID_PARAMETER400Página, limite ou filtro inválido.
RATE_LIMIT_EXCEEDED429Limite de requisições atingido.
INTERNAL_ERROR500Falha inesperada ao processar a requisição.

Limites de uso

Cada chave possui limite por minuto e por hora, configurável por espaço de trabalho e por endpoint. As respostas trazem X-RateLimit-Limit e X-RateLimit-Remaining; ao exceder, a API responde 429 com Retry-After.

Webhooks de saída

Cadastre endpoints https em Configurações → Integrações → Webhooks e assine apenas eventos existentes: alert.created, alert.resolved, task.created, task.completed, health.changed e client.created.

POST /seu-endpoint
X-Adryx-Signature: t=1767200000,v1=<hmac_sha256>
X-Adryx-Event: alert.created

{
  "id": "<delivery-id>",
  "event": "alert.created",
  "created_at": "2026-01-01T12:00:00.000Z",
  "test": false,
  "workspace_id": "…",
  "data": { }
}

Valide a assinatura antes de processar: calcule HMAC_SHA256(segredo, "<t>.<corpo bruto>") e compare com v1 usando comparação de tempo constante. Envios que falham são repetidos com intervalos crescentes, até cinco tentativas — nunca em laço infinito.

Especificação OpenAPI e catálogo de eventos

A especificação descreve apenas os endpoints de leitura realmente implementados. Escopos de escrita cadastrados ainda não possuem endpoint e por isso não aparecem na especificação.

GET https://SEU-DOMINIO/api/public/openapi

O catálogo completo de eventos por domínio, com descrição, versão e disponibilidade, está em Configurações → Integrações → Catálogo de eventos.