Notifications

Send a custom notification

Code samples

# Example request using curl curl -X POST http://coder-server:8080/api/v2/notifications/custom \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

POST /notifications/custom

Body parameter

{ "content": { "message": "string", "title": "string" } }

Parameters

NameInTypeRequiredDescription
bodybodycodersdk.CustomNotificationRequesttrueProvide a non-empty title or message

Example responses

400 Response

{ "detail": "string", "message": "string", "validations": [ { "detail": "string", "field": "string" } ] }

Responses

StatusMeaningDescriptionSchema
204No ContentNo Content
400Bad RequestInvalid request bodycodersdk.Response
403ForbiddenSystem users cannot send custom notificationscodersdk.Response
500Internal Server ErrorFailed to send custom notificationcodersdk.Response

To perform this operation, you must be authenticated. Learn more.

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

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.NotificationMethodsResponse

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» availablearrayfalse
» defaultstringfalse

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

NameInTypeRequiredDescription
targetsquerystringfalseComma-separated list of target IDs to filter notifications
templatesquerystringfalseComma-separated list of template IDs to filter notifications
read_statusquerystringfalseFilter notifications by read status. Possible values: read, unread, all
starting_beforequerystring(uuid)falseID of the last notification from the current page. Notifications returned will be older than the associated one

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

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

StatusMeaningDescriptionSchema
204No ContentNo 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

NameInTypeRequiredDescription
targetsquerystringfalseComma-separated list of target IDs to filter notifications
templatesquerystringfalseComma-separated list of template IDs to filter notifications
read_statusquerystringfalseFilter notifications by read status. Possible values: read, unread, all
formatquerystringfalseDefine the output format for notifications title and body.

Enumerated Values

ParameterValue
formatplaintext
formatmarkdown

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

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
idpathstringtrueid of the notification

Example responses

200 Response

{ "detail": "string", "message": "string", "validations": [ { "detail": "string", "field": "string" } ] }

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
bodybodycodersdk.NotificationsSettingstrueNotifications settings request

Example responses

200 Response

{ "notifier_paused": true }

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.NotificationsSettings
304Not ModifiedNot Modified

To perform this operation, you must be authenticated. Learn more.

Get custom notification templates

Code samples

# Example request using curl curl -X GET http://coder-server:8080/api/v2/notifications/templates/custom \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

GET /notifications/templates/custom

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

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.NotificationTemplate
500Internal Server ErrorFailed to retrieve 'custom' notifications templatecodersdk.Response

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» actionsstringfalse
» body_templatestringfalse
» enabled_by_defaultbooleanfalse
» groupstringfalse
» idstring(uuid)false
» kindstringfalse
» methodstringfalse
» namestringfalse
» title_templatestringfalse

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

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.NotificationTemplate
500Internal Server ErrorFailed to retrieve 'system' notifications templatecodersdk.Response

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» actionsstringfalse
» body_templatestringfalse
» enabled_by_defaultbooleanfalse
» groupstringfalse
» idstring(uuid)false
» kindstringfalse
» methodstringfalse
» namestringfalse
» title_templatestringfalse

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

StatusMeaningDescriptionSchema
200OKOK

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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me

Example responses

200 Response

[ { "disabled": true, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "updated_at": "2019-08-24T14:15:22Z" } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.NotificationPreference

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» disabledbooleanfalse
» idstring(uuid)false
» updated_atstring(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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
bodybodycodersdk.UpdateUserNotificationPreferencestruePreferences

Example responses

200 Response

[ { "disabled": true, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "updated_at": "2019-08-24T14:15:22Z" } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.NotificationPreference

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» disabledbooleanfalse
» idstring(uuid)false
» updated_atstring(date-time)false

To perform this operation, you must be authenticated. Learn more.