REST /api/v1/notification-filters 5 endpoints
GET /api/v1/notification-filters/api/v1/notification-filters

List all saved notification filter configurations

Public

Response Example

{
  "data": [
    {
      "id": "filter_coord_001",
      "user_id": "user_coord_abc",
      "role": "coordinator",
      "filter_name": "Coordinator default",
      "query_filter": {
        "visible_types": [
          "team_update",
          "task_assigned",
          "peer_mention"
        ],
        "include_peer_mentor_ids": [
          "user_pm_001",
          "user_pm_002"
        ]
      },
      "is_active": true
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1
  }
}
GET /api/v1/notification-filters/api/v1/notification-filters/:id

Get a specific notification filter configuration

Public

Response Example

{
  "id": "filter_coord_001",
  "user_id": "user_coord_abc",
  "role": "coordinator",
  "filter_name": "Coordinator default",
  "query_filter": {
    "visible_types": [
      "team_update",
      "task_assigned",
      "peer_mention"
    ],
    "include_peer_mentor_ids": [
      "user_pm_001",
      "user_pm_002"
    ]
  },
  "is_active": true,
  "created_at": "2026-02-01T08:00:00Z"
}
POST /api/v1/notification-filters/api/v1/notification-filters

Create a role-aware filter configuration for a user

Public

Request Example

{
  "user_id": "user_pm_007",
  "role": "peer_mentor",
  "filter_name": "Peer mentor focus filter",
  "query_filter": {
    "visible_types": [
      "goal_update",
      "check_in_reminder",
      "peer_mention"
    ],
    "exclude_types": [
      "admin_announcement"
    ]
  },
  "is_active": true
}

Response Example

{
  "id": "filter_pm_007",
  "user_id": "user_pm_007",
  "role": "peer_mentor",
  "filter_name": "Peer mentor focus filter",
  "query_filter": {
    "visible_types": [
      "goal_update",
      "check_in_reminder",
      "peer_mention"
    ],
    "exclude_types": [
      "admin_announcement"
    ]
  },
  "is_active": true,
  "created_at": "2026-03-26T10:30:00Z"
}
PUT /api/v1/notification-filters/api/v1/notification-filters/:id

Update an existing notification filter configuration

Public

Request Example

{
  "query_filter": {
    "visible_types": [
      "goal_update",
      "check_in_reminder",
      "peer_mention",
      "badge_earned"
    ],
    "exclude_types": []
  }
}

Response Example

{
  "id": "filter_pm_007",
  "user_id": "user_pm_007",
  "role": "peer_mentor",
  "filter_name": "Peer mentor focus filter",
  "query_filter": {
    "visible_types": [
      "goal_update",
      "check_in_reminder",
      "peer_mention",
      "badge_earned"
    ],
    "exclude_types": []
  },
  "is_active": true,
  "updated_at": "2026-03-26T11:00:00Z"
}
DELETE /api/v1/notification-filters/api/v1/notification-filters/:id

Delete a notification filter configuration

Public

Response Example

{
  "success": true,
  "deleted_id": "filter_pm_007"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}