Skip to main content
This guide is for developers embedding Compass into a third-party application — an intranet, mobile app, or partner portal — using the Compass SDK. The integration uses OAuth2.0 to authenticate users silently, so SDRs, agents, and partners access Compass without a separate login.

Prerequisites

Contact the Xoxoday team to obtain your Client ID and Client Secret. Store these securely — they are required for every step below.

Base URL

All OAuth APIs use the following base URL, shown as {{base_url}} in the examples below:

Authentication flow

Step 1: Authorization request (one-time)

Construct the authorization URL and open it in a browser to obtain an authorization code. This is a one-time step.
Required scopes: admin_manage, admin_read, points_read, compass_integrations, user_session, points_manage Log in to Compass, then click Allow. Copy the authorization code from the redirected URL — you’ll use it in the next step.

Step 2: Company session creation

Exchange the authorization code for a Company Access Token and Refresh Token. Endpoint:
Request body:
Sample response:
Save the access_token (Company Access Token) and refresh_token — both are required in subsequent steps.

Step 3: User session token generation

Generate a User Access Token for a specific employee using the Company Access Token. Required scopes: admin_manage, user_session, points_read, points_history_read, payments, gaming_leaderboard_mob, gaming_mobile_api, compass_integrations, compass_splash Endpoint:
Authorization header:
Request body:
Sample response:

Step 4: Launch Compass via WebView

Open a WebView in your application with the following URL, replacing {user_access_token} with the value from Step 3:
The user is automatically logged into Compass.

Token expiry

Company Access Token

30 days (2,592,000 sec)

User Access Token

15 days (1,296,000 sec)

Company Refresh Token

Long-lived — rotates on each refresh
Use the Token Validation endpoint to check the remaining expires_in of any company token before making downstream calls. Proactively refresh the company token before it expires using the Refresh Token endpoint.

Token management

Refresh the Company Access Token

When the Company Access Token expires, use the Refresh Token API. Endpoint:
Authorization header:
Request body:
Sample response:

Validate the Company Access Token

Use the Token Validation API to check whether the current token is still valid. Endpoint:
Authorization header:
Sample response:

Logout

Call the User Logout API whenever the user logs out of the host application. Endpoint:
Authorization header:
Request body:
Sample response:

Postman collection

Use the Compass Connect Postman collection to try every API in this guide. It includes the Company Session Creation, User Session Generation, SDK Web-View, Refresh Token, Token Validation, and User Logout requests, pre-configured with collection variables.

Download the Compass Connect Postman collection

Import this file into Postman, then set the collection variables below.
Set these collection variables after importing:

Endpoint reference

{{base_url}} is https://accounts.getcompass.ai/chef/v1/oauth.