---
title: "List company activity events"
method: GET
path: "/v1/activity-events"
tags: ["v1 - Activity Events"]
---

# List company activity events

`GET /v1/activity-events`

## Request

- Base URL: `https://light.inc` (the document declares no server; this is the origin it was published from)
- URL: `https://light.inc/v1/activity-events`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Returns a paginated list of company activity events across supported record types, newest first by default. Use sort=createdAt:asc for oldest first or sort=createdAt:desc for newest first. Keep the same sort and filters when following a cursor. Requires COMPANY_ADMIN or AUDITOR with access to every entity. Supports filtering by record, action, actor, correlation ID and time.

## Query parameters

- `filter` string: Filter string in the format `field:operator:value`. To provide multiple filters, separate them with commas. Available operators: `eq`, `ne`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`. - For `in` and `not_in` operators, provide multiple values separated by the pipe character (`|`). Available fields: `action`, `actorId`, `correlationId`, `createdAt`, `entityId`, `entityType`.
- `limit` integer
- `cursor` string
- `sort` string: Sort string in the format `field:direction`. To provide multiple sort fields, separate them with commas. Available directions: `asc`, `desc`. Available fields: `createdAt`.

## Response `default`

default response

- ExternalCursorPaginatedResponseV1ModelExternalActivityEventV1Model
  - `records` ExternalActivityEventV1Model[]: List of records for the current page
    - `id` string, uuid: Unique identifier of the event
    - `entityType` 'ACCOUNTING_PERIOD' | 'AI_AGENT' | 'AI_ARTIFACT' | 'API_KEY' | 'ASSISTANT_INSTRUCTION' | 'BANK_ACCOUNT' | 'BANK_PAYMENT' | 'CARD' | 'CARD_INTENT' | 'CARD_TRANSACTION' | 'COMPANY' | 'CONTRACT' | 'CREDIT_NOTE' | 'CUSTOMER' | 'CUSTOMER_CREDIT' | 'CUSTOM_PROPERTY_GROUP' | 'DEFERRED_ENTRY' | 'DOCUMENT_TEMPLATE' | 'FX_REVALUATION' | 'HUBSPOT_CONNECTION' | 'INTERCOMPANY_JOURNAL_ENTRY' | 'INVOICE_PAYABLE' | 'INVOICE_RECEIVABLE' | 'JOURNAL_ENTRY' | 'LCI_MEMORY' | 'LEDGER_ACCOUNT' | 'LEDGER_TAX' | 'PRODUCT' | 'PURCHASE_ORDER' | 'PURCHASE_REQUEST' | 'SALESFORCE_CONNECTION' | 'SKILL' | 'USER' | 'USER_REIMBURSEMENT_CONFIG' | 'VENDOR' | 'WORKFLOW' | 'YEAR_CLOSING_ENTRY': Type of the record the event belongs to ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `entityId` string, uuid: ID of the record the event belongs to
    - `action` 'ACTIVATE' | 'ADD_TO_PAYMENT_BATCH' | 'AGENT_REVIEW' | 'APPLY_CREDIT_NOTE' | 'APPLY_CUSTOMER_CREDIT' | 'APPROVE' | 'APPROVE_PAYMENT' | 'ARCHIVE' | 'ARCHIVE_FILE' | 'ATTACH_FILE' | 'CANCEL' | 'CANCEL_TERMINATION' | 'CLEAR' | 'CLOSE' | 'COMPLETE_TASK' | 'CONFIRM_GOODS_RECEIPT' | 'CREATE' | 'DECLINE_APPROVAL' | 'DECLINE_PAYMENT' | 'DELETE' | 'FAIL' | 'FLAG_GOODS_RECEIPT_ISSUE' | 'INITIATE_PAYMENT' | 'LINK_INTERCOMPANY_DOCUMENT' | 'LOCK' | 'MARK_AS_PAID' | 'MARK_AS_PAID_IN_STRIPE' | 'MARK_AS_PARTIALLY_PAID' | 'MATCH_BILL' | 'MATCH_PURCHASE_ORDER' | 'OPEN' | 'PARTIALLY_CLEAR' | 'PAUSE_PAYMENT' | 'PAY' | 'POST' | 'POST_ELIMINATION' | 'PUBLISH' | 'REASSIGN' | 'RECONCILE' | 'RELEASE_PAYMENT_HOLD' | 'REMOVE_CREDIT_NOTE' | 'REMOVE_CUSTOMER_CREDIT' | 'RENEW' | 'REOPEN_TASK' | 'RESET' | 'RESUME_PAYMENT' | 'REVERSE_CLEARING' | 'REVERT' | 'SCHEDULE_TERMINATION' | 'SEND_CUSTOMER_CREDIT' | 'SEND_DUNNING_EMAIL' | 'SEND_INVOICE' | 'SEND_PURCHASE_ORDER' | 'SUBMIT_FOR_APPROVAL' | 'SUBMIT_SELF_BILLED_EINVOICE' | 'TERMINATE' | 'TRIGGER_SYNC' | 'UNARCHIVE' | 'UNMATCH_BILL' | 'UNMATCH_PURCHASE_ORDER' | 'UNRECONCILE' | 'UPDATE': What was done to the record ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `actor` ExternalActivityActorV1Model: Who did it
      - `id` string, uuid: ID of the principal that acted
      - `type` 'AI_AGENT' | 'INTEGRATION' | 'LIGHT_TEAM' | 'SYSTEM' | 'USER': Kind of principal that acted ⚠️ This enum is not exhaustive; new values may be added in the future.
      - `name` string: Display name of the actor
      - `roles` string[], nullable: Roles the actor held when the event was recorded, without Light-internal roles. Null for events recorded before roles were captured.
    - `app` ExternalActivityAppV1Model, nullable: The app the actor made the change through. Null unless an app made the change.
      - `slug` string: Slug of the app, e.g. german-mileage, or the id of an app the company built outside Light
    - `correlationId` string, uuid, nullable: ID of the operation this event belongs to, e.g. an approval run or an assistant tool call. Events sharing it were caused by that one operation.
    - `createdAt` string, date-time: Timestamp when the event happened
    - `changes` ExternalActivityEventChangeV1Model[]: Field changes recorded with the event, each with the value before and after
      - `objectType` 'HEADER' | 'LINE': Whether the changed field belongs to the record itself or to one of its lines ⚠️ This enum is not exhaustive; new values may be added in the future.
      - `objectId` string, uuid: ID of the record or line the field belongs to
      - `objectPosition` integer, nullable: Position of the line within the record, for line fields
      - `field` string: Machine name of the changed field
      - `fieldLabel` string: Human-readable label of the changed field
      - `oldValue` ExternalRenderedActivityValueV1Model, nullable: A field value, discriminated by `type`: TEXT, DATE, ENUM, MONEY, REFERENCE or REFERENCE_LIST
        - `type` string, required
      - `newValue` ExternalRenderedActivityValueV1Model, nullable: A field value, discriminated by `type`: TEXT, DATE, ENUM, MONEY, REFERENCE or REFERENCE_LIST
        - `type` string, required
    - `files` ExternalActivityEventFileV1Model[], nullable: Files an ATTACH_FILE or ARCHIVE_FILE event is about. Left out for other actions.
      - `attachmentId` string, uuid, nullable: ID of the attachment, usable with the attachments API. Null on events recorded before the id was kept.
      - `fileName` string: Name of the file
  - `hasMore` boolean: Boolean flag indicating if there are more records available
  - `nextCursor` string, nullable: Cursor for fetching the next page
  - `prevCursor` string, nullable: Cursor for fetching the previous page

---

[API](https://skmtc.dev/light/apis/light-api.md) - [All operations](https://skmtc.dev/light/apis/light-api/llms.txt) - [OpenAPI document](https://skmtc.dev/light/apis/light-api/revisions/84f51306f648?raw)
