Skip to main content
PATCH
/
v1
/
object
/
{object_type}
/
{id}
/
preference
/
category
/
{category_slug}
/
Object Preference Category - Opt Out Channel
curl -X PATCH "https://hub.suprsend.com/v1/object/departments/engineering/preference/status-update-alert/" \
  --header 'Authorization: Bearer __YOUR_API_KEY__' \
  --header 'Content-Type: application/json' \
  --data '{
    "preference": "opt_in",
    "opt_out_channels": ["email", "slack"]
  }'
{
  "name": "Status Update Alert",
  "category": "status-update-alert",
  "description": "Send me updates when account status changes",
  "original_preference": "opt_in",
  "preference": "opt_in",
  "is_editable": true,
  "channels": [
    {
      "channel": "email",
      "preference": "opt_in",
      "is_editable": true
    },
    {
      "channel": "ms_teams",
      "preference": "opt_in",
      "is_editable": true
    },
    {
      "channel": "slack",
      "preference": "opt_in",
      "is_editable": true
    }
  ]
}

Authorizations

Authorization
string
header
required

Pass as Bearer <API_KEY>. Get API Key from SuprSend dashboard Developers -> API Keys section.

Path Parameters

object_type
string
required

Used to group similar objects together. Give plural namespace like teams, organizations, and roles.

id
string
required

Unique identifier of the object in your system

category_slug
string
required

notification category slug. You can get this from Notification Categories page on SuprSend dashboard -> Settings page

Query Parameters

tenant_id
string

to fetch user preferences for a particular tenant

Body

application/json
preference
string
default:opt_in

choose one of the options: opt_in if the user has allowed notification in this category and opt_out if user wants to discontinue notification in this category

opt_out_channels
string[]

Add array of channels if user wants to unsubscribe from particular channels in this category. Add channels as email, sms, whatsapp, androidpush, inbox, iospush, slack, webpush

Response

202

name
string

preference category name

Example:

"Status Update Alert"

category
string

unique preference category slug. You can get this by clicking on preference category name on Developers -> Preference categories page.

Example:

"status-update-alert"

description
string
Example:

"Send me updates when account status changes"

original_preference
enum<string>

default preference of the category

Available options:
opt_in,
opt_out
Example:

"opt_in"

preference
enum<string>

final user preference of the category

Available options:
opt_in,
opt_out
Example:

"opt_in"

is_editable
boolean

false for categories where default preference is set to can't unsubscribe

Example:

false

channels
object[]
I