Ackly docs

Events

An event represents a single occurrence of something happening in your system — a job completing, a deployment finishing, a payment processing. Events are immutable once ingested.

Event fields

FieldTypeRequiredDescription
status"success" | "failure" | "partial"YesThe outcome of the event
messagestringNoA human-readable description of what happened
eventTypestringNoA category or label for the event (e.g. "deploy", "payment")
externalIdstringNoAn ID from your own system to correlate this event (e.g. a job ID)
durationMsnumberNoHow long the operation took, in milliseconds
metadataanyNoArbitrary JSON — attach any structured data you want

Status values

The status field is the only required field. It signals the outcome of whatever operation you’re tracking:

  • success — the operation completed as expected
  • failure — the operation failed; use message to explain why
  • partial — the operation partially succeeded (e.g. some records processed, some skipped)

metadata

The metadata field accepts any valid JSON value — objects, arrays, strings, numbers. It’s intended for arbitrary context about the event that doesn’t fit into the other fields.

{
	"status": "failure",
	"message": "Database connection timed out",
	"metadata": {
		"host": "db-prod-1",
		"retries": 3,
		"durationMs": 30000
	}
}

There’s no schema enforced on metadata. Ackly stores it as-is and makes it searchable in the dashboard.

Event retention

Events are retained for a period that depends on your plan. See Plans & Limits for details.