Skip to main content
POST
/
preferences
/
sections
JavaScript
import Courier from '@trycourier/courier';

const client = new Courier({
  apiKey: process.env['COURIER_API_KEY'], // This is the default and can be omitted
});

const workspacePreferenceGetResponse = await client.workspacePreferences.create({
  name: 'Account Notifications',
});

console.log(workspacePreferenceGetResponse.id);
{
  "id": "PS5QM06WED9YYP8H8DBVT5CXFRGE",
  "name": "Account Notifications",
  "routing_options": [
    "direct_message"
  ],
  "has_custom_routing": true,
  "created": "2024-01-15T10:30:00.000Z",
  "creator": "user_123",
  "updated": "2024-01-15T10:30:00.000Z",
  "updater": "user_123",
  "topics": [
    {
      "id": "PT91W47CKEMP6PW0RYVN3F08F2YE",
      "name": "Product Updates",
      "default_status": "OPTED_OUT",
      "routing_options": [
        "direct_message"
      ],
      "allowed_preferences": [
        "snooze"
      ],
      "include_unsubscribe_header": true,
      "topic_data": {},
      "created": "2024-01-15T10:30:00.000Z",
      "creator": "user_123",
      "updated": "2024-01-15T10:30:00.000Z",
      "updater": "user_123"
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request body for creating a workspace preference.

name
string
required

Human-readable name for the workspace preference.

routing_options
enum<string>[] | null

Default channels for the workspace preference. Defaults to empty if omitted.

Available options:
direct_message,
email,
push,
sms,
webhook,
inbox
has_custom_routing
boolean | null

Whether the workspace preference defines custom routing for its topics.

Response

Created

A workspace preference in your workspace, including its topics.

id
string
required

The workspace preference id.

name
string
required

Human-readable name.

routing_options
enum<string>[]
required

Default channels for the workspace preference. May be empty.

Available options:
direct_message,
email,
push,
sms,
webhook,
inbox
has_custom_routing
boolean
required

Whether the workspace preference defines custom routing for its topics.

created
string
required

ISO-8601 timestamp of when the workspace preference was created.

topics
WorkspacePreferenceTopicGetResponse · object[]
required

The topics contained in this workspace preference.

creator
string | null

Id of the creator.

updated
string | null

ISO-8601 timestamp of the last update.

updater
string | null

Id of the last updater.