JavaScript User 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/user-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/user-client';

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

  const { data } = await client.channels.getInAppInboxTokens({
    limit: 3,
    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
ChannelsService
IntegrationsService
NotificationsService

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
InboxTokenResponseCollection
InboxToken
InboxTokenResponse1
DiscardResult
ApnsTokenCollection
ApnsTokenPayload
ApnsToken
ExpoTokenCollection
ExpoTokenPayload
ExpoToken
FcmTokenCollection
FcmTokenPayload
FcmToken
SlackTokenCollection
SlackTokenPayload
SlackToken
TeamsTokenCollection
TeamsTokenPayload
TeamsToken
WebPushTokenCollection
WebPushTokenPayload
WebPushToken
InboxConfigPayload
SlackInstallation
SlackFinishInstallResponse
SlackStartInstall
SlackStartInstallResponseContent
TemplatesInstallation
WebPushStartInstallationResponse
NotificationCollection
Links
Notification