Skip to content

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

ActionRequired PermissionScope
ListAuthentication onlyYour notifications
Mark as read/unreadNotifications: UpdateYour notifications
DeleteNotifications: DeleteYour notifications

Admins bypass all permission checks.

Endpoints

MethodEndpointDescription
GET/api/notificationsList your notifications
POST/api/notifications/bulk-readMark notifications as read
POST/api/notifications/bulk-unreadMark notifications as unread
POST/api/notifications/bulk-deleteDelete 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

FieldTypeRequiredDescription
notification_idsinteger[]YesNotification 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

ValueTypeDescription
1AssignmentYou were assigned to an issue
2CommentSomeone commented on an issue you're involved with
3Lane ChangeAn issue you're involved with changed status
4MentionYou were @mentioned in a comment

See Also