Get an access token
curl --request POST \
--url https://api.example.com/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=<string>' \
--data 'client_id=<string>' \
--data 'client_secret=<string>' \
--data scope=import requests
url = "https://api.example.com/token"
payload = {
"grant_type": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"scope": ""
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({
grant_type: '<string>',
client_id: '<string>',
client_secret: '<string>',
scope: ''
})
};
fetch('https://api.example.com/token', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "grant_type=%3Cstring%3E&client_id=%3Cstring%3E&client_secret=%3Cstring%3E&scope=",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/token"
payload := strings.NewReader("grant_type=%3Cstring%3E&client_id=%3Cstring%3E&client_secret=%3Cstring%3E&scope=")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/token")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("grant_type=%3Cstring%3E&client_id=%3Cstring%3E&client_secret=%3Cstring%3E&scope=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "grant_type=%3Cstring%3E&client_id=%3Cstring%3E&client_secret=%3Cstring%3E&scope="
response = http.request(request)
puts response.read_body{
"access_token": "<string>",
"expires_in": 123,
"scope": "<string>",
"token_type": "bearer"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"detail": "<string>"
}Authentication
Get an access token
Exchange client credentials for an OAuth2 access token.
The body is form-encoded. grant_type must be client_credentials.
Ask for every scope that you need, as one string with a space between each
scope. The authorization server grants only the scopes that you ask for,
and only the scopes that your client holds. The scope field of the answer
gives what you received.
Send the token in the Authorization header as Bearer <token>.
POST
/
token
Get an access token
curl --request POST \
--url https://api.example.com/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=<string>' \
--data 'client_id=<string>' \
--data 'client_secret=<string>' \
--data scope=import requests
url = "https://api.example.com/token"
payload = {
"grant_type": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"scope": ""
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({
grant_type: '<string>',
client_id: '<string>',
client_secret: '<string>',
scope: ''
})
};
fetch('https://api.example.com/token', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "grant_type=%3Cstring%3E&client_id=%3Cstring%3E&client_secret=%3Cstring%3E&scope=",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/token"
payload := strings.NewReader("grant_type=%3Cstring%3E&client_id=%3Cstring%3E&client_secret=%3Cstring%3E&scope=")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/token")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("grant_type=%3Cstring%3E&client_id=%3Cstring%3E&client_secret=%3Cstring%3E&scope=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "grant_type=%3Cstring%3E&client_id=%3Cstring%3E&client_secret=%3Cstring%3E&scope="
response = http.request(request)
puts response.read_body{
"access_token": "<string>",
"expires_in": 123,
"scope": "<string>",
"token_type": "bearer"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"detail": "<string>"
}Body
application/x-www-form-urlencoded
⌘I