Appearance
Notifications API
Notifications alert you when someone assigns you to an issue, comments on your issue, mentions you, or moves an issue you're involved with. All endpoints are scoped to the authenticated user's own notifications.
Permissions
| Action | Required Permission | Scope |
|---|---|---|
| List | Authentication only | Your notifications |
| Mark as read/unread | Notifications: Update | Your notifications |
| Delete | Notifications: Delete | Your notifications |
Admins bypass all permission checks.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /api/notifications | List your notifications |
POST | /api/notifications/bulk-read | Mark notifications as read |
POST | /api/notifications/bulk-unread | Mark notifications as unread |
POST | /api/notifications/bulk-delete | Delete notifications |
List Notifications
GET /api/notifications
bash
curl https://{tenant}.kendo.dev/api/notifications \
-H "Authorization: Bearer your-token"json
[
{
"id": 15,
"type": 1,
"message": "Alice Johnson assigned you to KD-0042",
"read_at": null,
"created_at": "2026-03-13T14:00:00.000000Z",
"actor": {
"id": 4,
"first_name": "Alice",
"last_name": "Johnson",
"profile_picture": "alice-johnson-abc123.jpg"
},
"issue": {
"id": 42,
"key": "KD-0042",
"title": "Add pagination to issue list",
"project_id": 1
}
},
{
"id": 12,
"type": 2,
"message": "Carol Davis commented on KD-0038",
"read_at": "2026-03-12T16:30:00.000000Z",
"created_at": "2026-03-12T15:45:00.000000Z",
"actor": {
"id": 9,
"first_name": "Carol",
"last_name": "Davis",
"profile_picture": null
},
"issue": {
"id": 38,
"key": "KD-0038",
"title": "Fix password change validation",
"project_id": 1
}
}
]A read_at value of null means the notification is unread.
The actor field is null if the user who triggered the notification has been deleted.
Mark as Read
POST /api/notifications/bulk-read
Request Fields
| Field | Type | Required | Description |
|---|---|---|---|
notification_ids | integer[] | Yes | Notification IDs to mark as read (min 1). Must belong to the authenticated user. |
Returns 204 No Content on success.
bash
curl -X POST https://{tenant}.kendo.dev/api/notifications/bulk-read \
-H "Authorization: Bearer your-token" \
-H "Content-Type: application/json" \
-d '{
"notification_ids": [12, 15]
}'Mark as Unread
POST /api/notifications/bulk-unread
Same request body as Mark as Read. Returns 204 No Content on success.
bash
curl -X POST https://{tenant}.kendo.dev/api/notifications/bulk-unread \
-H "Authorization: Bearer your-token" \
-H "Content-Type: application/json" \
-d '{
"notification_ids": [12]
}'Bulk Delete
POST /api/notifications/bulk-delete
Same request body as Mark as Read. Returns 204 No Content on success.
bash
curl -X POST https://{tenant}.kendo.dev/api/notifications/bulk-delete \
-H "Authorization: Bearer your-token" \
-H "Content-Type: application/json" \
-d '{
"notification_ids": [15]
}'Notification Types
| Value | Type | Description |
|---|---|---|
1 | Assignment | You were assigned to an issue |
2 | Comment | Someone commented on an issue you're involved with |
3 | Lane Change | An issue you're involved with changed status |
4 | Mention | You were @mentioned in a comment |
See Also
- Issues API — Issues that notifications reference
- Comments API — Comments that trigger notifications