curl --request POST \
--url https://api.kajabi.com/v1/oauth/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'username=<string>' \
--data 'password=<string>' \
--data 'client_id=<string>' \
--data 'client_secret=<string>' \
--data 'grant_type=<string>' \
--data 'scope=<string>' \
--data 'refresh_token=<string>'{
"access_token": "<string>",
"refresh_token": "<string>",
"token_type": "<string>",
"expires_in": 123
}access_token and refresh_tokenThere are three ways to exchange parameters for tokens
client_id and client_secretrefresh_tokenusername and password (client credentials is preferred)Only include params: client_id, client_secret, and grant_type.
grant_type param value must be: client_credentialsOnly include params: refresh_token and grant_type.
grant_type param value must be: refresh_tokenrefresh_token must be a unexpired JWT token, from a prior client credential token grant.Only include params: username and password.
A successful response will provide access_token and refresh_token values.
access_token in your Authorization header as a “Bearer” token to make authenticated requests to the API. E.g. GET https://api.kajabi.com/v1/merefresh_token to exchange for a new access_token when it expires.v1/oauth/revoke endpoint to “log out”.access_token (string) - The access token for the API sessionrefresh_token (string) - The refresh token for the API sessiontoken_type (string) - The type of token, always Bearerexpires_in (integer) - The number of seconds the access token will be valid forcurl --request POST \
--url https://api.kajabi.com/v1/oauth/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'username=<string>' \
--data 'password=<string>' \
--data 'client_id=<string>' \
--data 'client_secret=<string>' \
--data 'grant_type=<string>' \
--data 'scope=<string>' \
--data 'refresh_token=<string>'{
"access_token": "<string>",
"refresh_token": "<string>",
"token_type": "<string>",
"expires_in": 123
}Was this page helpful?