This guide is for direct JavaScript/TypeScript integration. If you’re using one of our supported frameworks, we recommend using their dedicated SDKs instead:
- Next.js SDK - For Next.js applications
- React SDK - For React applications
- Express SDK - For Express.js applications
Installation
- npm
- pnpm
- yarn
Terminal
Initialization
1
Set the Atlas API key in the environment variables
You can get it from the Atlas Dashboard.
.env
2
Create the Atlas Client
To initialize the Atlas SDK, you need to instantiate the Atlas Client with your API key:
src/atlas/client.ts
Core Features
The Atlas JavaScript client provides several methods to interact with Atlas services:Feature Management
Register Features
Register features that your application uses:Check Feature Access
Check if a customer has access to specific features:Customer Management
Get Customer Features
Retrieve all features a customer may have access to:Get Customer Details
Get detailed information about a customer:Pricing Model
Get information about your pricing model:Limit-based features
Sometimes, just having a feature as enabled or disabled is not enough, and our pricing models require limits to be set. For example, 5 users per account, or 20GB of storage. Setting this up with Atlas is very easy. And, if at some point the limits change, you won’t need to change the code again! When initializing the Atlas client, you can configure a limit callback for a feature. This callback will be called when a limit-based feature is checked. The callback should return the number of usages for the feature. For example:src/atlas/client.ts
Usage-based features
Usage-based and credit-based features allow you to bill customers based on their consumption. These features track usage events and apply billing according to your pricing model configuration.Reporting events
To bill your customers correctly, your application must send an event to Atlas each time a usage-based feature is consumed. To do this, you can use theenqueueEvents method of the Atlas client.
Batching events
To optimize performance and avoid rate limits, the Atlas client automatically batches usage events before sending them. You can customize this batching behavior by configuring theeventsFlushAt (number of events) and eventsFlushInterval (time in milliseconds) options during client initialization.
src/index.ts
flushEvents method. This is particularly useful for ensuring no events are lost during a graceful shutdown of your application.

