VORIM
We use cookies

We use cookies to analyze site traffic and improve your experience. You can choose to accept all cookies or only essential ones. See our Privacy Policy.

Audit events

Emit an event, batch them when volume demands it, and get back a record a counterparty can verify. What the ingest path costs and what it guarantees.

Audit Events

Every agent action should be logged for compliance and debugging. Events are stored in TimescaleDB with ULID ordering.

Retries are safe when you send an Idempotency-Key header. The first request records its response, and a repeat returns that same response carrying the original event ids instead of writing the batch twice. Send no key and you get exactly today's behavior.

What you send is what we store. If prompts cannot leave your network, send a digest or a keyed commitment in place of the payload; payload privacy covers how that works and what a third party can still check.

vorim.emit(event)

Emit a single audit event.

agent_idstringRequired
The agent performing the action.
event_typestringRequired
One of tool_call, api_request, message_sent, permission_change, status_change, key_rotation, login, or export.
actionstringRequired
What happened (e.g., POST /invoices).
resourcestring
The resource being acted upon.
resultstringRequired
success, denied, or error.
latency_msnumber
How long the action took in milliseconds.
metadataobject
Any additional context as key-value pairs.
await vorim.emit({
  agent_id: 'agid_acme_a1b2c3d4',
  event_type: 'api_request',
  action: 'POST /api/invoices/create',
  resource: 'invoices',
  result: 'success',
  latency_ms: 127,
  metadata: {
    invoice_id: 'inv_9876',
    amount: 1500.00,
    currency: 'USD',
  },
});
typescript

vorim.emitBatch(events)

Emit up to 1,000 audit events in a single request. Ideal for high-throughput scenarios.

const events = actions.map(action => ({
  agent_id: 'agid_acme_a1b2c3d4',
  event_type: 'tool_call',
  action: action.name,
  result: action.success ? 'success' : 'error',
  latency_ms: action.duration,
}));

const { ingested } = await vorim.emitBatch(events);
console.log(`${ingested} events recorded`);
typescript
Need Help?

Book a demo for a walkthrough, or contact us for support. For enterprise needs, reach out at sales@vorim.ai.