Lists a project's activity timeline — notes and lifecycle/activity events — with cursor-based pagination, newest first.
The project timeline mirrors what the broker sees in-app. With include_rollups=true
(the default) it interleaves three streams — the project's own notes/lifecycle events,
its prospects' activity, and its Case Rooms' activity — into one chronological feed; each
rolled-up entry carries a subject (prospect or room) so you can tell
where it came from. The project's own note rows include an etag for
PATCH /api/v1/projects/{id}/notes/{noteId}. Note rows are mutable
(archive / supersede). Audit rows record events and are not edited, except a prospect's
follow-up tasks, task completions and manual stage corrections, which are taken back through
that prospect's task and stage-override endpoints. The same dual-visibility rules that gate
the in-app timeline gate this read — the API is never broader than the UI.
Path Parameters
- Type: stringidrequired
Project ID
Query Parameters
- Type: stringcursor
Opaque cursor token from a previous response for pagination.
- Type: integer | stringFormat: int32page
_size Signed 32-bit integers (commonly used integer type).
- Type: stringtype
Filter by action type:
all(default),notes(news items included),news,chat,audit,tasks. - Type: booleaninclude
_rollups Interleave the project's prospect and Case Room activity into the timeline (each rolled-up row carries a subject). Default true; set false for the project's own notes and events only.
- Type: booleaninclude
_archived Include archived notes (rows with archivedAt set) in the response. Default false hides them. Archived predecessors of a supersede chain are still hidden unless include_superseded is also set.
- Type: booleaninclude
_superseded Include superseded predecessor notes (notes that have been replaced by a newer revision) in the response. Default false returns only the active head of each supersede chain.
Responses
- application/json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
curl 'https://app.propstreet.com/api/v1/projects/{id}/actions?type=all&include_rollups=true&include_archived=false&include_superseded=false' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
"data": [
{
"id": "string",
"type": "string",
"event": null,
"subject": {
"type": "string",
"id": "string",
"name": null
},
"timestampUtc": "2026-10-16T16:23:10.050Z",
"user": {
"id": "string",
"name": "string"
},
"details": {
"kind": "note",
"message": "string",
"noteType": null,
"contentFormat": null,
"file": {
"id": "string",
"fileName": "string",
"url": null
},
"archivedAt": null,
"supersedesActivityId": null,
"supersededByActivityId": null
},
"etag": null,
"cursor": "string"
}
],
"page": {
"nextCursor": null,
"pageSize": 1,
"hasMore": true
}
}