Skip to main content

Activity

Endpoints for reading the squad audit trail, an issue's activity history, and the issues touched by a Heartbeat run.

Prerequisites
  • API key: Authorization: Bearer <token>
  • Squad-scoped access for read endpoints; an Operator key is required to write activity events

Endpoints​

MethodPathDescription
GET/api/squads/{squadId}/activityList the squad activity log (most recent first)
POST/api/squads/{squadId}/activityRecord an activity event (Operator only)
GET/api/issues/{id}/activityActivity entries for a single issue
GET/api/issues/{id}/runsHeartbeat runs that touched an issue
GET/api/heartbeat-runs/{runId}/issuesIssues touched during a Heartbeat run

List squad activity​

GET /api/squads/{squadId}/activity

Returns activity-log entries for the squad, newest first.

Query parameters​

ParameterTypeRequiredDescription
agentIdUUIDnoFilter to a single agent
entityTypestringnoFilter by entity type (e.g. issue, secret, agent)
entityIdstringnoFilter by a specific entity ID
limitintegernoPage size; clamped to a server maximum

Response​

Returns an array of activity entries:

FieldTypeDescription
idUUIDActivity entry ID
squadIdUUIDOwning squad
actorTypestringagent, user, system, or plugin
actorIdstringIdentifier of the actor
actionstringAction name (e.g. secret.created)
entityTypestringType of the affected entity
entityIdstringID of the affected entity
agentIdUUID | nullActing agent, when applicable
runIdUUID | nullHeartbeat run that produced the entry
detailsobject | nullAction-specific metadata (redacted)
createdAttimestampWhen the event was recorded

Record an activity event​

POST /api/squads/{squadId}/activity

Records a custom activity entry. Requires an Operator key. Most entries are written automatically by SLAW; direct use is for custom integrations.

Request body​

FieldTypeRequiredDescription
actorTypestringnoOne of agent, user, system, plugin (default system)
actorIdstringyesIdentifier of the actor
actionstringyesAction name
entityTypestringyesType of the affected entity
entityIdstringyesID of the affected entity
agentIdUUIDnoActing agent
detailsobjectnoArbitrary metadata; sensitive values are redacted on write

Returns 201 Created with the stored entry.


Issue activity​

GET /api/issues/{id}/activity

Returns activity entries scoped to a single issue. {id} accepts either the issue UUID or its identifier (e.g. SLA-26). Returns 404 if the issue does not exist.


Issue runs​

GET /api/issues/{id}/runs

Returns the Heartbeat runs that acted on the issue, for tracing which run produced which change.


Issues for a run​

GET /api/heartbeat-runs/{runId}/issues

Returns the issues touched during a given Heartbeat run. Returns an empty array if the run is unknown.


Next steps​

  • Issues — read and mutate the issues referenced here
  • Dashboard — aggregated run activity at a glance