# Notifications

This page lists every notification that `stream-chat` and `stream-chat-react` publish, by type. Match on `type` to translate a notification, filter it, or show it somewhere of your own. How notifications are published and what they carry is on [Publishing notifications](https://getstream.io/chat/docs/sdk/react/state/publishing-notifications/). How the React components show them is on [Notifications UI](https://getstream.io/chat/docs/sdk/react/ui/components/notifications-ui/).

Types follow the pattern `domain:entity:operation:result`, explained in [Notification types](https://getstream.io/chat/docs/sdk/react/state/publishing-notifications/#notification-types). A notification's `origin.emitter` names the object or component that published it.

## stream-chat

Every type below is in `CORE_NOTIFICATION_TYPE`.

| Type                                       | Severity | `origin.emitter`                          | When                                                                                   |
| ------------------------------------------ | -------- | ----------------------------------------- | -------------------------------------------------------------------------------------- |
| `api:attachment:upload:failed`             | error    | `AttachmentManager`                       | An upload request failed. Not for an upload the user cancelled.                        |
| `validation:attachment:upload:blocked`     | error    | `AttachmentManager`                       | The app's upload settings refused a file. `metadata.reason` says which setting.        |
| `validation:attachment:file:missing`       | error    | `AttachmentManager`                       | An attachment to upload had no file.                                                   |
| `validation:attachment:id:missing`         | error    | `AttachmentManager`                       | An attachment to upload had no local id.                                               |
| `validation:attachment:upload:in-progress` | warning  | `MessageComposer`                         | A message was sent while an upload was running, with pending uploads off.              |
| `validation:command:disabled`              | warning  | `MessageComposer`                         | A command was used while editing a message, or a moderation command while quoting one. |
| `validation:command:not-ready`             | warning  | `MessageComposer`                         | A command was sent without what it needs, such as `/ban` without a user.               |
| `api:message:send:failed`                  | error    | `MessageComposer`                         | `MessageComposer.send()` failed. The message stays in the list, marked `failed`.       |
| `api:message:update:failed`                | error    | `MessageComposer`                         | `MessageComposer.update()` failed. The edit stays on the message, marked `failed`.     |
| `api:poll:create:failed`                   | error    | `MessageComposer`                         | `MessageComposer.createPoll()` failed.                                                 |
| `api:location:create:failed`               | error    | `MessageComposer`                         | `MessageComposer.sendLocation()` failed.                                               |
| `api:message:jump:failed`                  | error    | `MessagePaginator.jumpToMessage`          | Jumping to a message failed.                                                           |
| `api:message:jumpToLatest:failed`          | error    | `MessagePaginator.jumpToTheLatestMessage` | Jumping to the latest message failed.                                                  |
| `validation:poll:castVote:limit`           | info     | `Poll`                                    | A vote was cast in a poll where the user has used all their votes.                     |

## stream-chat-react

A type ending in `success` has the severity `success`, and one ending in `failed` the severity `error`, unless the table says otherwise. Where a type has more than one emitter, each of those components publishes it.

### Messages

| Type                                                                                | `origin.emitter`                        | When                                                                       |
| ----------------------------------------------------------------------------------- | --------------------------------------- | -------------------------------------------------------------------------- |
| `api:message:delete:success`, `api:message:delete:failed`                           | `MessageActions`                        | The message action deleted a message, or failed to.                        |
| `api:message:flag:success`, `api:message:flag:failed`                               | `MessageActions`                        | The message action flagged a message, or failed to.                        |
| `api:message:markUnread:success`, `api:message:markUnread:failed`                   | `MessageActions`                        | The message action marked the channel unread from a message, or failed to. |
| `api:message:pin:success`, `api:message:pin:failed`                                 | `MessageActions`                        | The message action pinned a message, or failed to.                         |
| `api:message:unpin:success`, `api:message:unpin:failed`                             | `MessageActions`                        | The message action unpinned a message, or failed to.                       |
| `api:message:reminder:set:success`, `api:message:reminder:set:failed`               | `MessageActions`                        | The Remind me submenu set a reminder, or failed to.                        |
| `api:message:reminder:delete:success`, `api:message:reminder:delete:failed`         | `MessageActions`                        | The Remind me action removed a reminder, or failed to.                     |
| `api:message:saveForLater:create:success`, `api:message:saveForLater:create:failed` | `MessageActions`                        | Save for later saved a message, or failed to.                              |
| `api:message:saveForLater:delete:success`, `api:message:saveForLater:delete:failed` | `MessageActions`                        | Save for later removed a saved message, or failed to.                      |
| `api:message:reactions:fetch:failed`                                                | `Reactions`                             | Loading the reactions of a message failed.                                 |
| `api:message:search:not-found`                                                      | `useMessageAlsoSentInChannelNavigation` | The thread of a reply shown in the channel couldn't be loaded.             |

### Users

| Type                                                  | `origin.emitter`                                                 | When                                                                                                          |
| ----------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `api:user:mute:success`, `api:user:mute:failed`       | `MessageActions`, `ChannelManagementView`, `ChannelMemberDetail` | A user was muted from a message's actions or from the channel's details, or muting failed.                    |
| `api:user:unmute:success`, `api:user:unmute:failed`   | `MessageActions`, `ChannelManagementView`, `ChannelMemberDetail` | A user was unmuted, or unmuting failed.                                                                       |
| `api:user:block:success`, `api:user:block:failed`     | `ChannelManagementView`, `ChannelMemberDetail`                   | A user was blocked from the channel's details, or blocking failed.                                            |
| `api:user:unblock:success`, `api:user:unblock:failed` | `ChannelManagementView`, `ChannelMemberDetail`                   | A user was unblocked from the channel's details, or unblocking failed.                                        |
| `api:user:ban:success`                                | `ChannelListItemActionButtons`                                   | The Block action on a direct conversation's row in the channel list banned the other member from the channel. |
| `api:user:ban:failed`                                 | `ChannelListItemActionButtons`                                   | The row's Block or Unblock action failed.                                                                     |
| `api:user:unban:success`                              | `ChannelListItemActionButtons`                                   | The row's Unblock action unbanned the other member.                                                           |

### Channels

| Type                                                                      | `origin.emitter`                                                                                    | When                                                                                                                                         |
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `api:channel:archive:success`                                             | `ChannelListItemActionButtons`                                                                      | The channel was archived from its row in the channel list.                                                                                   |
| `api:channel:archive:failed`                                              | `ChannelListItemActionButtons`                                                                      | Archiving or unarchiving the channel from its row failed.                                                                                    |
| `api:channel:unarchive:success`                                           | `ChannelListItemActionButtons`                                                                      | The channel was unarchived from its row.                                                                                                     |
| `api:channel:pin:success`                                                 | `ChannelListItemActionButtons`                                                                      | The channel was pinned from its row.                                                                                                         |
| `api:channel:pin:failed`                                                  | `ChannelListItemActionButtons`                                                                      | Pinning or unpinning the channel from its row failed.                                                                                        |
| `api:channel:unpin:success`                                               | `ChannelListItemActionButtons`                                                                      | The channel was unpinned from its row.                                                                                                       |
| `api:channel:mute:success`                                                | `ChannelListItemActionButtons`, `ChannelManagementView`                                             | The channel was muted from its row or its details.                                                                                           |
| `api:channel:mute:failed`                                                 | `ChannelListItemActionButtons`, `ChannelManagementView`                                             | Muting the channel failed. From its row, also when unmuting failed.                                                                          |
| `api:channel:unmute:success`                                              | `ChannelListItemActionButtons`, `ChannelManagementView`                                             | The channel was unmuted from its row or its details.                                                                                         |
| `api:channel:unmute:failed`                                               | `ChannelManagementView`                                                                             | Unmuting the channel from its details failed.                                                                                                |
| `api:channel:leave:success`, `api:channel:leave:failed`                   | `ChannelListItemActionButtons`, `ChannelManagementView`                                             | The user left the channel from its row or its details, or leaving failed.                                                                    |
| `api:channel:delete:success`, `api:channel:delete:failed`                 | `ChannelManagementView`                                                                             | The channel was deleted from its details, or deleting failed.                                                                                |
| `channel:channel:update:success`                                          | `ChannelManagementEditBody`                                                                         | The channel's name or image was saved from its details.                                                                                      |
| `api:channel:update:failed`                                               | `ChannelManagementEditBody`                                                                         | Saving the channel's name or image failed.                                                                                                   |
| `api:channel:addMembers:success`, `api:channel:addMembers:failed`         | `ChannelMembersView`                                                                                | Members were added from the channel's details, or adding them failed.                                                                        |
| `api:channel:remove-members:success`, `api:channel:remove-members:failed` | `ChannelMemberDetail`                                                                               | A member was removed from the channel, or removing them failed.                                                                              |
| `api:channel:watch:failed`                                                | `ChannelMemberDetail`, `ChannelSearchResultItem`, `MessageSearchResultItem`, `UserSearchResultItem` | A channel to open didn't load: a direct conversation opened from a member's details, or a channel, message or user picked in search results. |
| `api:channel:query:failed`                                                | `ChannelList`                                                                                       | A query of the channel list failed. The text is "Couldn't load conversations". Shows in the `channel-list` panel.                            |

### Threads

| Type                      | `origin.emitter` | When                                                                                                      |
| ------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------- |
| `api:thread:query:failed` | `ThreadList`     | A query of the thread list failed. The text is "Couldn't load threads". Shows in the `thread-list` panel. |

`<ChannelList/>` and `<ThreadList/>` publish their query errors only while they're mounted. An error the paginator already held when the list mounted isn't published again.

### Polls, location and audio

| Type                                          | `origin.emitter`      | When                                                                                                    |
| --------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------- |
| `api:poll:create:success`                     | `PollCreationDialog`  | A poll was created and its message sent. A failed creation is `stream-chat`'s `api:poll:create:failed`. |
| `api:poll:end:success`, `api:poll:end:failed` | `EndPollAlert`        | A poll was ended, or ending it failed.                                                                  |
| `api:location:share:failed`                   | `ShareLocationDialog` | Sharing a location failed.                                                                              |
| `browser:location:get:failed`                 | `ShareLocationDialog` | The browser couldn't get the user's position.                                                           |
| `audioRecording:cancel:success`               | `AudioRecorder`       | The user cancelled a voice recording. Severity `info`.                                                  |
| `browser:audio:playback:error`                | `AudioPlayer`         | Playing an audio attachment or voice recording failed. Severity `error`.                                |

### Connection

| Type                             | `origin.emitter` | When                                                                                                                                            |
| -------------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `system:network:connection:lost` | `Chat`           | The network is offline, or the connection is being restored. Severity `loading`. A system notification that stays until the connection is back. |

### Panel tags

A component publishes its notifications tagged with the panel it sits in, such as `target:channel`, and with `target:modal` while a dialog is open. `<ChannelList/>` publishes to `target:channel-list` and `<ThreadList/>` to `target:thread-list`, wherever they sit. The search results and `useMessageAlsoSentInChannelNavigation` publish without a panel tag. The connection notification is tagged `system` instead. [Routing notifications](https://getstream.io/chat/docs/sdk/react/ui/components/notifications-ui/#where-a-notification-shows) explains where each tag shows.

---

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/react/reference/notifications/](https://getstream.io/chat/docs/sdk/react/reference/notifications/).