JavaScript
import Courier from '@trycourier/courier';
const client = new Courier({
apiKey: process.env['COURIER_API_KEY'], // This is the default and can be omitted
});
await client.tenants.preferences.items.update('topic_id', {
tenant_id: 'tenant_id',
status: 'OPTED_IN',
custom_routing: ['inbox'],
has_custom_routing: true,
});import os
from courier import Courier
client = Courier(
api_key=os.environ.get("COURIER_API_KEY"), # This is the default and can be omitted
)
client.tenants.preferences.items.update(
topic_id="topic_id",
tenant_id="tenant_id",
status="OPTED_IN",
custom_routing=["inbox"],
has_custom_routing=True,
)package main
import (
"context"
"github.com/trycourier/courier-go"
"github.com/trycourier/courier-go/option"
)
func main() {
client := courier.NewClient(
option.WithAPIKey("My API Key"),
)
err := client.Tenants.Preferences.Items.Update(
context.TODO(),
"topic_id",
courier.TenantPreferenceItemUpdateParams{
TenantID: "tenant_id",
SubscriptionTopicNew: courier.SubscriptionTopicNewParam{
Status: courier.SubscriptionTopicNewStatusOptedIn,
},
},
)
if err != nil {
panic(err.Error())
}
}package com.courier.example;
import com.courier.client.CourierClient;
import com.courier.client.okhttp.CourierOkHttpClient;
import com.courier.models.tenants.SubscriptionTopicNew;
import com.courier.models.tenants.preferences.items.ItemUpdateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
CourierClient client = CourierOkHttpClient.fromEnv();
ItemUpdateParams params = ItemUpdateParams.builder()
.tenantId("tenant_id")
.topicId("topic_id")
.subscriptionTopicNew(SubscriptionTopicNew.builder()
.status(SubscriptionTopicNew.Status.OPTED_IN)
.build())
.build();
client.tenants().preferences().items().update(params);
}
}require "courier"
courier = Courier::Client.new(api_key: "My API Key")
result = courier.tenants.preferences.items.update("topic_id", tenant_id: "tenant_id", status: :OPTED_IN)
puts(result)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Courier\Client;
use Courier\ChannelClassification;
use Courier\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('COURIER_API_KEY') ?: 'My API Key');
try {
$result = $client->tenants->preferences->items->update(
'topic_id',
tenantID: 'tenant_id',
status: 'OPTED_IN',
customRouting: [ChannelClassification::INBOX],
hasCustomRouting: true,
);
var_dump($result);
} catch (APIException $e) {
echo $e->getMessage();
}using TryCourier;
using TryCourier.Models.Tenants.Preferences.Items;
CourierClient client = new();
ItemUpdateParams parameters = new()
{
TenantID = "tenant_id",
TopicID = "topic_id",
Status = Status.OptedIn,
};
await client.Tenants.Preferences.Items.Update(parameters);courier tenants:preferences:items update \
--api-key 'My API Key' \
--tenant-id tenant_id \
--topic-id topic_id \
--status OPTED_INcurl --request PUT \
--url https://api.courier.com/tenants/{tenant_id}/default_preferences/items/{topic_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"status": "OPTED_IN",
"has_custom_routing": true,
"custom_routing": [
"inbox"
]
}
'Tenants
Create or Replace Default Preferences For Topic
PUT
/
tenants
/
{tenant_id}
/
default_preferences
/
items
/
{topic_id}
JavaScript
import Courier from '@trycourier/courier';
const client = new Courier({
apiKey: process.env['COURIER_API_KEY'], // This is the default and can be omitted
});
await client.tenants.preferences.items.update('topic_id', {
tenant_id: 'tenant_id',
status: 'OPTED_IN',
custom_routing: ['inbox'],
has_custom_routing: true,
});import os
from courier import Courier
client = Courier(
api_key=os.environ.get("COURIER_API_KEY"), # This is the default and can be omitted
)
client.tenants.preferences.items.update(
topic_id="topic_id",
tenant_id="tenant_id",
status="OPTED_IN",
custom_routing=["inbox"],
has_custom_routing=True,
)package main
import (
"context"
"github.com/trycourier/courier-go"
"github.com/trycourier/courier-go/option"
)
func main() {
client := courier.NewClient(
option.WithAPIKey("My API Key"),
)
err := client.Tenants.Preferences.Items.Update(
context.TODO(),
"topic_id",
courier.TenantPreferenceItemUpdateParams{
TenantID: "tenant_id",
SubscriptionTopicNew: courier.SubscriptionTopicNewParam{
Status: courier.SubscriptionTopicNewStatusOptedIn,
},
},
)
if err != nil {
panic(err.Error())
}
}package com.courier.example;
import com.courier.client.CourierClient;
import com.courier.client.okhttp.CourierOkHttpClient;
import com.courier.models.tenants.SubscriptionTopicNew;
import com.courier.models.tenants.preferences.items.ItemUpdateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
CourierClient client = CourierOkHttpClient.fromEnv();
ItemUpdateParams params = ItemUpdateParams.builder()
.tenantId("tenant_id")
.topicId("topic_id")
.subscriptionTopicNew(SubscriptionTopicNew.builder()
.status(SubscriptionTopicNew.Status.OPTED_IN)
.build())
.build();
client.tenants().preferences().items().update(params);
}
}require "courier"
courier = Courier::Client.new(api_key: "My API Key")
result = courier.tenants.preferences.items.update("topic_id", tenant_id: "tenant_id", status: :OPTED_IN)
puts(result)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Courier\Client;
use Courier\ChannelClassification;
use Courier\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('COURIER_API_KEY') ?: 'My API Key');
try {
$result = $client->tenants->preferences->items->update(
'topic_id',
tenantID: 'tenant_id',
status: 'OPTED_IN',
customRouting: [ChannelClassification::INBOX],
hasCustomRouting: true,
);
var_dump($result);
} catch (APIException $e) {
echo $e->getMessage();
}using TryCourier;
using TryCourier.Models.Tenants.Preferences.Items;
CourierClient client = new();
ItemUpdateParams parameters = new()
{
TenantID = "tenant_id",
TopicID = "topic_id",
Status = Status.OptedIn,
};
await client.Tenants.Preferences.Items.Update(parameters);courier tenants:preferences:items update \
--api-key 'My API Key' \
--tenant-id tenant_id \
--topic-id topic_id \
--status OPTED_INcurl --request PUT \
--url https://api.courier.com/tenants/{tenant_id}/default_preferences/items/{topic_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"status": "OPTED_IN",
"has_custom_routing": true,
"custom_routing": [
"inbox"
]
}
'Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Id of the tenant to update the default preferences for.
Id of the subscription topic you want to have a default preference for.
Body
application/json
Available options:
OPTED_OUT, OPTED_IN, REQUIRED Override channel routing with custom preferences. This will override any template preferences that are set, but a user can still customize their preferences
The default channels to send to this tenant when has_custom_routing is enabled
Available options:
direct_message, email, push, sms, webhook, inbox Response
204 - undefined
⌘I