Developers · GraphQL
Activity-Feeds Queries
Last updated 1 November 2026
The four GraphQL queries that read activity feeds, with their arguments and a worked example.
Four queries read activity feeds: activities, streams, feeds and handlers. Use streams to show one feed to a person, activities to load specific activities, and the other two to see how an instance is set up. For the overall model, see Activity feeds overview.
streams
Returns the activities of one feed, newest entries as the feed holds them, with the number of unread activities.
| Argument | Type | Default | Meaning |
|---|---|---|---|
feed_type | String! | The feed type, often the type of the owning object | |
feed_id | ID | The owner id within the type. Give this or feed_name | |
feed_name | String | Deprecated. Use feed_id | |
reset_last_read | Boolean | true | Marks the feed as read, so the unread count resets |
page | Int | 1 | Page number, starting at 1 |
per_page | Int | 20 | Results per page, greater than 0 |
The result has results, unread_count and the paging fields current_page, per_page, total_entries, total_pages, has_next_page and has_previous_page. Each result has id, uuid and payload.
Query
{
streams(feed_type: "User", feed_id: "1", per_page: 5, reset_last_read: false) {
total_entries
unread_count
results { uuid }
}
}Response on the docs instance
{
"data": {
"streams": {
"total_entries": 0,
"unread_count": 0,
"results": []
}
}
}activities
Returns activities by id or UUID. With uuids, results come back in the order you gave them.
| Argument | Type | Default | Meaning |
|---|---|---|---|
ids | [ID] | Only these ids | |
uuids | [String] | Only these UUIDs | |
sort | [ActivitiesSortInput!] | Sort by id, created_at or updated_at | |
page | Int | 1 | Page number |
per_page | Int | 20 | Results per page |
{
activities(per_page: 5, sort: [{ created_at: { order: DESC } }]) {
total_entries
results { id uuid payload }
}
}feeds
Takes no arguments. Returns each feed type as name with the ids of its feeds.
handlers
Takes page and per_page. Each handler has id, name, a filter an activity must match, and the targets it is delivered to.
Every query on this page ran read-only on the docs.insites.io instance on 1 November 2026. That instance has no activities, so each returned zero results.
Common mistakes
- Leaving out
reset_last_read: falsewhen you only want to look. The default clears the unread count. - Passing neither
feed_idnorfeed_nametostreams. One of them is required. - Setting
per_pageto 0. It must be greater than 0. - Expecting a newly created activity in a feed before it is published.