Early bird discounts live! Claim your offer

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_typeproject, 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 lacks activity:read.
  • VALIDATION_FAILEDsubject_type is not one of the supported aliases (model class names are refused; the error context lists the aliases), or subject_id is not a UUID (reason: not_a_uuid).
  • RESOURCE_NOT_FOUND — the subject does not exist, belongs to another creator, or sits outside the token's scope:project: allow-list. The history is never read before the subject itself resolves, so a foreign id learns nothing.

How is this guide?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request