Skip to content

Authentication

You need a Developer Plan to use the Teleport API

To access the Teleport API, you’ll need an active Developer Plan. If you don’t have one yet, visit our pricing page to learn how to upgrade your account.

Before you can start using the API, you’ll need to obtain your Teleport API key.

  1. Log in to your account and open the Developer Dashboard.
  2. Click Request API Key if you haven’t already done so. Your key will be issued within 24 hours.
  3. Once available, copy your client_id and client_secret values and store them securely - you’ll need them for authentication.

⚠️ Keep your client_secret safe. Treat it as you would treat your account’s password.


Endpoint#

The Teleport authentication service issues tokens at the following endpoint:

POST https://signin.teleport.varjo.com/oauth2/token

Requesting an Auth Token#

All API requests must be authenticated using an authentication token. To obtain one, send a POST request to the Teleport authentication service:

curl -X POST "https://signin.teleport.varjo.com/oauth2/token" \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": CLIENT_ID,
    "client_secret": CLIENT_SECRET,
    "scope": "openid profile email"
  }'

Request Parameters#

Parameter Type Required Description
grant_type string ✅ Yes The OAuth 2.0 grant type. Use client_credentials for this flow.
client_id string ✅ Yes Your unique client identifier obtained from the Developer Dashboard.
client_secret string ✅ Yes Your secret key used to authenticate your client. Keep this private.
scope string Optional The access scope. Defaults to openid profile email.

Example response#

{
  "access_token": "AUTH_TOKEN",
  "expires_in": 3600,
  "token_type": "bearer"
}

⚠️ The expires_in field in the response tells you that the token is valid for an hour (3600 seconds).

Using the Auth Token#

Use the returned AUTH_TOKEN as your authorization header for subsequent API requests:

Authorization: Bearer AUTH_TOKEN

If you encounter a 401 Unauthorized in the authenticated requests, you should request a new one like listed above.