Skip to content
UpVoiced Docs

API reference

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

Authentication
API key or Dashboard session; API key scope read
Operation id
getNotificationPreferences
Headers
NameTypeRequired
x-workspacestring (uuid)Yes
Response 200: 6 fields
Response 200 (application/json)
NameTypeRequired
digest"off" | "daily" | "weekly"Yes
mentionsbooleanYes
timezonestring | nullYes
effective_timezonestringYes
workspaceobjectYes
workspace.end_user_emailsbooleanYes

Errors: 400, 401, 403, 404, 409, 413, 422, 429, 500, 503, all in the standard error shape.

curl
curl 'https://api.upvoiced.com/v1/me/notification-preferences' \
  -H "Authorization: Bearer $UPVOICED_API_KEY" \
  -H "X-Workspace: $UPVOICED_WORKSPACE_ID"
TypeScript SDK
const data = await upvoiced.get('/v1/me/notification-preferences');
MCP

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

Authentication
API key or Dashboard session; API key scope write
Operation id
updateNotificationPreferences
Headers
NameTypeRequired
x-workspacestring (uuid)Yes
Request body (JSON)
NameTypeRequired
digest"off" | "daily" | "weekly"No
mentionsbooleanNo
timezonestring | nulllength 1–64No
Response 200: 6 fields
Response 200 (application/json)
NameTypeRequired
digest"off" | "daily" | "weekly"Yes
mentionsbooleanYes
timezonestring | nullYes
effective_timezonestringYes
workspaceobjectYes
workspace.end_user_emailsbooleanYes

Errors: 400, 401, 403, 404, 409, 413, 422, 429, 500, 503, all in the standard error shape.

curl
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"
}'
TypeScript SDK
const data = await upvoiced.put('/v1/me/notification-preferences', { body: { digest: 'off' } });
MCP

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)

Authentication
API key or Dashboard session; API key scope admin
Operation id
updateWorkspaceNotificationSettings
Headers
NameTypeRequired
x-workspacestring (uuid)Yes
Request body (JSON)
NameTypeRequired
end_user_emailsbooleanYes
Response 200: 6 fields
Response 200 (application/json)
NameTypeRequired
digest"off" | "daily" | "weekly"Yes
mentionsbooleanYes
timezonestring | nullYes
effective_timezonestringYes
workspaceobjectYes
workspace.end_user_emailsbooleanYes

Errors: 400, 401, 403, 404, 409, 413, 422, 429, 500, 503, all in the standard error shape.

curl
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
}'
TypeScript SDK
const data = await upvoiced.patch('/v1/workspace/notification-settings', { body: { end_user_emails: true } });
MCP

No MCP tool for this operation. The MCP server covers the everyday reads and writes.