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.lists.subscriptions.subscribe('list_id', {
recipients: [{ recipientId: 'recipientId' }],
});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.lists.subscriptions.subscribe(
list_id="list_id",
recipients=[{
"recipient_id": "recipientId"
}],
)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.Lists.Subscriptions.Subscribe(
context.TODO(),
"list_id",
courier.ListSubscriptionSubscribeParams{
Recipients: []courier.PutSubscriptionsRecipientParam{{
RecipientID: "recipientId",
}},
},
)
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.lists.PutSubscriptionsRecipient;
import com.courier.models.lists.subscriptions.SubscriptionSubscribeParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
CourierClient client = CourierOkHttpClient.fromEnv();
SubscriptionSubscribeParams params = SubscriptionSubscribeParams.builder()
.listId("list_id")
.addRecipient(PutSubscriptionsRecipient.builder()
.recipientId("recipientId")
.build())
.build();
client.lists().subscriptions().subscribe(params);
}
}require "courier"
courier = Courier::Client.new(api_key: "My API Key")
result = courier.lists.subscriptions.subscribe("list_id", recipients: [{recipientId: "recipientId"}])
puts(result)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Courier\Client;
use Courier\PreferenceStatus;
use Courier\ChannelClassification;
use Courier\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('COURIER_API_KEY') ?: 'My API Key');
try {
$result = $client->lists->subscriptions->subscribe(
'list_id',
recipients: [
[
'recipientID' => 'recipientId',
'preferences' => [
'categories' => [
'foo' => [
'status' => PreferenceStatus::OPTED_IN,
'channelPreferences' => [
['channel' => ChannelClassification::DIRECT_MESSAGE]
],
'rules' => [['until' => 'until', 'start' => 'start']],
],
],
'notifications' => [
'foo' => [
'status' => PreferenceStatus::OPTED_IN,
'channelPreferences' => [
['channel' => ChannelClassification::DIRECT_MESSAGE]
],
'rules' => [['until' => 'until', 'start' => 'start']],
],
],
],
],
],
);
var_dump($result);
} catch (APIException $e) {
echo $e->getMessage();
}using System.Collections.Generic;
using TryCourier;
using TryCourier.Models;
using TryCourier.Models.Lists.Subscriptions;
CourierClient client = new();
SubscriptionSubscribeParams parameters = new()
{
ListID = "list_id",
Recipients =
[
new()
{
RecipientID = "recipientId",
Preferences = new()
{
Categories = new Dictionary<string, NotificationPreferenceDetails>(
)
{
{ "foo", new()
{
Status = PreferenceStatus.OptedIn,
ChannelPreferences =
[
new(ChannelClassification.DirectMessage)
],
Rules =
[
new()
{
Until = "until",
Start = "start",
},
],
} },
},
Notifications = new Dictionary<string, NotificationPreferenceDetails>(
)
{
{ "foo", new()
{
Status = PreferenceStatus.OptedIn,
ChannelPreferences =
[
new(ChannelClassification.DirectMessage)
],
Rules =
[
new()
{
Until = "until",
Start = "start",
},
],
} },
},
},
},
],
};
await client.Lists.Subscriptions.Subscribe(parameters);courier lists:subscriptions subscribe \
--api-key 'My API Key' \
--list-id list_id \
--recipient '{recipientId: recipientId}'curl --request PUT \
--url https://api.courier.com/lists/{list_id}/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipients": [
{
"recipientId": "<string>",
"preferences": {
"categories": {},
"notifications": {}
}
}
]
}
'{
"message": "Example message text",
"type": "invalid_request_error"
}Lists
Subscribe users to a list
Subscribes the users to the list, overwriting existing subscriptions. If the list does not exist, it will be automatically created.
PUT
/
lists
/
{list_id}
/
subscriptions
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.lists.subscriptions.subscribe('list_id', {
recipients: [{ recipientId: 'recipientId' }],
});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.lists.subscriptions.subscribe(
list_id="list_id",
recipients=[{
"recipient_id": "recipientId"
}],
)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.Lists.Subscriptions.Subscribe(
context.TODO(),
"list_id",
courier.ListSubscriptionSubscribeParams{
Recipients: []courier.PutSubscriptionsRecipientParam{{
RecipientID: "recipientId",
}},
},
)
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.lists.PutSubscriptionsRecipient;
import com.courier.models.lists.subscriptions.SubscriptionSubscribeParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
CourierClient client = CourierOkHttpClient.fromEnv();
SubscriptionSubscribeParams params = SubscriptionSubscribeParams.builder()
.listId("list_id")
.addRecipient(PutSubscriptionsRecipient.builder()
.recipientId("recipientId")
.build())
.build();
client.lists().subscriptions().subscribe(params);
}
}require "courier"
courier = Courier::Client.new(api_key: "My API Key")
result = courier.lists.subscriptions.subscribe("list_id", recipients: [{recipientId: "recipientId"}])
puts(result)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Courier\Client;
use Courier\PreferenceStatus;
use Courier\ChannelClassification;
use Courier\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('COURIER_API_KEY') ?: 'My API Key');
try {
$result = $client->lists->subscriptions->subscribe(
'list_id',
recipients: [
[
'recipientID' => 'recipientId',
'preferences' => [
'categories' => [
'foo' => [
'status' => PreferenceStatus::OPTED_IN,
'channelPreferences' => [
['channel' => ChannelClassification::DIRECT_MESSAGE]
],
'rules' => [['until' => 'until', 'start' => 'start']],
],
],
'notifications' => [
'foo' => [
'status' => PreferenceStatus::OPTED_IN,
'channelPreferences' => [
['channel' => ChannelClassification::DIRECT_MESSAGE]
],
'rules' => [['until' => 'until', 'start' => 'start']],
],
],
],
],
],
);
var_dump($result);
} catch (APIException $e) {
echo $e->getMessage();
}using System.Collections.Generic;
using TryCourier;
using TryCourier.Models;
using TryCourier.Models.Lists.Subscriptions;
CourierClient client = new();
SubscriptionSubscribeParams parameters = new()
{
ListID = "list_id",
Recipients =
[
new()
{
RecipientID = "recipientId",
Preferences = new()
{
Categories = new Dictionary<string, NotificationPreferenceDetails>(
)
{
{ "foo", new()
{
Status = PreferenceStatus.OptedIn,
ChannelPreferences =
[
new(ChannelClassification.DirectMessage)
],
Rules =
[
new()
{
Until = "until",
Start = "start",
},
],
} },
},
Notifications = new Dictionary<string, NotificationPreferenceDetails>(
)
{
{ "foo", new()
{
Status = PreferenceStatus.OptedIn,
ChannelPreferences =
[
new(ChannelClassification.DirectMessage)
],
Rules =
[
new()
{
Until = "until",
Start = "start",
},
],
} },
},
},
},
],
};
await client.Lists.Subscriptions.Subscribe(parameters);courier lists:subscriptions subscribe \
--api-key 'My API Key' \
--list-id list_id \
--recipient '{recipientId: recipientId}'curl --request PUT \
--url https://api.courier.com/lists/{list_id}/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipients": [
{
"recipientId": "<string>",
"preferences": {
"categories": {},
"notifications": {}
}
}
]
}
'{
"message": "Example message text",
"type": "invalid_request_error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
A unique identifier representing the list you wish to retrieve.
Body
application/json
Show child attributes
Show child attributes
Response
⌘I