Notifications
Notifications inform users about activity on records, tasks, and workspaces they're involved in.
Personal API keys only — all notification endpoints require a personal API key (il_user_).
List notifications
POST /api/notifications/list
Request body
| Field | Type | Notes |
|---|---|---|
filter |
string | all (default) or unread |
limit |
int | Default 50, max 200 |
offset |
int | Default 0 |
Response
Returns an array of notification objects:
| Field | Type | Notes |
|---|---|---|
id |
int | Notification ID |
user_id |
int | Recipient user ID |
actor_user_id |
int|null | User who triggered the notification |
account_id |
int | Account ID |
space_id |
int|null | Workspace ID |
table_id |
int|null | Table ID |
record_id |
int|null | Record ID |
task_id |
int|null | Task ID |
event_type |
string | e.g. TASK_ASSIGNED, RECORD_COMMENT, etc. |
message |
string | Human-readable notification text |
url |
string|null | Deep link into the app |
summary |
string|null | Short summary text |
import_ref |
string|null | External reference from import |
seen_at |
string|null | ISO timestamp — set when loaded into UI |
read_at |
string|null | ISO timestamp — set when explicitly marked read |
created_at |
string | ISO timestamp |
Returned notifications are automatically marked as "seen" (but not "read").
Unread count
POST /api/notifications/unreadCount
Returns {"unread": <n>, "tasksDue": <n>}.
Mark read / unread
POST /api/notifications/<id>/markRead
POST /api/notifications/<id>/markUnread
Returns {"id": <id>, "read": true} or {"id": <id>, "read": false}.
Mark all read
POST /api/notifications/markAllRead
Returns {"ok": true}.