Notifications and activity
Read and mark the dashboard's notifications, and a project's activity feed.
A key limited to one project sees only that project's notifications and activity. A whole-account key sees all of yours.
Notifications
GET
/account/notificationsWhat the dashboard's bell shows, newest first.
Prop
Type
curl "https://api.helipod.io/api/account/notifications?unreadOnly=true" \
-H "Authorization: Bearer hel_your_key"{
"success": true,
"data": [
{
"id": "8d7c6b5a-4f3e-4d2c-9b1a-0f9e8d7c6b5a",
"type": "DEPLOYMENT_FAILED",
"title": "Deploy failed",
"message": "The build of api failed. Open the build logs to see why.",
"link": "/project/3b0cd5ac-ac26-4012-9b28-17466f73788c",
"isRead": false,
"readAt": null,
"createdAt": "2026-10-16T09:12:03.000Z",
"projectId": "3b0cd5ac-ac26-4012-9b28-17466f73788c",
"environmentId": "e1d4a0f2-6c11-4a9e-8a0e-5f2b7d1c9a33"
}
]
}link is a path in the dashboard, or null. projectId and environmentId are null for account notifications.
GET
/account/notifications/unread-count{ "count": 3 }POST
/account/notifications/{notificationId}/readMarks one as read:
{ "id": "...", "isRead": true }, or 404 NOTIFICATION_NOT_FOUND.POST
/account/notifications/read-allMarks every unread notification the key can see as read:
{ "marked": 5 }.Project activity
GET
/account/projects/{projectId}/activityWho did what in a project, newest first.
Prop
Type
{
"success": true,
"data": [
{
"id": "1b2c3d4e-5f6a-4b7c-8d9e-0f1a2b3c4d5e",
"action": "pod.reactivated",
"entityType": "pod",
"entityId": "9a8b7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d",
"entityName": "api",
"actor": "system",
"byKeyOwner": false,
"environmentId": "e1d4a0f2-6c11-4a9e-8a0e-5f2b7d1c9a33",
"createdAt": "2026-10-16T00:31:00.000Z"
}
]
}actor is user or system (Helipod itself, for example a nightly renewal). byKeyOwner is true when the user was you. Other people are not named. A project the key can't reach answers 404 PROJECT_NOT_FOUND.