---
title: "List Notifications"
method: GET
path: "/notifications"
tags: ["Notifications", "notifications"]
---

# List Notifications

`GET /notifications`

## Request

- Base URL: `https://api.jubjubapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.jubjubapp.com/notifications`
- Auth: HTTP bearer

List notifications for the authenticated user.

**Query Parameters:**
- `type`: Filter by notification type (e.g., "team_invite", "launch_success")
- `read`: Filter by read status (true/false)
- `limit`: Maximum number of notifications to return (1-100, default 50)
- `offset`: Number of notifications to skip for pagination (default 0)

**Returns:**
- List of notifications with pagination info
- Total count of matching notifications
- Unread count

## Query parameters

- `type` string, nullable: Filter by notification type
- `category` string, nullable: Filter by taxonomy category (invites/teams/publishing/social/alerts/system)
- `read` boolean, nullable: Filter by read status
- `limit` integer: Maximum notifications to return
- `offset` integer: Number of notifications to skip

## Headers

- `Authorization` string
- `X-JubJub-Service-Key` string
- `X-JubJub-Agent-Key` string
- `X-JubJub-Platform-Key` string
- `Origin` string
- `Referer` string
- `X-JubJub-Trial-Token` string

## Response `200`

Successful Response

- NotificationListResponse: Response model for listing notifications.
  - `notifications` NotificationResponse[], required
    - `type` 'team_invite' | 'team_invite_accepted' | 'team_invite_rejected' | 'team_member_joined' | 'team_member_left' | 'team_member_removed' | 'team_role_changed' | 'team_deleted' | 'team_ownership_transferred' | 'team_split_pending_released' | 'team_split_piece_moved' | 'team_credential_shared' | 'team_credential_revoked' | 'team_insights_used' | 'shared_connection_used' | 'launch_stopped' | 'team_workspace_linked' | 'team_workspace_unlinked' | 'collection_invite' | 'collection_shared' | 'launch_success' | 'launch_failed' | 'launch_scheduled' | 'launch_completed' | 'schedule_reminder' | 'schedule_completed' | 'schedule_failed' | 'system_maintenance' | 'system_update' | 'system_alert' | 'add_email' | 'mention' | 'comment' | 'error_platform_auth' | 'error_storage_quota' | 'error_processing' | 'error_ai_credential' | 'credential_expiring' | 'credential_expired' | 'agent_pr_ready' | 'agent_fix_failed' | 'agent_budget_warning' | 'agent_budget_exceeded' | 'agent_large_job_pending' | 'agent_error' | 'status_investigating' | 'status_resolved' | 'approval_requested' | 'approval_approved' | 'approval_rejected' | 'launch_approved' | 'approval_rights_granted' | 'approval_rights_revoked' | 'workspace_ownership_transferred' | 'approval_invalidated' | 'content_held_for_review' | 'content_hold_released' | 'rights_claim_filed' | 'rights_claim_resolved' | 'content_awaiting_approval' | 'content_approved' | 'content_changes_requested' | 'comment_thread_resolved', required: Types of notifications supported by the system. Easily extensible - just add new values here.
    - `title` string, required
    - `message` string, required
    - `data` object
    - `notification_id` string, required
    - `recipient_profileId` string, required
    - `sender_profileId` string, nullable
    - `read` boolean
    - `action_taken` boolean
    - `created_at` string, required
    - `expires_at` string, nullable
    - `sender` object, nullable
  - `total` integer, required
  - `unread_count` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/jubjubapp/apis/jubjub-api.md) - [All operations](https://skmtc.dev/jubjubapp/apis/jubjub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jubjubapp/apis/jubjub-api/revisions/353157b296f2?raw)
