---
schema: rendered-html/v1
title: "Operations with Specific ActivityCursorPage | Developer Portal for YouTrack and Hub Documentation"
source_url: https://www.jetbrains.com/help/youtrack/devportal/operations-api-issues-issueID-activitiesPage.html
generated_at: 2026-06-11T15:06:43.043373+00:00
---

Feedback

Thanks for your feedback!

Was this page helpful?

YesNo

Developer Portal for YouTrack and Hub

- Developer Portal
- Apps
- MCP Tools
- YouTrack Workflows
- YouTrack Import Scripts
- YouTrack Form API
- YouTrack REST API
- Get Started with REST API
- REST API Reference
- Entities
- Resources
- Activity Items
- Issue Activities Page
- Build Bundles
- Enum Bundles
- Owned Bundles
- State Bundles
- User Bundles
- Version Bundles
- Custom Fields
- Field Types
- Backup Files
- Database Backup Settings
- Global Settings
- Organizations
- Projects
- Telemetry data
- Global Time Tracking Settings
- Agiles
- Articles
- Assigned Roles
- Commands
- Command Suggestions
- User Groups
- Issue Link Types
- Issue Tag
- Issues
- Operations with Specific Issue
- Sub-resources
- Issue Activity Items
- Activity Cursor Page
- [Operations with Specific ActivityCursorPage](operations-api-issues-issueID-activitiesPage.html)
- Issue Attachments
- Issue Comments
- Issue Custom Fields
- Issue Links
- Issue Project
- Issue Sprints
- Tags
- Issue Time Tracking
- Issue VCS Changes and Pull Requests
- Issue Count
- Permissions
- Roles
- Saved Queries
- Search Suggestions
- Tags
- Users
- My User Profile
- Issue Work Items
- REST API Use Cases
- REST API Troubleshooting
- Color Indices List
- Hub REST API

