---
title: "getEntityActivityFeed"
method: GET
path: "/v1/entity/{slug}/{id}/activity"
tags: ["Activity"]
---

# getEntityActivityFeed

`GET /v1/entity/{slug}/{id}/activity`

Get activity feed for an entity

## Path parameters

- `slug` string, required — URL-friendly identifier for the entity schema
- `id` string, uuid, required

## Query parameters

- `anonymize` boolean
- `after` string, date-time
- `before` string, date-time
- `start_date` string, date-time
- `end_date` string, date-time
- `preset_range` 'today' | 'this_week' | 'last_week'
- `from` integer
- `size` integer
- `type` string[]
- `include_relations` boolean
- `exclude_activity_groups` string

## Response `200`

Success

- object
  - `total` integer
  - `results` ActivityItem[]
    - `_id` string, ulid — See https://github.com/ulid/spec
    - `timestamp` string, date-time
    - `type` string, required — A type for the activity. Used to categorize activities in the activity feed and for event subscriptions. Built-in entity activity types (custom activities can be defined as well): - EntityCreated - EntityUpdated - EntityDeleted - EntitySoftDeleted - EntityRestored - RelationsAdded - RelationsRemoved - RelationsSoftDeleted - RelationsRestored - RelationsDeleted - ChangesetCreated - ChangesetAutoCleared - ChangesetApplied - ChangesetDismissed
    - `title` string, required — Title for activity. Supports handlebars syntax.
    - `message` string, required — Message for activity. Supports handlebars syntax.
    - `payload` object
    - `pending` boolean — Indicates whether the activity is in the pending state. Pending activities are not yet visible in the activity feed and events are not yet dispatched.
    - `caller` ActivityCallerContext
      - `EpilotAuth` object
        - `token` object
          - `sub` string
          - `email` string
          - `cognito:username` string
          - `custom:ivy_user_id` string
    - `operations_total` integer — Count of total operations attached to this activity
    - `operations` EntityOperation[]
      - `entity` string, uuid, required
      - `org` string, required
      - `activity_id` string, ulid — See https://github.com/ulid/spec
      - `activity_type` string — A type for the activity. Used to categorize activities in the activity feed and for event subscriptions. Built-in entity activity types (custom activities can be defined as well): - EntityCreated - EntityUpdated - EntityDeleted - EntitySoftDeleted - EntityRestored - RelationsAdded - RelationsRemoved - RelationsSoftDeleted - RelationsRestored - RelationsDeleted - ChangesetCreated - ChangesetAutoCleared - ChangesetApplied - ChangesetDismissed
      - `operation` 'createEntity' | 'updateEntity' | 'deleteEntity' | 'softDeleteEntity' | 'restoreEntity' | 'relationsAdded' | 'relationsRemoved' | 'relationsSoftDeleted' | 'relationsRestored' | 'relationsDeleted', required
      - `params` object
        - `id` string, uuid
        - `slug` string — URL-friendly identifier for the entity schema
      - `payload` object
        - `_id` string, uuid
        - `_org` string — Organization Id the entity belongs to
        - `_owners` EntityOwner[]
          - `org_id` string, required
          - `user_id` string
        - `_schema` string — URL-friendly identifier for the entity schema
        - `_title` string, nullable — Title of entity
        - `_tags` string[], nullable
        - `_created_at` string, date-time, nullable
        - `_updated_at` string, date-time, nullable
        - `_deleted_at` string, date-time, nullable
        - `_acl` object — Access control list (ACL) for an entity. Defines sharing access to external orgs or users.
          - `view` string[]
          - `edit` string[]
          - `delete` string[]
        - `_purpose` string[], nullable
        - `_purpose_name` string[], nullable — Automatically computed purpose names from _purpose attribute
        - `_manifest` string[], nullable — Manifest ID used to create/update the entity
        - `_changesets` object, nullable — Pending attribute changesets for attributes configured with external or approval edit mode. The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...) and is what `:apply` / `:dismiss` operate on. Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets` from request bodies. Use the changeset management endpoints to mutate this field.
      - `diff` object
        - `added` object — New attributes added to the entity as part of the operation
          - `_id` string, uuid
          - `_org` string — Organization Id the entity belongs to
          - `_owners` EntityOwner[]
            - `org_id` string, required
            - `user_id` string
          - `_schema` string — URL-friendly identifier for the entity schema
          - `_title` string, nullable — Title of entity
          - `_tags` string[], nullable
          - `_created_at` string, date-time, nullable
          - `_updated_at` string, date-time, nullable
          - `_deleted_at` string, date-time, nullable
          - `_acl` object — Access control list (ACL) for an entity. Defines sharing access to external orgs or users.
            - `view` string[]
            - `edit` string[]
            - `delete` string[]
          - `_purpose` string[], nullable
          - `_purpose_name` string[], nullable — Automatically computed purpose names from _purpose attribute
          - `_manifest` string[], nullable — Manifest ID used to create/update the entity
          - `_changesets` object, nullable — Pending attribute changesets for attributes configured with external or approval edit mode. The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...) and is what `:apply` / `:dismiss` operate on. Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets` from request bodies. Use the changeset management endpoints to mutate this field.
        - `updated` object — Attributes updated in the entity. Note: These values contain the previous values before the update!
          - `_id` string, uuid
          - `_org` string — Organization Id the entity belongs to
          - `_owners` EntityOwner[]
            - `org_id` string, required
            - `user_id` string
          - `_schema` string — URL-friendly identifier for the entity schema
          - `_title` string, nullable — Title of entity
          - `_tags` string[], nullable
          - `_created_at` string, date-time, nullable
          - `_updated_at` string, date-time, nullable
          - `_deleted_at` string, date-time, nullable
          - `_acl` object — Access control list (ACL) for an entity. Defines sharing access to external orgs or users.
            - `view` string[]
            - `edit` string[]
            - `delete` string[]
          - `_purpose` string[], nullable
          - `_purpose_name` string[], nullable — Automatically computed purpose names from _purpose attribute
          - `_manifest` string[], nullable — Manifest ID used to create/update the entity
          - `_changesets` object, nullable — Pending attribute changesets for attributes configured with external or approval edit mode. The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...) and is what `:apply` / `:dismiss` operate on. Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets` from request bodies. Use the changeset management endpoints to mutate this field.
        - `deleted` object — Attributes removed from the entity as part of the operation
          - `_id` string, uuid
          - `_org` string — Organization Id the entity belongs to
          - `_owners` EntityOwner[]
            - `org_id` string, required
            - `user_id` string
          - `_schema` string — URL-friendly identifier for the entity schema
          - `_title` string, nullable — Title of entity
          - `_tags` string[], nullable
          - `_created_at` string, date-time, nullable
          - `_updated_at` string, date-time, nullable
          - `_deleted_at` string, date-time, nullable
          - `_acl` object — Access control list (ACL) for an entity. Defines sharing access to external orgs or users.
            - `view` string[]
            - `edit` string[]
            - `delete` string[]
          - `_purpose` string[], nullable
          - `_purpose_name` string[], nullable — Automatically computed purpose names from _purpose attribute
          - `_manifest` string[], nullable — Manifest ID used to create/update the entity
          - `_changesets` object, nullable — Pending attribute changesets for attributes configured with external or approval edit mode. The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...) and is what `:apply` / `:dismiss` operate on. Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets` from request bodies. Use the changeset management endpoints to mutate this field.
      - `source_context` EntityOperationSourceContext — Billing and audit source context for the operation event.
        - `source` 'portal' | 'epilot' | 'erp' | 'system' | 'api' | 'external' | 'journey' | 'automation' | 'unknown', required — Normalized source bucket for the operation.
        - `source_label` string — Original free-form source label from the caller or changeset, when available.
        - `source_system` string — Optional upstream system label, for example an ERP system name.
        - `source_reference` string — Optional upstream change reference.
        - `actor_type` 'user' | 'portal_user' | 'api_client' | 'automation' | 'system'
        - `actor_id` string
        - `effective_at` string, date-time
      - `_workflow_origin` object — Internal property for workflow origin tracking and infinite loop prevention. Populated when an entity update originates from a workflow execution. This allows downstream automation services to prevent circular triggering.
        - `workflow_exec_id` string — The ID of the workflow execution that triggered this entity update
        - `flow_template_id` string — The flow template ID - used to detect and prevent circular triggering
      - `_automation_chain` string[] — Ordered automation flow ids that caused this change; used to break multi-automation trigger loops.

## Other responses

- `404` — The requested resource was not found

---

[API](https://skmtc.net/epilot/apis/entity-api.md) · [All operations](https://skmtc.net/epilot/apis/entity-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/entity-api/revisions/3020984570dc/schema)
