/v1/oauth/token
POST {{baseUrl}}/v1/oauth/token
This endpoint implements the OAuth 2.0 token
endpoint, as part of the Authorization Code flow with Proof Key for Code Exchange (PKCE). For more information, see Authentication.
To generate an access token, you must provide one of the following:
- An authorization code
- A refresh token
Generating a token using either an authorization code or a refresh token allows your integration to act on behalf of a user. You must first obtain user authorization and get an authorization code.
Access tokens may be up to 4 KB in size, and are only valid for a specified period of time. The expiry time (currently 4 hours) is shown in the endpoint response and is subject to change.
Endpoint authentication
Requests to this endpoint require authentication with your client ID and client secret, using one of the following methods:
- Basic access authentication (Recommended): For basic access authentication, the
{credentials}
string must be a Base64 encoded value of{client id}:{client secret}
. - Body parameters: Provide your integration's credentials using the
client_id
andclient_secret
body parameters.
Generate an access token using an authorization code
To generate an access token with an authorization code, you must:
- Set
grant_type
toauthorization_code
. - Provide the
code_verifier
value that you generated when creating the user authorization URL. - Provide the authorization code you received after the user authorized the integration.
Generate an access token using a refresh token
Using the refresh_token
value from a previous user token request, you can get a new access token with the same or smaller scope as the previous one, but with a refreshed expiry time. You will also receive a new refresh token that you can use to refresh the access token again.
To refresh an existing access token, you must:
- Set
grant_type
torefresh_token
. - Provide the
refresh_token
from a previous token request.
Request Body
[{"name"=>"code", "value"=>"<string>", "datatype"=>"string"}, {"name"=>"code_verifier", "value"=>"<string>", "datatype"=>"string"}, {"name"=>"grant_type", "value"=>"authorization_code", "datatype"=>"string"}, {"name"=>"client_id", "value"=>"<string>", "datatype"=>"string"}, {"name"=>"client_secret", "value"=>"<string>", "datatype"=>"string"}, {"name"=>"redirect_uri", "value"=>"<string>", "datatype"=>"string"}]
HEADERS
Key | Datatype | Required | Description |
---|---|---|---|
Content-Type | string | ||
Accept | string |
RESPONSES
status: OK
{"access_token":"\u003cstring\u003e","expires_in":"\u003clong\u003e","refresh_token":"\u003cstring\u003e","token_type":"\u003cstring\u003e","scope":"\u003cstring\u003e"}