---
title: "List a record's activity with keyset pagination"
method: GET
path: "/api/v1/activity/record/paged"
tags: ["Activity"]
---

# List a record's activity with keyset pagination

`GET /api/v1/activity/record/paged`

## Request

- Base URL: `https://api-docs.busabase.com`
- URL: `https://api-docs.busabase.com/api/v1/activity/record/paged`
- Auth: none declared

## Query parameters

- `recordId` string, required: Activity is scoped to this record's own history.
- `limit` integer: Items per page. Defaults to 50 and is capped at 100.
- `cursor` string: Opaque page cursor: pass back the `nextCursor` from the previous response. Do not construct or parse it.

## Response `200`

Record-scoped operations and audit events, newest first, with an opaque nextCursor (null at the end). Embedded change requests include this page's operations with capped field payloads and no reviews. Embedded records are summaries with capped field payloads and Base identity, without Base fields, people cells, or lookups. Get the change request for the complete diff and reviews; get the record for all field values.

- object
  - `items` union[], required
    - union
      - object
        - `kind` unknown, required
        - `timestamp` string, required
        - `changeRequest` object, required
          - `id` string, required
          - `baseId` string, required
          - `targetType` 'base' | 'node', required
          - `nodeId` string, required
          - `status` 'in_review' | 'changes_requested' | 'approved' | 'rejected' | 'merged' | 'abandoned' | 'conflict', required
          - `submittedBy` string, required
          - `submittedByUser` object
            - `id` string, required
            - `name` string, required
            - `email` string, required
            - `image` string, required
            - `role` string
          - `sourceAttribution` object
            - `displayName` string, required
            - `ownerName` string, required
            - `channel` 'web_ui' | 'browser' | 'openapi' | 'sdk' | 'cli' | 'mcp' | 'skill' | 'webhook' | 'automation' | 'import', required
            - `playbook` object
              - …
          - `sourceMeta` object, required
          - `reviewPolicySnapshot` object, required
          - `mergeSummary` object, required: Filled in when the change request merges. `slugChanges` (present only when non-empty) lists items a restore brought back under a new slug because another item took the old one while they were in the Trash: `{ nodeId, nodeType, name, fromSlug, toSlug }`. Read the new slug from here instead of assuming the old one.
          - `rejectedReason` string, required
          - `reviewedAt` string, required
          - `mergedAt` string, required
          - `createdAt` string, required
          - `updatedAt` string, required
          - `base` object, required
            - `id` string, required
            - `nodeId` string, required
            - `slug` string, required
            - `name` string, required
            - `description` string, required
            - `reviewPolicy` object, required
              - …
            - `createdAt` string, required
            - `fields` object[], required
              - …
          - `node` object, required
            - `id` string, required
            - `parentId` string, required
            - `type` 'folder' | 'base' | 'skill' | 'drive' | 'airapp' | 'file' | 'doc' | 'form' | 'whiteboard' | 'workflow' | 'html', required
            - `slug` string, required
            - `name` string, required
            - `description` string, required
            - `metadata` object
              - …
            - `settings` object
              - …
            - `explicitVisibility` 'private' | 'workspace' | 'public'
            - `icon` union
              - …
            - `position` number, required
            - `createdAt` string, required
            - `updatedAt` string, required
            - `baseId` string, required
            - `children` object[], required
              - …
            - `hasChildren` boolean
            - `shared` boolean
            - `sharedViaAncestor` boolean
          - `operations` object[], required
            - `id` string, required
            - `changeRequestId` string, required
            - `baseId` string, required
            - `targetType` 'base' | 'node', required
            - `nodeId` string, required
            - `operation` 'node_create' | 'node_rename' | 'node_delete' | 'node_restore' | 'node_move' | 'record_create' | 'record_update' | 'record_delete' | 'record_variant' | 'view_create' | 'view_update' | 'view_delete' | 'view_restore' | 'base_add_field' | 'base_delete_field' | 'base_update_field' | 'base_convert_field' | 'base_reorder_fields' | 'base_restore_field' | 'base_archive' | 'base_restore' | 'record_restore' | 'skill_file_create' | 'skill_file_update' | 'skill_file_delete' | 'skill_metadata_update' | 'drive_file_create' | 'drive_file_update' | 'drive_file_delete' | 'drive_metadata_update' | 'airapp_file_create' | 'airapp_file_update' | 'airapp_file_delete' | 'airapp_metadata_update' | 'doc_update' | 'whiteboard_document_update' | 'workflow_document_update' | 'html_document_update', required
            - `status` 'pending' | 'merged' | 'archived' | 'failed', required
            - `targetRecordId` string, required
            - `targetViewId` string, required
            - `filePath` string, required
            - `sourceRecordId` string, required
            - `sourceCommitId` string, required
            - `baseCommitId` string, required
            - `headCommitId` string, required
            - `deleteMode` 'archive', required
            - `mergedRecordId` string, required
            - `mergedViewId` string, required
            - `position` number, required
            - `createdAt` string, required
            - `updatedAt` string, required
            - `headCommit` object, required
              - …
            - `baseFields` object, required
          - `primaryOperation` object, required
            - `id` string, required
            - `changeRequestId` string, required
            - `baseId` string, required
            - `targetType` 'base' | 'node', required
            - `nodeId` string, required
            - `operation` 'node_create' | 'node_rename' | 'node_delete' | 'node_restore' | 'node_move' | 'record_create' | 'record_update' | 'record_delete' | 'record_variant' | 'view_create' | 'view_update' | 'view_delete' | 'view_restore' | 'base_add_field' | 'base_delete_field' | 'base_update_field' | 'base_convert_field' | 'base_reorder_fields' | 'base_restore_field' | 'base_archive' | 'base_restore' | 'record_restore' | 'skill_file_create' | 'skill_file_update' | 'skill_file_delete' | 'skill_metadata_update' | 'drive_file_create' | 'drive_file_update' | 'drive_file_delete' | 'drive_metadata_update' | 'airapp_file_create' | 'airapp_file_update' | 'airapp_file_delete' | 'airapp_metadata_update' | 'doc_update' | 'whiteboard_document_update' | 'workflow_document_update' | 'html_document_update', required
            - `status` 'pending' | 'merged' | 'archived' | 'failed', required
            - `targetRecordId` string, required
            - `targetViewId` string, required
            - `filePath` string, required
            - `sourceRecordId` string, required
            - `sourceCommitId` string, required
            - `baseCommitId` string, required
            - `headCommitId` string, required
            - `deleteMode` 'archive', required
            - `mergedRecordId` string, required
            - `mergedViewId` string, required
            - `position` number, required
            - `createdAt` string, required
            - `updatedAt` string, required
            - `headCommit` object, required
              - …
            - `baseFields` object, required
          - `operationCount` number, required
          - `reviews` object[], required
            - `id` string, required
            - `changeRequestId` string, required
            - `reviewerId` string, required
            - `reviewer` object
              - …
            - `verdict` 'approved' | 'rejected', required
            - `reason` string, required
            - `visibleOperationHeads` object, required
            - `createdAt` string, required
      - object
        - `kind` unknown, required
        - `timestamp` string, required
        - `operationId` string, required
        - `changeRequest` object, required
          - `id` string, required
          - `baseId` string, required
          - `targetType` 'base' | 'node', required
          - `nodeId` string, required
          - `status` 'in_review' | 'changes_requested' | 'approved' | 'rejected' | 'merged' | 'abandoned' | 'conflict', required
          - `submittedBy` string, required
          - `submittedByUser` object
            - `id` string, required
            - `name` string, required
            - `email` string, required
            - `image` string, required
            - `role` string
          - `sourceAttribution` object
            - `displayName` string, required
            - `ownerName` string, required
            - `channel` 'web_ui' | 'browser' | 'openapi' | 'sdk' | 'cli' | 'mcp' | 'skill' | 'webhook' | 'automation' | 'import', required
            - `playbook` object
              - …
          - `sourceMeta` object, required
          - `reviewPolicySnapshot` object, required
          - `mergeSummary` object, required: Filled in when the change request merges. `slugChanges` (present only when non-empty) lists items a restore brought back under a new slug because another item took the old one while they were in the Trash: `{ nodeId, nodeType, name, fromSlug, toSlug }`. Read the new slug from here instead of assuming the old one.
          - `rejectedReason` string, required
          - `reviewedAt` string, required
          - `mergedAt` string, required
          - `createdAt` string, required
          - `updatedAt` string, required
          - `base` object, required
            - `id` string, required
            - `nodeId` string, required
            - `slug` string, required
            - `name` string, required
            - `description` string, required
            - `reviewPolicy` object, required
              - …
            - `createdAt` string, required
            - `fields` object[], required
              - …
          - `node` object, required
            - `id` string, required
            - `parentId` string, required
            - `type` 'folder' | 'base' | 'skill' | 'drive' | 'airapp' | 'file' | 'doc' | 'form' | 'whiteboard' | 'workflow' | 'html', required
            - `slug` string, required
            - `name` string, required
            - `description` string, required
            - `metadata` object
              - …
            - `settings` object
              - …
            - `explicitVisibility` 'private' | 'workspace' | 'public'
            - `icon` union
              - …
            - `position` number, required
            - `createdAt` string, required
            - `updatedAt` string, required
            - `baseId` string, required
            - `children` object[], required
              - …
            - `hasChildren` boolean
            - `shared` boolean
            - `sharedViaAncestor` boolean
          - `operations` object[], required
            - `id` string, required
            - `changeRequestId` string, required
            - `baseId` string, required
            - `targetType` 'base' | 'node', required
            - `nodeId` string, required
            - `operation` 'node_create' | 'node_rename' | 'node_delete' | 'node_restore' | 'node_move' | 'record_create' | 'record_update' | 'record_delete' | 'record_variant' | 'view_create' | 'view_update' | 'view_delete' | 'view_restore' | 'base_add_field' | 'base_delete_field' | 'base_update_field' | 'base_convert_field' | 'base_reorder_fields' | 'base_restore_field' | 'base_archive' | 'base_restore' | 'record_restore' | 'skill_file_create' | 'skill_file_update' | 'skill_file_delete' | 'skill_metadata_update' | 'drive_file_create' | 'drive_file_update' | 'drive_file_delete' | 'drive_metadata_update' | 'airapp_file_create' | 'airapp_file_update' | 'airapp_file_delete' | 'airapp_metadata_update' | 'doc_update' | 'whiteboard_document_update' | 'workflow_document_update' | 'html_document_update', required
            - `status` 'pending' | 'merged' | 'archived' | 'failed', required
            - `targetRecordId` string, required
            - `targetViewId` string, required
            - `filePath` string, required
            - `sourceRecordId` string, required
            - `sourceCommitId` string, required
            - `baseCommitId` string, required
            - `headCommitId` string, required
            - `deleteMode` 'archive', required
            - `mergedRecordId` string, required
            - `mergedViewId` string, required
            - `position` number, required
            - `createdAt` string, required
            - `updatedAt` string, required
            - `headCommit` object, required
              - …
            - `baseFields` object, required
          - `primaryOperation` object, required
            - `id` string, required
            - `changeRequestId` string, required
            - `baseId` string, required
            - `targetType` 'base' | 'node', required
            - `nodeId` string, required
            - `operation` 'node_create' | 'node_rename' | 'node_delete' | 'node_restore' | 'node_move' | 'record_create' | 'record_update' | 'record_delete' | 'record_variant' | 'view_create' | 'view_update' | 'view_delete' | 'view_restore' | 'base_add_field' | 'base_delete_field' | 'base_update_field' | 'base_convert_field' | 'base_reorder_fields' | 'base_restore_field' | 'base_archive' | 'base_restore' | 'record_restore' | 'skill_file_create' | 'skill_file_update' | 'skill_file_delete' | 'skill_metadata_update' | 'drive_file_create' | 'drive_file_update' | 'drive_file_delete' | 'drive_metadata_update' | 'airapp_file_create' | 'airapp_file_update' | 'airapp_file_delete' | 'airapp_metadata_update' | 'doc_update' | 'whiteboard_document_update' | 'workflow_document_update' | 'html_document_update', required
            - `status` 'pending' | 'merged' | 'archived' | 'failed', required
            - `targetRecordId` string, required
            - `targetViewId` string, required
            - `filePath` string, required
            - `sourceRecordId` string, required
            - `sourceCommitId` string, required
            - `baseCommitId` string, required
            - `headCommitId` string, required
            - `deleteMode` 'archive', required
            - `mergedRecordId` string, required
            - `mergedViewId` string, required
            - `position` number, required
            - `createdAt` string, required
            - `updatedAt` string, required
            - `headCommit` object, required
              - …
            - `baseFields` object, required
          - `operationCount` number, required
          - `reviews` object[], required
            - `id` string, required
            - `changeRequestId` string, required
            - `reviewerId` string, required
            - `reviewer` object
              - …
            - `verdict` 'approved' | 'rejected', required
            - `reason` string, required
            - `visibleOperationHeads` object, required
            - `createdAt` string, required
      - object
        - `kind` unknown, required
        - `timestamp` string, required
        - `record` object, required
          - `id` string, required
          - `baseId` string, required
          - `headCommitId` string, required
          - `parentRecordId` string, required
          - `parentCommitId` string, required
          - `status` 'active' | 'archived', required
          - `createdBy` string, required
          - `createdByUser` object
            - `id` string, required
            - `name` string, required
            - `email` string, required
            - `image` string, required
            - `role` string
          - `fieldUsers` object
          - `archivedAt` string, required
          - `createdAt` string, required
          - `updatedAt` string, required
          - `base` object, required
            - `id` string, required
            - `nodeId` string, required
            - `slug` string, required
            - `name` string, required
            - `description` string, required
            - `reviewPolicy` object, required
              - …
            - `createdAt` string, required
            - `fields` object[], required
              - …
          - `headCommit` object, required
            - `id` string, required
            - `baseId` string, required
            - `targetType` 'base' | 'node', required
            - `nodeId` string, required
            - `operationId` string, required
            - `parentCommitId` string, required
            - `payload` object, required
            - `operation` 'node_create' | 'node_rename' | 'node_delete' | 'node_restore' | 'node_move' | 'record_create' | 'record_update' | 'record_delete' | 'record_variant' | 'view_create' | 'view_update' | 'view_delete' | 'view_restore' | 'base_add_field' | 'base_delete_field' | 'base_update_field' | 'base_convert_field' | 'base_reorder_fields' | 'base_restore_field' | 'base_archive' | 'base_restore' | 'record_restore' | 'skill_file_create' | 'skill_file_update' | 'skill_file_delete' | 'skill_metadata_update' | 'drive_file_create' | 'drive_file_update' | 'drive_file_delete' | 'drive_metadata_update' | 'airapp_file_create' | 'airapp_file_update' | 'airapp_file_delete' | 'airapp_metadata_update' | 'doc_update' | 'whiteboard_document_update' | 'workflow_document_update' | 'html_document_update', required
            - `message` string, required
            - `author` string, required
            - `authorUser` object
              - …
            - `createdAt` string, required
      - object
        - `kind` unknown, required
        - `timestamp` string, required
        - `auditEvent` object, required
          - `id` string, required
          - `action` 'record.viewed' | 'change_request.created' | 'change_request.updated' | 'change_request.deleted' | 'change_request.reviewed' | 'change_request.merged' | 'base.created' | 'field.created' | 'doc.created' | 'doc.updated' | 'file.created' | 'skill.created' | 'drive.created' | 'airapp.created' | 'asset.deleted' | 'asset.metadata_updated' | 'asset.text_written' | 'asset.text_marked_none' | 'node.metadata_updated' | 'node.settings_updated' | 'node.agent_prompts_updated' | 'node.purged', required
          - `actorId` string, required
          - `actor` object
            - `id` string, required
            - `name` string, required
            - `email` string, required
            - `image` string, required
            - `role` string
          - `sourceAttribution` object
            - `displayName` string, required
            - `ownerName` string, required
            - `channel` 'web_ui' | 'browser' | 'openapi' | 'sdk' | 'cli' | 'mcp' | 'skill' | 'webhook' | 'automation' | 'import', required
            - `playbook` object
              - …
          - `baseId` string, required
          - `recordId` string, required
          - `changeRequestId` string, required
          - `operationId` string, required
          - `commitId` string, required
          - `metadata` object, required
          - `createdAt` string, required
        - `record` object, required
          - `id` string, required
          - `baseId` string, required
          - `headCommitId` string, required
          - `parentRecordId` string, required
          - `parentCommitId` string, required
          - `status` 'active' | 'archived', required
          - `createdBy` string, required
          - `createdByUser` object
            - `id` string, required
            - `name` string, required
            - `email` string, required
            - `image` string, required
            - `role` string
          - `fieldUsers` object
          - `archivedAt` string, required
          - `createdAt` string, required
          - `updatedAt` string, required
          - `base` object, required
            - `id` string, required
            - `nodeId` string, required
            - `slug` string, required
            - `name` string, required
            - `description` string, required
            - `reviewPolicy` object, required
              - …
            - `createdAt` string, required
            - `fields` object[], required
              - …
          - `headCommit` object, required
            - `id` string, required
            - `baseId` string, required
            - `targetType` 'base' | 'node', required
            - `nodeId` string, required
            - `operationId` string, required
            - `parentCommitId` string, required
            - `payload` object, required
            - `operation` 'node_create' | 'node_rename' | 'node_delete' | 'node_restore' | 'node_move' | 'record_create' | 'record_update' | 'record_delete' | 'record_variant' | 'view_create' | 'view_update' | 'view_delete' | 'view_restore' | 'base_add_field' | 'base_delete_field' | 'base_update_field' | 'base_convert_field' | 'base_reorder_fields' | 'base_restore_field' | 'base_archive' | 'base_restore' | 'record_restore' | 'skill_file_create' | 'skill_file_update' | 'skill_file_delete' | 'skill_metadata_update' | 'drive_file_create' | 'drive_file_update' | 'drive_file_delete' | 'drive_metadata_update' | 'airapp_file_create' | 'airapp_file_update' | 'airapp_file_delete' | 'airapp_metadata_update' | 'doc_update' | 'whiteboard_document_update' | 'workflow_document_update' | 'html_document_update', required
            - `message` string, required
            - `author` string, required
            - `authorUser` object
              - …
            - `createdAt` string, required
  - `nextCursor` string, required

---

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