JavaScript Project Client

Setup & Configuration

Supported Language Versions

This SDK is compatible with the following versions: TypeScript >= 4.8.4

Installation

To get started with the SDK, we recommend installing using npm:

npm install @magicbell/project-client

Authentication

Access Token Authentication

The Client API uses an Access Token for authentication.

This token must be provided to authenticate your requests to the API.

Setting the Access Token

When you initialize the SDK, you can set the access token as follows:

const sdk = new Client({ token: 'YOUR_TOKEN' });

If you need to set or update the access token after initializing the SDK, you can use:

const sdk = new Client();
sdk.token = 'YOUR_TOKEN';

Setting a Custom Timeout

You can set a custom timeout for the SDK's HTTP requests as follows:

const client = new Client({ timeout: 10000 });

Sample Usage

Below is a comprehensive example demonstrating how to authenticate and call a simple endpoint:

import { Client } from '@magicbell/project-client';

(async () => {
  const client = new Client({
    token: 'YOUR_TOKEN',
  });

  const { data } = await client.broadcasts.listBroadcasts({
    limit: 8,
    startingAfter: 'starting_after',
    endingBefore: 'ending_before',
  });

  console.log(data);
})();

Services

The SDK provides various services to interact with the API.

Below is a list of all available services with links to their detailed documentation:
Name
BroadcastsService
ChannelsService
EventsService
IntegrationsService
JwtService
NotificationsService
UsersService

Models

The SDK includes several models that represent the data structures used in API requests and responses. These models help in organizing and managing the data efficiently.

Below is a list of all available models with links to their detailed documentation:
Name Description
BroadcastCollection
Broadcast
CategoryDeliveryConfig
InboxTokenResponseCollection
InboxTokenResponse
DiscardResult
ApnsTokenCollection
ApnsToken
ExpoTokenCollection
ExpoToken
FcmTokenCollection
FcmToken
SlackTokenCollection
SlackToken
TeamsTokenCollection
TeamsToken
WebPushTokenCollection
WebPushToken
EventCollection
Event
IntegrationConfigCollection
ApnsConfigCollection
ApnsConfigPayload
AwssnsConfigCollection
AwssnsConfigPayload
EventSourceConfigCollection
EventSourceConfigPayload
ExpoConfigCollection
ExpoConfigPayload
FcmConfigCollection
FcmConfigPayload
GithubConfigCollection
GithubConfigPayload
InboxConfigCollection
InboxConfigPayload
MailgunConfigCollection
MailgunConfigPayload
PingConfigCollection
PingConfigPayload
SendgridConfigCollection
SendgridConfigPayload
SesConfigCollection
SesConfigPayload
SlackConfigCollection
SlackConfigPayload
StripeConfigCollection
StripeConfigPayload
TemplatesConfigCollection
TwilioConfigCollection
TwilioConfigPayload
WebpushConfigCollection
WebpushConfigPayload
AccessTokenCollection
CreateProjectTokenRequest
CreateTokenResponse
DiscardTokenResponse
CreateUserTokenRequest
DeliveryPlanCollection
UserCollection
User
Links
IntegrationConfig
ApnsConfig
AwssnsConfig
EventSourceConfig
ExpoConfig
FcmConfig
GithubConfig
InboxConfig
MailgunConfig
PingConfig
SendgridConfig
SesConfig
SlackConfig
StripeConfig
TemplatesConfig
TwilioConfig
WebpushConfig
AccessToken
DeliveryPlan