Skip to content
AtlasDocs
Sign inGet started
Updated Oct 03, 2026

Atlas SDK

Which call do I use? Find your goal in the table, open its page. The same calls exist in C++, JavaScript and Python.

Find the call

I want toCallPage
Start the libraryStartup()Session Lifecycle
Sign in with a license keyLicense::Login(key)License
Sign in with a username and passwordAccount::Login(user, password)Account
Let a signed-in user add a key to their accountAccount::Redeem(key)Account
Show how many days are leftData::GetDaysRemaining()Data
Read the username, IP or expiry of the sessionData::GetUsername(), GetIP(), GetExpiry()Data
Find out why a call failedData::GetErrorMessage()Data
Confirm the session is still valid before a sensitive actionNetwork::CheckAuthentication()Network
Download a file you uploaded on the dashboardNetwork::Download(file_id)Network
Write a line to the dashboard Logs tabNetwork::SubmitLog(text)Network
Ban the current userNetwork::BanUser(reason, minutes)Network
Change a setting without shipping a new buildVariables::Fetch(key)Variables
Turn a feature on or off per customerEntitlements::Has(key)Entitlements
Sell credits and charge one per actionEntitlements::Consume(key)Entitlements
Send a message to Discord, Slack or your own serverWebhook::SendDiscord(url, message)Webhook
Show a ready-made sign-in window (C++ only)License::Dialog::Login(), Account::Dialog::Login()Dialog

The order

  1. 1

    Set the API key

    Copy it from Dashboard, Applications. Set API_KEY before anything else.
  2. 2

    Call Startup() once

    At the start of the program, and never again. A GUI app calls it after its window exists.
  3. 3

    Sign in

    With License or Account. Use the one your app is built around.
  4. 4

    Use the session

    Data, Network, Variables and Entitlements only have something to say after a successful sign-in. Before it they return empty values.
  5. 5

    Call Logout() when you are done

    It ends the session. The library stays loaded, so you can sign in again without Startup().
Atlas::API_KEY = "YOUR_API_KEY";
Atlas::Startup();
if (!Atlas::License::Login("ATLAS-A9F2K-4RMXM")) {
std::cout << Atlas::Data::GetErrorMessage(); // why it failed
return 1;
}
RunApp();
Atlas::Logout();

When a call fails

A call that can fail returns false, or an empty value: "", 0 or an empty list. It does not raise. The one exception is Startup(), which raises in JavaScript and Python and ends the process in C++.

The reason is in Data::GetErrorMessage(). Read it right after the failing call, because the next call can replace it. Show it to your user, or log it. Do not parse it: the wording can change.

Names in each language

Same names everywhere. C++ writes Atlas::Data::GetExpiry(), JavaScript and Python write atlas.Data.GetExpiry(). One exception: signing in to a license with a username and password is License::Login(user, password) in C++ and License.LoginUser(user, password) in JavaScript and Python, because those languages have no overloads.