Aira

Audit Logs

Immutable audit trail of all state-changing operations in your organization.

All endpoints require admin role. Base URL: https://api.airaproof.com/api/v1

Overview

Aira automatically logs every state-changing action in your organization. Audit logs are immutable and retained for the lifetime of the organization.

What Gets Logged

ActionDescription
case.executedA case was run (models, decision)
action.notarizedAn action was notarized
action.authorizedA human co-signed an action
action.legal_holdLegal hold set or released
agent.registeredAgent registered in the registry
agent.decommissionedAgent decommissioned
agent.transferredAgent transferred to another org
agent.version_publishedNew agent version published
estate.will_setAgent will created or updated
estate.death_certificateDeath certificate issued
escrow.createdEscrow account created
escrow.depositFunds deposited
escrow.releaseFunds released
escrow.disputeFunds disputed
evidence.package_createdEvidence package sealed
team.member_invitedTeam invitation sent
team.member_removedTeam member removed
team.role_changedMember role updated
team.ownership_transferredOrg ownership transferred
api_key.createdAPI key generated
api_key.revokedAPI key revoked
credentials.updatedProvider credentials updated
webhook.createdWebhook endpoint registered
webhook.deletedWebhook endpoint deleted

List Audit Logs

GET /api/v1/audit-logs
Authorization: Bearer <token>

Requires admin role. Returns paginated audit log entries, newest first.

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)
per_pageintegerItems per page (default: 20, max: 100)
actionstringFilter by action type (e.g. case.executed)
user_uuidstringFilter by user who performed the action
resource_typestringFilter by resource type (e.g. case, agent, action)
resource_idstringFilter by specific resource ID
fromstringISO 8601 datetime — only entries after this time
tostringISO 8601 datetime — only entries before this time

Response

{
  "data": [
    {
      "id": "uuid",
      "action": "case.executed",
      "user_uuid": "uuid",
      "user_email": "alice@acme.com",
      "resource_type": "case",
      "resource_id": "uuid",
      "details": {
        "models": ["claude-sonnet-4-6", "gpt-5.4"],
        "decision": "approve"
      },
      "ip_address": "203.0.113.42",
      "created_at": "2026-03-26T10:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "total": 1542,
    "has_more": true
  },
  "request_id": "req_abc123"
}

Entry Fields

FieldTypeDescription
idstringUnique log entry ID
actionstringAction type (see table above)
user_uuidstringUser who performed the action (null for API key auth)
user_emailstringEmail of the user
resource_typestringType of affected resource
resource_idstringID of affected resource
detailsobjectAction-specific metadata
ip_addressstringIP address of the request
created_atstringISO 8601 timestamp

Retention

Audit logs are retained indefinitely on cloud plans. Self-hosted operators manage their own retention via database policies.

On this page