1. YouTrack REST API
2. REST API Reference
3. Resources
4. Issues
5. [Sub-resources](#0)
6. Activity Cursor Page
7. [Operations with Specific ActivityCursorPage](#0)

# Operations with Specific ActivityCursorPage﻿

Last modified: 24 March 2026

This resource provides access to the issue activities wrapping it to the page object. The main advantage of the page in comparison to a list of activities is cursors. The page provides boundary marks that allows continuing iteration over the activities from the place the page is finished.

| Resource | ``` /api/issues/{issueID}/activitiesPage ``` |
| --- | --- |
| Returned entity | ActivityCursorPage. For the description of the entity attributes, see [Supported Fields](/help/youtrack/devportal/operations-api-issues-issueID-activitiesPage.html#ActivityCursorPage-supported-fields) section. |
| Supported methods | - `GET`: [Read a Specific ActivityCursorPage](/help/youtrack/devportal/operations-api-issues-issueID-activitiesPage.html#get-ActivityCursorPage-method). |

## ActivityCursorPage attributes﻿

Represents a page object that wraps a list of issue activities. The main advantage of the page in comparison to a list of activities is cursors. The page provides boundary marks that allow continuous iteration over the activities from the place the page is finished.

### Related Resources﻿

Below you can find the list of resources that let you work with this entity.

- Activity Page
- Issue Activity Page

### Attributes﻿

This table describes attributes of the `ActivityCursorPage` entity.


| --- | --- | --- |
| id | String | The ID of the activity cursor page. `Read-only`. |
| activities | Array of ActivityItems | The list of activities in the page. `Read-only`. |
| afterCursor | String | A string value that is required to retrieve the next page of activities. `Read-only`. |
| beforeCursor | String | A string value that is required to retrieve the previous page of activities. `Read-only`. |
| hasAfter | Boolean | Indicates if the next page exists. `Read-only`. |
| hasBefore | Boolean | Indicates if the previous page exists. `Read-only`. |
| reverse | Boolean | Indicates whether the order of returning activities on the page is from newest to oldest or the opposite. If `false`, then the oldest activity item that matches a selected filter is returned first. If `true`, then the newest activity is returned first. By default, `false`. `Read-only`. |

## Read a Specific ActivityCursorPage﻿

Read a page of activities in the specific issue.

### Request syntax﻿

GET /api/issues/{issueID}/activitiesPage?{fields}&{categories}&{reverse}&{start}&{end}&{author}&{cursor}&{activityId}

| null | The database ID of ActivityCursorPage |
| --- | --- |

### Request parameters﻿

| Parameter | Type | Description |
| --- | --- | --- |
| fields | String | A list of ActivityCursorPage attributes that should be returned in the response. If no field is specified, only the `entityID` is returned. |
| categories | String | Mandatory. Parameter filters returned activities by categories. You must specify at least one category per request.  You can specify the `categories` query parameter in either of these formats:   - `categories=IssueCreatedCategory&categories=CommentsCategory` - `categories=IssueCreatedCategory,CommentsCategory`   See this table for mapping between available categories and returned types of activity items. |
| reverse | Boolean | Indicates whether the order of returning activities is from newest to oldest or the opposite. If `false`, then the oldest activity item that matches a selected filter is returned first. If `true`, then the newest activity is returned first. By default, `false`. |
| start | String | The timestamp in milliseconds indicating the start of the time interval the activity timestamp belongs to. Stored as a unix timestamp at UTC. If the parameter is not set, it is considered to be 0. |
| end | String | The timestamp in milliseconds indicating the end of the time interval the activity timestamp belongs to. Stored as a unix timestamp at UTC. If the parameter is not set, it is considered as `Long.MAX_VALUE`. |
| author | String | Parameter to filter activities by the author. You can specify one of the following parameters: the database ID, login, Hub ID, or `me` for the currently logged in user. |
| cursor | String | The main application for cursors is the pagination of activities. The `Activities` is a frequently changing collection, and new activities might be created between two consecutive requests. The general pagination method with `$top` and `$skip` parameters does not work in this case. Instead, use the following pagination approach:   1. Request a page using one of the `activitiesPage` resources. 2. Take one of the cursors from the returned activity page. 3. Put this value as the `cursor` parameter for the request of the next page.   If the `cursor` is not specified in the request, the response page starts either from the oldest activity or the newest one, depending on the requested order (direct or reverse).  Use case:  Let's consider the following statements as initial conditions for the example:   - There is a collection of four activity items: A, B, C, and D. - A request has been made that returned a page containing only 1 item: [B].   The following JSON presents the mentioned page (see: ActivityCursorPage):  ``` {     "activities": [B]     "cursorBefore": "A^B" // the value differs from the real one and is only used for the demonstration     "cursorAfter": "B^C" // the value differs from the real one and is only used for the demonstration     "hasBefore": true     "hasAfter": true     "reverse": false } ```  A request to the following endpoint could receive such a page:  ``` /api/activitiesPage?activityId=B&$top=1 ```  The real value of the cursor is a complication string. Used notation "A^B" shows that the cursor points to the gap between items A and B.  To request nearby pages of activities, we can use the cursors of the received page and request the page starting from the cursor to different directions. The following combinations are possible:   - Request `/api/activitiesPage?$top=100&cursor=A^B&reverse=false` returns a page with [B, C, D] items. - Request `/api/activitiesPage?$top=100&cursor=A^B&reverse=true` returns a page with [A] item. - Request `/api/activitiesPage?$top=100&cursor=B^C&reverse=false` returns a page with [C, D] items. - Request `/api/activitiesPage?$top=100&cursor=B^C&reverse=true` returns a page with [B, A] items. |
| activityId | String | ID of the activity that should be included in the page. The activity is allocated to the middle of the page. |

### Sample﻿

#### Sample request﻿

https://example.youtrack.cloud/api/issues/2-31/activitiesPage?fields=id,beforeCursor,afterCursor,activities(id,author(name,login),timestamp)&categories=CommentsCategory,IssueCreatedCategory,SummaryCategory,WorkItemCategory,ProjectCategory,IssueVisibilityCategory,AttachmentsCategory

#### Sample response body﻿

{
  "afterCursor": "AI.2-31+:CM.4-2+:TT.^+:RH.9-61+:1535649875680",
  "beforeCursor": "AI.^+:CM.^+:TT.^+:RH.^+:1533139032010",
  "activities": [
    {
      "id": "2-31.0-0",
      "author": {
        "login": "john.doe",
        "name": "John Doe",
        "$type": "User"
      },
      "timestamp": 1533139032010,
      "$type": "IssueCreatedActivityItem"
    },
    {
      "id": "4-0.0-0",
      "author": {
        "login": "jane.doe",
        "name": "Jane Doe",
        "$type": "User"
      },
      "timestamp": 1533214812208,
      "$type": "CommentActivityItem"
    },
    {
      "id": "4-2.0-0",
      "author": {
        "login": "john.doe",
        "name": "John Doe",
        "$type": "User"
      },
      "timestamp": 1533221614364,
      "$type": "CommentActivityItem"
    },
    {
      "author": {
        "login": "john.doe",
        "name": "John Doe",
        "$type": "User"
      },
      "timestamp": 1535649875680,
      "id": "0-0.9-60",
      "$type": "SimpleValueActivityItem"
    },
    {
      "author": {
        "login": "john.doe",
        "name": "John Doe",
        "$type": "User"
      },
      "timestamp": 1535649875680,
      "id": "0-0.9-61",
      "$type": "VisibilityGroupActivityItem"
    }
  ],
  "id": "AI.^+:CM.^+:TT.^+:RH.^+:1533139032010#AI.2-31+:CM.4-2+:TT.^+:RH.9-61+:1535649875680.d",
  "$type": "ActivityCursorPage"
}

- [Operations with Specific ActivityCursorPage](/help/youtrack/devportal/operations-api-issues-issueID-activitiesPage.html)
- [ActivityCursorPage attributes](/help/youtrack/devportal/operations-api-issues-issueID-activitiesPage.html#ActivityCursorPage-supported-fields)
- [Read a Specific ActivityCursorPage](/help/youtrack/devportal/operations-api-issues-issueID-activitiesPage.html#get-ActivityCursorPage-method)

Activity Cursor PageIssue Attachments

- Privacy & Security
- Terms Of Use
- Trademarks
- Legal

Copyright © 2000–2026 JetBrains s.r.o.
