Get subscriber preferences

Get subscriber global and workflow specific preferences

GET
/v2/subscribers/{subscriberId}/preferences

Authorization

Authorization<token>

API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".

In: header

Path Parameters

subscriberIdRequiredstring

Header Parameters

idempotency-keystring

A header for idempotency purposes

Response Body

OK

globalRequiredobject

Global preference settings

workflowsRequiredarray<object>

Workflow-specific preference settings

export interface Response {
  /**
   * Global preference settings
   */
  global: GlobalPreferenceDto;
  /**
   * Workflow-specific preference settings
   */
  workflows: WorkflowPreferenceDto[];
}
export interface GlobalPreferenceDto {
  /**
   * Whether notifications are enabled globally
   */
  enabled: boolean;
  /**
   * Channel-specific preference settings
   */
  channels: PreferenceChannels;
}
export interface PreferenceChannels {
  email?: boolean;
  sms?: boolean;
  in_app?: boolean;
  chat?: boolean;
  push?: boolean;
}
export interface WorkflowPreferenceDto {
  /**
   * Whether notifications are enabled for this workflow
   */
  enabled: boolean;
  /**
   * Channel-specific preference settings for this workflow
   */
  channels: PreferenceChannels1;
  /**
   * List of preference overrides
   */
  overrides: Overrides[];
  /**
   * Workflow information
   */
  workflow: WorkflowInfoDto;
}
export interface PreferenceChannels1 {
  email?: boolean;
  sms?: boolean;
  in_app?: boolean;
  chat?: boolean;
  push?: boolean;
}
export interface Overrides {
  /**
   * The channel type which is overridden
   */
  channel: "in_app" | "email" | "sms" | "chat" | "push";
  /**
   * The source of overrides
   */
  source: "subscriber" | "template" | "workflowOverride";
}
export interface WorkflowInfoDto {
  /**
   * Workflow slug
   */
  slug: string;
  /**
   * Unique identifier of the workflow
   */
  identifier: string;
  /**
   * Display name of the workflow
   */
  name: string;
  /**
   * last updated date
   */
  updatedAt?: string;
}
 
curl -X GET "https://api.novu.co/v2/subscribers/string/preferences" \
  -H "idempotency-key: string" \
  -H "Authorization: <token>"
{
  "global": {
    "enabled": true,
    "channels": {
      "email": true,
      "sms": true,
      "in_app": true,
      "chat": true,
      "push": true
    }
  },
  "workflows": [
    {
      "enabled": true,
      "channels": {
        "email": true,
        "sms": true,
        "in_app": true,
        "chat": true,
        "push": true
      },
      "overrides": [
        {
          "channel": "in_app",
          "source": "subscriber"
        }
      ],
      "workflow": {
        "slug": "string",
        "identifier": "string",
        "name": "string",
        "updatedAt": "string"
      }
    }
  ]
}