Obtain an OAuth 2.0 access token

Prev Next
Post
/oauth2/token/{tenantId}

Issues an access token using the OAuth 2.0 client credentials flow. Use the public API servers for API access and the users API servers for webhook access.

Security
HTTP
Type basic

HTTP Basic authentication using your Tenant ID and API secret.

  • Username is the Tenant ID (i.e. eu-west-2_AbcdEfghI)
  • Password is the API secret you would have received.

You can also authenticate using OAuth 2.0 client credentials (oauth2 security scheme) instead of Basic auth.

OAuth

OAuth 2.0 client credentials authentication.

Use the following token endpoints (replace :tenantId with your Tenant ID):

  • Public API access tokens

    • Staging: https://public.api.learnstaging.link/oauth2/token/:tenantId
    • Production: https://public.api.learn.link/oauth2/token/:tenantId
    • Staging MEA: https://public.api.meastaging.learn.tech/oauth2/token/:tenantId
    • Production MEA: https://public.api.mea.learn.tech/oauth2/token/:tenantId
  • Webhooks access tokens

    • Staging: https://user.api.learnstaging.link/oauth2/token/:tenantId
    • Production: https://user.api.learn.link/oauth2/token/:tenantId
    • Staging MEA: https://user.api.meastaging.learn.tech/oauth2/token/:tenantId
    • Production MEA: https://user.api.mea.learn.tech/oauth2/token/:tenantId

All access tokens must be sent using the Authorization: Bearer <access_token> header.

Scopes

For API access (non-webhooks), the following scopes are available:

  • api/all – Full read and write access to the API.
  • api/read – Read-only access to the API.
  • api/write – Write access to the API.

For webhooks, the following scopes are available:

  • api/webhooks – Access to webhook functionality.
  • api/all – Full read and write access to the API, including webhooks.

Tokens must include appropriate scopes for the endpoints you wish to call.

FlowClient Credentials
Token URLhttps://public.api.learn.link/oauth2/token/:tenantId
Path parameters
tenantId
stringRequired

Tenant ID (also used as the OAuth client_id).

Body parameters
object
grant_type
string Required
Valid values[ "client_credentials" ]
client_id
string

Tenant ID.

client_secret
string

API secret.

scope
string

Optional space-delimited list of scopes.

Exampleapi/read api/write
Responses
200

Access token response

object

OAuth 2.0 client credentials token response.

access_token
string

The access token to use in the Authorization header.

ExampleeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
token_type
string
ExampleBearer
expires_in
integer

Token lifetime in seconds.

Example3600
scope
string

Space-delimited scopes granted to the token.

Exampleapi/read api/write
400

Bad Request

object

Bad Request

status
number
Example400.0
error
string
ExampleBad Request
message
string #deprecatedtemplate# #additional-property-template#
OneOf
string
string
object
object
401

Unauthorized

object

Unauthorized

status
number
Example401.0
error
string
ExampleUnauthorized
message
string
default

Internal Server Error

object

Internal Server Error

status
number
Example500.0
error
string
ExampleInternal Server Error
message
string