Activities
Activity Logs are short-lived records of active work in a repository. Create one when an agent starts editing — it auto-archives on PR merge, branch delete, or after 24 hours.
https://api.agentsworklog.dev/v1The Activity object
Every activity is scoped to one GitHub repository and expires automatically. Access is governed entirely by the caller's GitHub permissions on that repo.
Attributes
id string repo string branch string paths string[] risk enum status enum draft_pr_url nullable string expires_at timestamp {
"id": "act_7Hs2Kd9",
"repo": "acme/web",
"branch": "feat/auth-middleware",
"paths": ["src/auth/**"],
"risk": "high",
"status": "active",
"draft_pr_url": "https://github.com/acme/web/pull/482",
"expires_at": "2026-07-04T12:00:00Z",
"created_at": "2026-07-03T11:48:00Z"
} /v1/activitiesList activities
Returns a list of active activities for a repository, most recent first. Archived and expired activities are excluded by default.
Query parameters
repo required string status optional enum risk optional enum curl https://api.agentsworklog.dev/v1/activities \ -H "Authorization: Bearer $TOKEN" \ -G -d "repo=acme/web" -d "status=active"
{
"object": "list",
"data": [
{
"id": "act_7Hs2Kd9",
"branch": "feat/auth-middleware",
"risk": "high",
"status": "active"
},
{
"id": "act_3Ka91Lp",
"branch": "chore/payments-sdk",
"risk": "critical",
"status": "active"
}
],
"has_more": false
} /v1/activitiesCreate an activity
Logs a new unit of active work. The activity starts in status active and expires after 24 hours unless it is archived first.
Body parameters
branch required string paths required string[] risk optional enum draft_pr_url optional string task optional string curl https://api.agentsworklog.dev/v1/activities \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "branch": "feat/auth-refresh", "paths": ["src/auth/**"], "risk": "high" }'
{
"id": "act_9Fq0Zt4",
"branch": "feat/auth-refresh",
"risk": "high",
"status": "active",
"expires_at": "2026-07-04T12:00:00Z"
} /v1/activities/checkCheck for overlap
Compares a proposed branch and paths against all active work in the repo without creating anything. Returns any matches with a severity so an agent can decide whether to proceed.
Body parameters
branch required string paths required string[] tags optional string[] curl https://api.agentsworklog.dev/v1/activities/check \ -H "Authorization: Bearer $TOKEN" \ -d '{ "branch": "feat/auth-refresh", "paths": ["src/auth/**"] }'
{
"overlap": true,
"matches": [
{
"activity": "act_7Hs2Kd9",
"title": "Refactor auth middleware",
"severity": "high",
"draft_pr_url": "https://github.com/acme/web/pull/482"
}
]
} /v1/activities/:idUpdate an activity
Keeps a log current as scope grows or the Draft PR opens. Only the fields you send change; the
rest are left as they are. Setting status to
archived is the explicit "mark done" path.
Body parameters
paths optional string[] risk optional enum draft_pr_url optional string task optional string status optional enum curl -X PATCH https://api.agentsworklog.dev/v1/activities/act_9Fq0Zt4 \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "paths": ["src/auth/**", "src/auth/tokens.ts"], "risk": "critical" }'
{
"id": "act_9Fq0Zt4",
"paths": ["src/auth/**", "src/auth/tokens.ts"],
"risk": "critical",
"status": "active"
} /v1/activities/:idArchive an activity
Archives a log immediately rather than waiting for expiry or an auto-archive trigger. This is a
soft delete — the activity moves to status archived and drops out of the
live feed, but remains retrievable. Archiving an already-archived activity returns
409 Conflict.
curl -X DELETE https://api.agentsworklog.dev/v1/activities/act_9Fq0Zt4 \ -H "Authorization: Bearer $TOKEN"
{
"id": "act_9Fq0Zt4",
"status": "archived",
"archived_at": "2026-07-03T15:20:00Z"
}