[Resolve this issue](https://github.com/coder/internal/issues/506) Add a mark-all-as-read endpoint which is marking as read all notifications that are not read for the authenticated user. Also adds the DB logic.
17 KiB
Generated
Notifications
Get notification dispatch methods
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/notifications/dispatch-methods \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /notifications/dispatch-methods
Example responses
200 Response
[
{
"available": [
"string"
],
"default": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | array of codersdk.NotificationMethodsResponse |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
[array item] |
array | false | ||
» available |
array | false | ||
» default |
string | false |
To perform this operation, you must be authenticated. Learn more.
List inbox notifications
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/notifications/inbox \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /notifications/inbox
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
targets |
query | string | false | Comma-separated list of target IDs to filter notifications |
templates |
query | string | false | Comma-separated list of template IDs to filter notifications |
read_status |
query | string | false | Filter notifications by read status. Possible values: read, unread, all |
Example responses
200 Response
{
"notifications": [
{
"actions": [
{
"label": "string",
"url": "string"
}
],
"content": "string",
"created_at": "2019-08-24T14:15:22Z",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"read_at": "string",
"targets": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"title": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
],
"unread_count": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | codersdk.ListInboxNotificationsResponse |
To perform this operation, you must be authenticated. Learn more.
Mark all unread notifications as read
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/notifications/inbox/mark-all-as-read \
-H 'Coder-Session-Token: API_KEY'
PUT /notifications/inbox/mark-all-as-read
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content |
To perform this operation, you must be authenticated. Learn more.
Watch for new inbox notifications
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/notifications/inbox/watch \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /notifications/inbox/watch
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
targets |
query | string | false | Comma-separated list of target IDs to filter notifications |
templates |
query | string | false | Comma-separated list of template IDs to filter notifications |
read_status |
query | string | false | Filter notifications by read status. Possible values: read, unread, all |
Example responses
200 Response
{
"notification": {
"actions": [
{
"label": "string",
"url": "string"
}
],
"content": "string",
"created_at": "2019-08-24T14:15:22Z",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"read_at": "string",
"targets": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"title": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
},
"unread_count": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | codersdk.GetInboxNotificationResponse |
To perform this operation, you must be authenticated. Learn more.
Update read status of a notification
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/notifications/inbox/{id}/read-status \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
PUT /notifications/inbox/{id}/read-status
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id |
path | string | true | id of the notification |
Example responses
200 Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | codersdk.Response |
To perform this operation, you must be authenticated. Learn more.
Get notifications settings
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/notifications/settings \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /notifications/settings
Example responses
200 Response
{
"notifier_paused": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | codersdk.NotificationsSettings |
To perform this operation, you must be authenticated. Learn more.
Update notifications settings
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/notifications/settings \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
PUT /notifications/settings
Body parameter
{
"notifier_paused": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body |
body | codersdk.NotificationsSettings | true | Notifications settings request |
Example responses
200 Response
{
"notifier_paused": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | codersdk.NotificationsSettings |
304 | Not Modified | Not Modified |
To perform this operation, you must be authenticated. Learn more.
Get system notification templates
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/notifications/templates/system \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /notifications/templates/system
Example responses
200 Response
[
{
"actions": "string",
"body_template": "string",
"enabled_by_default": true,
"group": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"kind": "string",
"method": "string",
"name": "string",
"title_template": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | array of codersdk.NotificationTemplate |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
[array item] |
array | false | ||
» actions |
string | false | ||
» body_template |
string | false | ||
» enabled_by_default |
boolean | false | ||
» group |
string | false | ||
» id |
string(uuid) | false | ||
» kind |
string | false | ||
» method |
string | false | ||
» name |
string | false | ||
» title_template |
string | false |
To perform this operation, you must be authenticated. Learn more.
Send a test notification
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/notifications/test \
-H 'Coder-Session-Token: API_KEY'
POST /notifications/test
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK |
To perform this operation, you must be authenticated. Learn more.
Get user notification preferences
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user}/notifications/preferences \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /users/{user}/notifications/preferences
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
user |
path | string | true | User ID, name, or me |
Example responses
200 Response
[
{
"disabled": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"updated_at": "2019-08-24T14:15:22Z"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | array of codersdk.NotificationPreference |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
[array item] |
array | false | ||
» disabled |
boolean | false | ||
» id |
string(uuid) | false | ||
» updated_at |
string(date-time) | false |
To perform this operation, you must be authenticated. Learn more.
Update user notification preferences
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/users/{user}/notifications/preferences \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
PUT /users/{user}/notifications/preferences
Body parameter
{
"template_disabled_map": {
"property1": true,
"property2": true
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
user |
path | string | true | User ID, name, or me |
body |
body | codersdk.UpdateUserNotificationPreferences | true | Preferences |
Example responses
200 Response
[
{
"disabled": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"updated_at": "2019-08-24T14:15:22Z"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | array of codersdk.NotificationPreference |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
[array item] |
array | false | ||
» disabled |
boolean | false | ||
» id |
string(uuid) | false | ||
» updated_at |
string(date-time) | false |
To perform this operation, you must be authenticated. Learn more.