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.subscribeUser('user_id', {
list_id: 'list_id',
preferences: { notifications: { nt_01kx4h2jdafq8bk9aftxak4b40: { status: 'OPTED_IN' } } },
});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_user(
user_id="user_id",
list_id="list_id",
preferences={
"notifications": {
"nt_01kx4h2jdafq8bk9aftxak4b40": {
"status": "OPTED_IN"
}
}
},
)package main
import (
"context"
"github.com/trycourier/courier-go/v4"
"github.com/trycourier/courier-go/v4/option"
"github.com/trycourier/courier-go/v4/shared"
)
func main() {
client := courier.NewClient(
option.WithAPIKey("My API Key"),
)
err := client.Lists.Subscriptions.SubscribeUser(
context.TODO(),
"user_id",
courier.ListSubscriptionSubscribeUserParams{
ListID: "list_id",
Preferences: shared.RecipientPreferencesParam{
Notifications: map[string]shared.NotificationPreferenceDetailsParam{
"nt_01kx4h2jdafq8bk9aftxak4b40": {
Status: shared.PreferenceStatusOptedIn,
},
},
},
},
)
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.subscriptions.SubscriptionSubscribeUserParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
CourierClient client = CourierOkHttpClient.fromEnv();
SubscriptionSubscribeUserParams params = SubscriptionSubscribeUserParams.builder()
.listId("list_id")
.userId("user_id")
.build();
client.lists().subscriptions().subscribeUser(params);
}
}require "courier"
courier = Courier::Client.new(api_key: "My API Key")
result = courier.lists.subscriptions.subscribe_user("user_id", list_id: "list_id")
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->subscribeUser(
'user_id',
listID: 'list_id',
preferences: [
'categories' => [
'foo' => [
'status' => PreferenceStatus::OPTED_IN,
'channelPreferences' => [
['channel' => ChannelClassification::DIRECT_MESSAGE]
],
'rules' => [['until' => 'until', 'start' => 'start']],
],
],
'notifications' => [
'nt_01kx4h2jdafq8bk9aftxak4b40' => [
'status' => PreferenceStatus::OPTED_IN,
'channelPreferences' => [
['channel' => ChannelClassification::DIRECT_MESSAGE]
],
'rules' => [['until' => 'until', 'start' => 'start']],
],
],
],
);
var_dump($result);
} catch (APIException $e) {
echo $e->getMessage();
}using TryCourier;
using TryCourier.Models.Lists.Subscriptions;
CourierClient client = new();
SubscriptionSubscribeUserParams parameters = new()
{
ListID = "list_id",
UserID = "user_id",
};
await client.Lists.Subscriptions.SubscribeUser(parameters);courier lists:subscriptions subscribe-user \
--api-key 'My API Key' \
--list-id list_id \
--user-id user_idcurl --request PUT \
--url https://api.courier.com/lists/{list_id}/subscriptions/{user_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"preferences": {
"notifications": {
"nt_01kx4h2jdafq8bk9aftxak4b40": {
"status": "OPTED_IN"
}
}
}
}
'Lists
Subscribe a single user profile to a list
Subscribes one user to a list, creating the list if it does not yet exist. Optional preferences apply to this subscription only.
PUT
/
lists
/
{list_id}
/
subscriptions
/
{user_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.lists.subscriptions.subscribeUser('user_id', {
list_id: 'list_id',
preferences: { notifications: { nt_01kx4h2jdafq8bk9aftxak4b40: { status: 'OPTED_IN' } } },
});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_user(
user_id="user_id",
list_id="list_id",
preferences={
"notifications": {
"nt_01kx4h2jdafq8bk9aftxak4b40": {
"status": "OPTED_IN"
}
}
},
)package main
import (
"context"
"github.com/trycourier/courier-go/v4"
"github.com/trycourier/courier-go/v4/option"
"github.com/trycourier/courier-go/v4/shared"
)
func main() {
client := courier.NewClient(
option.WithAPIKey("My API Key"),
)
err := client.Lists.Subscriptions.SubscribeUser(
context.TODO(),
"user_id",
courier.ListSubscriptionSubscribeUserParams{
ListID: "list_id",
Preferences: shared.RecipientPreferencesParam{
Notifications: map[string]shared.NotificationPreferenceDetailsParam{
"nt_01kx4h2jdafq8bk9aftxak4b40": {
Status: shared.PreferenceStatusOptedIn,
},
},
},
},
)
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.subscriptions.SubscriptionSubscribeUserParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
CourierClient client = CourierOkHttpClient.fromEnv();
SubscriptionSubscribeUserParams params = SubscriptionSubscribeUserParams.builder()
.listId("list_id")
.userId("user_id")
.build();
client.lists().subscriptions().subscribeUser(params);
}
}require "courier"
courier = Courier::Client.new(api_key: "My API Key")
result = courier.lists.subscriptions.subscribe_user("user_id", list_id: "list_id")
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->subscribeUser(
'user_id',
listID: 'list_id',
preferences: [
'categories' => [
'foo' => [
'status' => PreferenceStatus::OPTED_IN,
'channelPreferences' => [
['channel' => ChannelClassification::DIRECT_MESSAGE]
],
'rules' => [['until' => 'until', 'start' => 'start']],
],
],
'notifications' => [
'nt_01kx4h2jdafq8bk9aftxak4b40' => [
'status' => PreferenceStatus::OPTED_IN,
'channelPreferences' => [
['channel' => ChannelClassification::DIRECT_MESSAGE]
],
'rules' => [['until' => 'until', 'start' => 'start']],
],
],
],
);
var_dump($result);
} catch (APIException $e) {
echo $e->getMessage();
}using TryCourier;
using TryCourier.Models.Lists.Subscriptions;
CourierClient client = new();
SubscriptionSubscribeUserParams parameters = new()
{
ListID = "list_id",
UserID = "user_id",
};
await client.Lists.Subscriptions.SubscribeUser(parameters);courier lists:subscriptions subscribe-user \
--api-key 'My API Key' \
--list-id list_id \
--user-id user_idcurl --request PUT \
--url https://api.courier.com/lists/{list_id}/subscriptions/{user_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"preferences": {
"notifications": {
"nt_01kx4h2jdafq8bk9aftxak4b40": {
"status": "OPTED_IN"
}
}
}
}
'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.
A unique identifier representing the recipient associated with the list
Body
application/json
Show child attributes
Show child attributes
Response
204 - undefined
⌘I