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({
    pageSize: 8,
    pageAfter: 'page[after]',
    pageBefore: 'page[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

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
ArrayOfBroadcasts
Broadcast
ProjectDeliveryConfig
CategoryDeliveryConfig
ArrayOfMetadataApnsTokens
MetadataApnsToken
DiscardResult
ArrayOfMetadataExpoTokens
MetadataExpoToken
ArrayOfMetadataFcmTokens
MetadataFcmToken
ArrayOfMetadataSlackTokens
MetadataSlackToken
ArrayOfMetadataTeamsTokens
MetadataTeamsToken
ArrayOfMetadataWebPushTokens
MetadataWebPushToken
ArrayOfEvents
ArrayOfIntegrationObjects
ArrayOfApnsConfigObjects
ApnsConfig
ArrayOfAwssnsConfigObjects
AwssnsConfig
ArrayOfExpoConfigObjects
ExpoConfig
ArrayOfFcmConfigObjects
FcmConfig
ArrayOfGithubConfigObjects
GithubConfig
ArrayOfInboxConfigObjects
InboxConfig
ArrayOfMailgunConfigObjects
MailgunConfig
ArrayOfPingConfigObjects
PingConfig
ArrayOfSendgridConfigObjects
SendgridConfig
ArrayOfSesConfigObjects
SesConfig
ArrayOfSlackConfigObjects
SlackConfig
ArrayOfStripeConfigObjects
StripeConfig
ArrayOfTemplatesConfigObjects
ArrayOfTwilioConfigObjects
TwilioConfig
ArrayOfWebpushConfigObjects
WebpushConfig
ArrayOfFetchTokensResponseTokens
CreateProjectTokenRequest
AccessToken
DiscardTokenResponse
CreateUserTokenRequest
Links
ApnsToken
TokenMetadata
ExpoToken
FcmToken
SlackToken
TeamsToken
WebPushToken
Event
IntegrationObject
ApnsConfigObject
AwssnsConfigObject
ExpoConfigObject
FcmConfigObject
GithubConfigObject
InboxConfigObject
MailgunConfigObject
PingConfigObject
SendgridConfigObject
SesConfigObject
SlackConfigObject
StripeConfigObject
TemplatesConfigObject
TwilioConfigObject
WebpushConfigObject
FetchTokensResponseToken