Notification preferences
Your own notification preferences and the workspace notification settings.
Set up the SDK client used in the examples
API key or Dashboard session:
import { UpVoiced } from '@upvoiced/sdk';
const apiKey = process.env['UPVOICED_API_KEY']; // uv_live_… (Settings → API keys)
const workspace = process.env['UPVOICED_WORKSPACE_ID']; // sent as X-Workspace
if (!apiKey || !workspace) throw new Error('Set UPVOICED_API_KEY and UPVOICED_WORKSPACE_ID.');
const upvoiced = new UpVoiced({ apiKey, workspace });curl examples read $UPVOICED_API_KEY and $UPVOICED_WORKSPACE_IDfrom your shell. MCP examples are the tools/call request an MCP client sends to the MCP server with the same API key.
GET/v1/me/notification-preferences
The caller's notification preferences in the selected workspace
| Name | Type | Required |
|---|---|---|
x-workspace | string (uuid) | Yes |
Response 200: 6 fields
| Name | Type | Required |
|---|---|---|
digest | "off" | "daily" | "weekly" | Yes |
mentions | boolean | Yes |
timezone | string | null | Yes |
effective_timezone | string | Yes |
workspace | object | Yes |
workspace.end_user_emails | boolean | Yes |
Errors: 400, 401, 403, 404, 409, 413, 422, 429, 500, 503, all in the standard error shape.
curl 'https://api.upvoiced.com/v1/me/notification-preferences' \
-H "Authorization: Bearer $UPVOICED_API_KEY" \
-H "X-Workspace: $UPVOICED_WORKSPACE_ID"const data = await upvoiced.get('/v1/me/notification-preferences');No MCP tool for this operation. The MCP server covers the everyday reads and writes.
PUT/v1/me/notification-preferences
Set digest cadence (off/daily/weekly), mention emails and digest timezone
| Name | Type | Required |
|---|---|---|
x-workspace | string (uuid) | Yes |
| Name | Type | Required |
|---|---|---|
digest | "off" | "daily" | "weekly" | No |
mentions | boolean | No |
timezone | string | nulllength 1–64 | No |
Response 200: 6 fields
| Name | Type | Required |
|---|---|---|
digest | "off" | "daily" | "weekly" | Yes |
mentions | boolean | Yes |
timezone | string | null | Yes |
effective_timezone | string | Yes |
workspace | object | Yes |
workspace.end_user_emails | boolean | Yes |
Errors: 400, 401, 403, 404, 409, 413, 422, 429, 500, 503, all in the standard error shape.
curl -X PUT 'https://api.upvoiced.com/v1/me/notification-preferences' \
-H "Authorization: Bearer $UPVOICED_API_KEY" \
-H "X-Workspace: $UPVOICED_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"digest": "off"
}'const data = await upvoiced.put('/v1/me/notification-preferences', { body: { digest: 'off' } });No MCP tool for this operation. The MCP server covers the everyday reads and writes.
PATCH/v1/workspace/notification-settings
Turn end-user notification email on or off for the workspace (owner/admin)
| Name | Type | Required |
|---|---|---|
x-workspace | string (uuid) | Yes |
| Name | Type | Required |
|---|---|---|
end_user_emails | boolean | Yes |
Response 200: 6 fields
| Name | Type | Required |
|---|---|---|
digest | "off" | "daily" | "weekly" | Yes |
mentions | boolean | Yes |
timezone | string | null | Yes |
effective_timezone | string | Yes |
workspace | object | Yes |
workspace.end_user_emails | boolean | Yes |
Errors: 400, 401, 403, 404, 409, 413, 422, 429, 500, 503, all in the standard error shape.
curl -X PATCH 'https://api.upvoiced.com/v1/workspace/notification-settings' \
-H "Authorization: Bearer $UPVOICED_API_KEY" \
-H "X-Workspace: $UPVOICED_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"end_user_emails": true
}'const data = await upvoiced.patch('/v1/workspace/notification-settings', { body: { end_user_emails: true } });No MCP tool for this operation. The MCP server covers the everyday reads and writes.