Update Object Preferences
Overall Channel level
API to update object preferences across all channels.
PATCH
/
v1
/
object
/
{object_type}
/
{id}
/
preference
/
channel_preference
/
Overall Channel level
curl --request PATCH \
--url https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel_preferences": [
{
"channel": "email",
"is_restricted": false
}
]
}
'import requests
url = "https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/"
payload = { "channel_preferences": [
{
"channel": "email",
"is_restricted": False
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({channel_preferences: [{channel: 'email', is_restricted: false}]})
};
fetch('https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'channel_preferences' => [
[
'channel' => 'email',
'is_restricted' => false
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/"
payload := strings.NewReader("{\n \"channel_preferences\": [\n {\n \"channel\": \"email\",\n \"is_restricted\": false\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel_preferences\": [\n {\n \"channel\": \"email\",\n \"is_restricted\": false\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel_preferences\": [\n {\n \"channel\": \"email\",\n \"is_restricted\": false\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"channel_preferences": [
{
"channel": "email",
"is_restricted": true
},
{
"channel": "inbox",
"is_restricted": false
}
]
}{
"code": 404,
"message": "object 'obj_type/obj_id' not found"
}Authorizations
Pass as Bearer <API_KEY>. Get API Key from SuprSend dashboard Developers -> API Keys section.
Path Parameters
Used to group similar objects together. Give plural namespace like teams, organizations, and roles.
Unique identifier of the object in your system
Query Parameters
to fetch user preferences for a particular tenant
Body
application/json
Use this to update channel level user preferences. Set is_restricted - true if the channel is opted_out by the user. This will only send critical notifications to the user which can't be opted out
Show child attributes
Show child attributes
Response
202
Show child attributes
Show child attributes
Was this page helpful?
Previous
Create a ListAPI to create / manage lists to send notification to a bulk list of users. To create a [Segment List](/docs/segment-lists) — a list whose membership is driven by a SQL query against your `users` and `events` tables — pass `list_type: dynamic_list` along with the `query`.
Next
⌘I
Overall Channel level
curl --request PATCH \
--url https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel_preferences": [
{
"channel": "email",
"is_restricted": false
}
]
}
'import requests
url = "https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/"
payload = { "channel_preferences": [
{
"channel": "email",
"is_restricted": False
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({channel_preferences: [{channel: 'email', is_restricted: false}]})
};
fetch('https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'channel_preferences' => [
[
'channel' => 'email',
'is_restricted' => false
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/"
payload := strings.NewReader("{\n \"channel_preferences\": [\n {\n \"channel\": \"email\",\n \"is_restricted\": false\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel_preferences\": [\n {\n \"channel\": \"email\",\n \"is_restricted\": false\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://hub.suprsend.com/v1/object/{object_type}/{id}/preference/channel_preference/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel_preferences\": [\n {\n \"channel\": \"email\",\n \"is_restricted\": false\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"channel_preferences": [
{
"channel": "email",
"is_restricted": true
},
{
"channel": "inbox",
"is_restricted": false
}
]
}{
"code": 404,
"message": "object 'obj_type/obj_id' not found"
}