Trust Centers
Send Trust Center update notifications to specific subscribers
Sends notifications for a specific Trust Center update to specific subscribers. At least one subscriber group or email address is required.
The total number of resolved, deduplicated recipient emails must not exceed 5,000. If exceeded, a 422 error is returned. Narrow your filters or split across multiple requests.
POST
/
trust-centers
/
{slugId}
/
updates
/
{updateId}
/
notify-specific-subscribers
Send Trust Center update notifications to specific subscribers
curl --request POST \
--url https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
"<string>"
],
"subscriberGroupIds": [
"<string>"
],
"customerTrustAccounts": {
"customFieldsFilter": [
{
"label": "enterprise_id",
"value": [
"ent_123",
"ent_456"
]
}
],
"tagsByCategory": [
{
"categoryId": "507f1f77bcf86cd799439011",
"tagIds": [
"507f1f77bcf86cd799439012"
]
}
]
}
}
'import requests
url = "https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers"
payload = {
"emails": ["<string>"],
"subscriberGroupIds": ["<string>"],
"customerTrustAccounts": {
"customFieldsFilter": [
{
"label": "enterprise_id",
"value": ["ent_123", "ent_456"]
}
],
"tagsByCategory": [
{
"categoryId": "507f1f77bcf86cd799439011",
"tagIds": ["507f1f77bcf86cd799439012"]
}
]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
emails: ['<string>'],
subscriberGroupIds: ['<string>'],
customerTrustAccounts: {
customFieldsFilter: [{label: 'enterprise_id', value: ['ent_123', 'ent_456']}],
tagsByCategory: [{categoryId: '507f1f77bcf86cd799439011', tagIds: ['507f1f77bcf86cd799439012']}]
}
})
};
fetch('https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers', 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://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emails' => [
'<string>'
],
'subscriberGroupIds' => [
'<string>'
],
'customerTrustAccounts' => [
'customFieldsFilter' => [
[
'label' => 'enterprise_id',
'value' => [
'ent_123',
'ent_456'
]
]
],
'tagsByCategory' => [
[
'categoryId' => '507f1f77bcf86cd799439011',
'tagIds' => [
'507f1f77bcf86cd799439012'
]
]
]
]
]),
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://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers"
payload := strings.NewReader("{\n \"emails\": [\n \"<string>\"\n ],\n \"subscriberGroupIds\": [\n \"<string>\"\n ],\n \"customerTrustAccounts\": {\n \"customFieldsFilter\": [\n {\n \"label\": \"enterprise_id\",\n \"value\": [\n \"ent_123\",\n \"ent_456\"\n ]\n }\n ],\n \"tagsByCategory\": [\n {\n \"categoryId\": \"507f1f77bcf86cd799439011\",\n \"tagIds\": [\n \"507f1f77bcf86cd799439012\"\n ]\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n \"<string>\"\n ],\n \"subscriberGroupIds\": [\n \"<string>\"\n ],\n \"customerTrustAccounts\": {\n \"customFieldsFilter\": [\n {\n \"label\": \"enterprise_id\",\n \"value\": [\n \"ent_123\",\n \"ent_456\"\n ]\n }\n ],\n \"tagsByCategory\": [\n {\n \"categoryId\": \"507f1f77bcf86cd799439011\",\n \"tagIds\": [\n \"507f1f77bcf86cd799439012\"\n ]\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emails\": [\n \"<string>\"\n ],\n \"subscriberGroupIds\": [\n \"<string>\"\n ],\n \"customerTrustAccounts\": {\n \"customFieldsFilter\": [\n {\n \"label\": \"enterprise_id\",\n \"value\": [\n \"ent_123\",\n \"ent_456\"\n ]\n }\n ],\n \"tagsByCategory\": [\n {\n \"categoryId\": \"507f1f77bcf86cd799439011\",\n \"tagIds\": [\n \"507f1f77bcf86cd799439012\"\n ]\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"recipientCount": 5
}Authorizations
Body
application/json
Input for sending notifications to specific subscribers of a Trust Center update.
Recipient limit: The total number of deduplicated recipient emails resolved from subscriber groups, account filters, and additional emails must not exceed 5,000. If the resolved recipient count exceeds this limit, the request will return a 422 error. To notify more recipients, narrow your filters or split across multiple requests.
Was this page helpful?
⌘I
Send Trust Center update notifications to specific subscribers
curl --request POST \
--url https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
"<string>"
],
"subscriberGroupIds": [
"<string>"
],
"customerTrustAccounts": {
"customFieldsFilter": [
{
"label": "enterprise_id",
"value": [
"ent_123",
"ent_456"
]
}
],
"tagsByCategory": [
{
"categoryId": "507f1f77bcf86cd799439011",
"tagIds": [
"507f1f77bcf86cd799439012"
]
}
]
}
}
'import requests
url = "https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers"
payload = {
"emails": ["<string>"],
"subscriberGroupIds": ["<string>"],
"customerTrustAccounts": {
"customFieldsFilter": [
{
"label": "enterprise_id",
"value": ["ent_123", "ent_456"]
}
],
"tagsByCategory": [
{
"categoryId": "507f1f77bcf86cd799439011",
"tagIds": ["507f1f77bcf86cd799439012"]
}
]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
emails: ['<string>'],
subscriberGroupIds: ['<string>'],
customerTrustAccounts: {
customFieldsFilter: [{label: 'enterprise_id', value: ['ent_123', 'ent_456']}],
tagsByCategory: [{categoryId: '507f1f77bcf86cd799439011', tagIds: ['507f1f77bcf86cd799439012']}]
}
})
};
fetch('https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers', 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://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emails' => [
'<string>'
],
'subscriberGroupIds' => [
'<string>'
],
'customerTrustAccounts' => [
'customFieldsFilter' => [
[
'label' => 'enterprise_id',
'value' => [
'ent_123',
'ent_456'
]
]
],
'tagsByCategory' => [
[
'categoryId' => '507f1f77bcf86cd799439011',
'tagIds' => [
'507f1f77bcf86cd799439012'
]
]
]
]
]),
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://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers"
payload := strings.NewReader("{\n \"emails\": [\n \"<string>\"\n ],\n \"subscriberGroupIds\": [\n \"<string>\"\n ],\n \"customerTrustAccounts\": {\n \"customFieldsFilter\": [\n {\n \"label\": \"enterprise_id\",\n \"value\": [\n \"ent_123\",\n \"ent_456\"\n ]\n }\n ],\n \"tagsByCategory\": [\n {\n \"categoryId\": \"507f1f77bcf86cd799439011\",\n \"tagIds\": [\n \"507f1f77bcf86cd799439012\"\n ]\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n \"<string>\"\n ],\n \"subscriberGroupIds\": [\n \"<string>\"\n ],\n \"customerTrustAccounts\": {\n \"customFieldsFilter\": [\n {\n \"label\": \"enterprise_id\",\n \"value\": [\n \"ent_123\",\n \"ent_456\"\n ]\n }\n ],\n \"tagsByCategory\": [\n {\n \"categoryId\": \"507f1f77bcf86cd799439011\",\n \"tagIds\": [\n \"507f1f77bcf86cd799439012\"\n ]\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vanta.com/v1/trust-centers/{slugId}/updates/{updateId}/notify-specific-subscribers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emails\": [\n \"<string>\"\n ],\n \"subscriberGroupIds\": [\n \"<string>\"\n ],\n \"customerTrustAccounts\": {\n \"customFieldsFilter\": [\n {\n \"label\": \"enterprise_id\",\n \"value\": [\n \"ent_123\",\n \"ent_456\"\n ]\n }\n ],\n \"tagsByCategory\": [\n {\n \"categoryId\": \"507f1f77bcf86cd799439011\",\n \"tagIds\": [\n \"507f1f77bcf86cd799439012\"\n ]\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"recipientCount": 5
}