get_activity_log
Read the activity log for a given subject. Returns chronological entries with causer, event, and scrubbed properties.
Purpose
Read the activity log for a given subject (e.g. a project or project-user). Returns reverse-chronological entries with causer, event, and properties. Keys matching token | secret | password | api_key | api_secret are stripped before the response returns.
Pass a short morph alias as subject_type — project,
project-subscription, project-subscription-plan, project-user,
project-resource, etc. The subject_id is the row UUID.
Required ability
activity:read
Input schema
{
"type": "object",
"required": ["subject_type", "subject_id"],
"properties": {
"subject_type": {
"type": "string",
"description": "Alias of the model the activity is attached to: one of `project`, `project-user`, `project-subscription`, `project-subscription-plan`, `member`, `subscription`, `plan`, `access-code`, `coupon`, `project-resource`. Model class names are refused."
},
"subject_id": {
"type": "string",
"description": "UUID of the subject row."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Maximum entries to return (1..200, default 50)."
}
}
}Output shape
{
"data": [
{
"id": "92e4c1b6-70da-4f38-8517-b036ae94d7c2",
"log_name": "default",
"description": "Plan 'Premium Monthly' was updated.",
"event": "updated",
"subject_type": "project-subscription-plan",
"subject_id": "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b",
"causer_type": "user",
"causer_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
"properties": {
"changes": {
"price": { "from": "25.00", "to": "29.00" }
}
},
"actor_kind": "human",
"created_at": "2026-05-18T10:05:00Z"
}
],
"meta": {
"subject_type": "project-subscription-plan",
"subject_id": "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b",
"total": 12,
"limit": 50
}
}Example prompts
"What recent changes happened to plan
c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b?"
"Show me the last 20 actions taken against subscriber
2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80."
Failure modes
TOKEN_MISSING_ABILITY— token lacksactivity:read.VALIDATION_FAILED—subject_typeis not one of the supported aliases (model class names are refused; the error context lists the aliases), orsubject_idis not a UUID (reason: not_a_uuid).RESOURCE_NOT_FOUND— the subject does not exist, belongs to another creator, or sits outside the token'sscope:project:allow-list. The history is never read before the subject itself resolves, so a foreign id learns nothing.
Related
How is this guide?