# Notification Center Use Cases

The following use cases are examples of using our Notification Center endpoints in a UI setting with a front-end user.

## Get User Notifications

All of these get user notification examples use this same GET endpoint, but each have a different filter applied.

These GET examples link to the user by the auth token.

**Endpoint**

GET /v2/notification_center/notifications
### Get Read Notifications Only

A user wants to browse their past notifications without cluttering their view with new ones.

Notifications
In this example, the UI may have a read / unread check-box to filter their notification list. This endpoint filter allows this.

* Front-End: A “View Read Notifications” button filters out unread ones.
* Back-End: A system logs which notifications users engage with for analytics.


**Example Request**


```
`GET /notificationcenter/notifications?filter.read=true`
```

### Get Unread Notifications Only

A user only wants to see notifications they haven’t checked yet when selecting their notification icon.

Notifications
* Front-End: A badge counter shows only unread notifications.
* Back-End: An auto-reminder service fetches unread notifications to re-alert the user.


**Example Request**


```

`GET /notificationcenter/notifications?filter.unread=true`
```

### Get Notifications That Require Action Only

A user, such as a line-manager needs to respond to notifications that require input (e.g., confirming an order, approving PTO request, etc.).

Notifications
* Front-End: A separate “Needs Action” tab helps users quickly respond.
* Back-End: An automation checks pending notifications and triggers reminder emails.


**Example Request**


```

`GET /notificationcenter/notifications?filter.action_required=true`
```

### Get Important Notifications Only

Campaigns can be marked as important by the content creator or publisher (refer to this article). A user wants to see these important campaigns only.

Image with dimensions
* Front-End: A “Show Important Only” toggle highlights urgent notifications.
* Back-End: A system monitors high-priority alerts for customer service escalation.


**Example Request**


```

`GET /notificationcenter/notifications?filter.important=true`
```

## User Activity

The Notification Center also offers users to place to find their interactions with other users on the platform.

Activity types:

* @mentions in post
* Views on your posts (for both Studio content and user-generated content that you’ve published and set yourself as the author for)
* Third-party integration activity
* Likes on your comments
* Likes on your comment replies
* Replies to your comments
* Comments on your posts
* Likes on your posts
* @mentions in comments


### Get Activity Notifications Only

A user wants to browse their activity without cluttering their view.

Image with dimensions
* Front-End: An “Activity” tab filters out Messages.
* Back-End: A system logs which acitivity notifications users engage with for analytics.


**Endpoint**

GET /v2/notification_center/notifications
**Example Request**


```
`GET /notificationcenter/notifications?filter.activity=true`
```

## Notification Count

The total notification count uses a separate endpoint.

blurb re why this is good.

### Get Notification Count Only

Display the total count of notifications with a bell icon in your application.

* Front-End: Responsive updates for users to see their total number of notifications.
* Back-End: Getting this total count without the actual notifications reduces API payload size.


**Endpoint**

GET /v2/notification_center/total_count
**Example Request**


```
`GET /notificationcenter/notifications?filter.activity=true`
```

### Mark Notification as Read

A user opens the Notification Center and clicks on a notification. Next time the user opens the Notification Center, that notification is marked as read.

1. User clicks on Notification Center. Their notifications are listed. This sends a `GET` request to list their notifications.
2. The user clicks on a notification in the front-end UI. Clicking this notification passes the `"notification_id"`.
3. A `PUT` request is sent to update the notification as read.


**Endpoint**

PUT /v2/notification_center/notifications/{notification_id}/read
**Example Request**


```
`PUT /notification_center/notifications/1/read
Authorization: Bearer <auth_token>
Content-Type: application/json`
```

**Example Response**


```
`  "message": "Notification marked as read",
  "notification_id": 1,
  "acknowledged": true`
```