Pular para o conteúdo

GET /audit-events

API · v1 · Produção · Revisado em · Markdown

Atividade de conta filtrada ao proprietário. Contrato v1 · disponível em produção e homologação · operação getAuditEvents. Guia funcional · Índice · Schemas · Testar em sandbox.

Permissão: audit_events:read. Exige sessão humana verificada; API keys não são aceitas. OAuth/MCP ainda não estão disponíveis. Use o access token da sessão humana do proprietário, obtido pelo login do ambiente e mantido somente no processo seguro; a chave de API não substitui essa sessão.

Disponível em produção e homologação; sujeito às capacidades do app e à configuração do provedor. Exige sessão humana verificada. Campos desconhecidos rejeitados. Consulte os ADRs para regras semânticas além do JSON Schema.

Consulta não altera o recurso. Downloads revalidam autorização e têm prazo/estado conforme o guia.

Nome Local Obrigatório Tipo e restrições
cursor query não Cursor; {“type”:“string”,“maxLength”:2048,“pattern”:“^c1\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$”}
limit query não integer; {“type”:“integer”,“minimum”:1,“maximum”:100,“default”:50}

Paginação por cursor assinado; preserve credencial, concessão, filtros, ordem e limite. Cursor expira em 15 minutos. A lista mutável não fornece snapshot. Use pagination.nextCursor até hasMore=false.

Sem corpo. Envie os parâmetros na URL e os headers indicados.

Omitir campos opcionais usa o default documentado ou preserva o valor em PATCH. null só é aceito nos campos cujo schema permite null, com efeito de limpar/desvincular indicado no guia. Arrays enviados substituem a coleção quando o endpoint define atualização completa; não implicam merge. Identificadores/owner/app de um recurso existente não são transferidos por PATCH. Herança de templates/UTMs segue o guia, sem alterar links anteriores por cópia automática.

AGILINK_HUMAN_SESSION deve ficar no servidor. Os placeholders abaixo são fictícios. Preserve Idempotency-Key e payload ao repetir uma intenção após timeout.

Janela do terminal
curl --request GET 'https://api.staging.agilink.io/v1/audit-events' \
--header 'Authorization: Bearer <credencial>'
// Node.js 22+. Defina AGILINK_HUMAN_SESSION no ambiente do servidor.
const response = await fetch('https://api.staging.agilink.io/v1/audit-events', {
method: 'GET',
headers: {
"Authorization": `Bearer ${process.env.AGILINK_HUMAN_SESSION}`
},
redirect: 'error', signal: AbortSignal.timeout(30000)
});
if (!response.ok) throw new Error('HTTP '+response.status+' requestId='+response.headers.get('X-Request-Id'));
const result = await response.json();
console.log(result);
# Python 3.10+; pip install requests
import os
import requests
headers = {
"Authorization": "Bearer " + os.environ["AGILINK_HUMAN_SESSION"]
}
response = requests.request(
'GET', 'https://api.staging.agilink.io/v1/audit-events',
headers=headers,
timeout=30, allow_redirects=False)
if not 200 <= response.status_code < 300:
raise RuntimeError(f'HTTP {response.status_code}; requestId={response.headers.get("X-Request-Id")}')
result = response.json()
print(result)

Sucesso. Exemplo fictício.

Header Significado Exemplo
X-Request-Id Identificador gerado pelo servidor, inclusive para falhas e replays. conforme resposta
Cache-Control Respostas administrativas não podem ser armazenadas. no-store, no-transform
{
"data": [],
"pagination": {
"nextCursor": null,
"hasMore": false
},
"meta": {
"requestId": "req_00000000000040008000000000000001"
}
}
Campo Tipo Obrigatório Significado e limites
data array sim Resultado tipado da operação. Até 100 itens
data[].id string sim Identificador estável do recurso. uuid
data[].at string sim Valor tipado; formato e restrições completos no schema abaixo. date-time
data[].requestId RequestId sim Identificador de correlação gerado pelo servidor.
data[].actorType human / api_key sim Valor tipado; formato e restrições completos no schema abaixo.
data[].credentialId string sim Valor tipado; formato e restrições completos no schema abaixo. Até 500 caracteres; Formato validado pelo schema
data[].operationId string sim Valor tipado; formato e restrições completos no schema abaixo. Até 100 caracteres
data[].resourceId string ou null sim Valor tipado; formato e restrições completos no schema abaixo.
data[].appId string ou null sim Aplicativo proprietário; precisa estar autorizado.
data[].revision string ou null sim Revisão forte para If-Match; muda ao editar.
pagination Pagination sim Continuação da lista; não é snapshot.
pagination.nextCursor Cursor ou null sim Cursor assinado; conserve filtros, credencial e limite.
pagination.hasMore boolean sim Indica se há continuação.
meta object sim Correlação e informações da resposta.
meta.requestId RequestId sim Identificador de correlação gerado pelo servidor.

Respeite Retry-After quando existir. Leituras podem ser repetidas após falhas transitórias. Não faça retry automático ilimitado.

Status Significado
400 Cabeçalho, query, cursor ou JSON inválido.
401 Credencial inválida, expirada ou revogada.
403 Operação sem permissão ou capacidade desabilitada.
404 Recurso inexistente ou fora dos aplicativos autorizados.
422 JSON bem formado com dados de domínio inválidos.
429 Quota excedida. Respeitar Retry-After.
500 Falha interna. Use requestId para diagnóstico.
503 Dependência indisponível; resultado da mutação pode ser incerto.
{
"error": {
"code": "unauthenticated",
"message": "Credencial inválida, expirada ou revogada.",
"requestId": "req_00000000000040008000000000000001",
"documentationUrl": "https://docs.agilink.io/api/errors/#unauthenticated"
}
}
{
"error": {
"code": "insufficient_permission",
"message": "Operação sem permissão ou capacidade desabilitada.",
"requestId": "req_00000000000040008000000000000001",
"documentationUrl": "https://docs.agilink.io/api/errors/#insufficient-permission"
}
}
{
"error": {
"code": "rate_limited",
"message": "Quota excedida. Respeitar Retry-After.",
"requestId": "req_00000000000040008000000000000001",
"documentationUrl": "https://docs.agilink.io/api/errors/#rate-limited"
}
}
Schema de request
{
"description": "Sem corpo"
}
Schema de response
{
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AuditEvent"
},
"maxItems": 100
},
"pagination": {
"$ref": "#/components/schemas/Pagination"
},
"meta": {
"type": "object",
"additionalProperties": false,
"properties": {
"requestId": {
"$ref": "#/components/schemas/RequestId"
}
},
"required": [
"requestId"
]
}
},
"required": [
"data",
"pagination",
"meta"
]
}

Convenções e limites · Erros · Receitas completas · Guia funcional.