Skip to main content
GET
/
v1
/
channel-connections
PHP
declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;
use novu\Models\Operations;

$sdk = novu\Novu::builder()
    ->setSecurity(
        'YOUR_SECRET_KEY_HERE'
    )
    ->build();

$request = new Operations\ChannelConnectionsControllerListChannelConnectionsRequest(
    limit: 10,
    subscriberId: 'subscriber-123',
    channel: Operations\Channel::Chat,
    providerId: Components\ProvidersIdEnum::Slack,
    integrationIdentifier: 'slack-prod',
    contextKeys: [
        'tenant:org-123',
        'region:us-east-1',
    ],
);

$response = $sdk->channelConnections->list(
    request: $request
);

if ($response->listChannelConnectionsResponseDto !== null) {
    // handle response
}
{
  "data": [
    {
      "identifier": "<string>",
      "providerId": "slack",
      "integrationIdentifier": "slack-prod",
      "subscriberId": "subscriber-123",
      "contextKeys": [
        "tenant:org-123",
        "region:us-east-1"
      ],
      "workspace": {
        "id": "T123456",
        "name": "Acme HQ"
      },
      "auth": {
        "accessToken": "Workspace access token"
      },
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ],
  "next": "<string>",
  "previous": "<string>",
  "totalCount": 123,
  "totalCountCapped": true
}

Authorizations

Authorization
string
header
required

API key authentication. Allowed headers-- "Authorization: ApiKey <novu_secret_key>".

Headers

idempotency-key
string

A header for idempotency purposes

Query Parameters

after
string

Cursor for pagination indicating the starting point after which to fetch results.

before
string

Cursor for pagination indicating the ending point before which to fetch results.

limit
number

Limit the number of items to return (max 100)

Required range: x <= 100
orderDirection
enum<string>

Direction of sorting

Available options:
ASC,
DESC
orderBy
string

Field to order by

includeCursor
boolean

Include cursor item in response

subscriberId
string

The subscriber ID to filter results by

channel
enum<string>

Filter by channel type (email, sms, push, chat, etc.).

Available options:
in_app,
email,
sms,
chat,
push
providerId
enum<string>

Filter by provider identifier (e.g., sendgrid, twilio, slack, etc.). Provider ID of the job

Available options:
emailjs,
mailgun,
mailjet,
mandrill,
nodemailer,
postmark,
sendgrid,
sendinblue,
ses,
netcore,
infobip-email,
resend,
plunk,
mailersend,
mailtrap,
clickatell,
outlook365,
novu-email,
sparkpost,
email-webhook,
braze,
novu-email-agent,
nexmo,
plivo,
sms77,
sms-central,
sns,
telnyx,
twilio,
gupshup,
firetext,
infobip-sms,
burst-sms,
bulk-sms,
isend-sms,
forty-six-elks,
kannel,
maqsam,
termii,
africas-talking,
novu-sms,
sendchamp,
generic-sms,
clicksend,
bandwidth,
messagebird,
simpletexting,
azure-sms,
ring-central,
brevo-sms,
eazy-sms,
mobishastra,
afro-message,
unifonic,
smsmode,
imedia,
sinch,
isendpro-sms,
cm-telecom,
fcm,
apns,
expo,
one-signal,
pushpad,
push-webhook,
pusher-beams,
appio,
novu,
slack,
discord,
msteams,
mattermost,
ryver,
zulip,
grafana-on-call,
getstream,
rocket-chat,
whatsapp-business,
chat-webhook,
novu-slack,
telegram,
anthropic,
novu-anthropic,
anthropic-aws
integrationIdentifier
string

Filter by integration identifier.

contextKeys
string[]

Filter by exact context keys, order insensitive (format: "type:id")

Response

OK

data
object[]
required

List of returned Channel Connections

next
string | null
required

The cursor for the next page of results, or null if there are no more pages.

previous
string | null
required

The cursor for the previous page of results, or null if this is the first page.

totalCount
number
required

The total count of items (up to 50,000)

totalCountCapped
boolean
required

Whether there are more than 50,000 results available