OAuth 2.0 token
curl --request POST \
--url https://account.sendcloud.com/oauth2/token \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=<string>' \
--data 'client_id=<string>' \
--data 'code=<string>' \
--data 'redirect_uri=<string>' \
--data 'refresh_token=<string>'import requests
url = "https://account.sendcloud.com/oauth2/token"
payload = {
"grant_type": "<string>",
"client_id": "<string>",
"code": "<string>",
"redirect_uri": "<string>",
"refresh_token": "<string>"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
grant_type: '<string>',
client_id: '<string>',
code: '<string>',
redirect_uri: '<string>',
refresh_token: '<string>'
})
};
fetch('https://account.sendcloud.com/oauth2/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://account.sendcloud.com/oauth2/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&code=%3Cstring%3E&redirect_uri=%3Cstring%3E&refresh_token=%3Cstring%3E",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://account.sendcloud.com/oauth2/token"
payload := strings.NewReader("grant_type=%3Cstring%3E&client_id=%3Cstring%3E&code=%3Cstring%3E&redirect_uri=%3Cstring%3E&refresh_token=%3Cstring%3E")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://account.sendcloud.com/oauth2/token")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("grant_type=%3Cstring%3E&client_id=%3Cstring%3E&code=%3Cstring%3E&redirect_uri=%3Cstring%3E&refresh_token=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://account.sendcloud.com/oauth2/token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "grant_type=%3Cstring%3E&client_id=%3Cstring%3E&code=%3Cstring%3E&redirect_uri=%3Cstring%3E&refresh_token=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"access_token": "<string>",
"expires_in": 123,
"id_token": "<string>",
"refresh_token": "<string>",
"scope": "<string>",
"token_type": "<string>"
}{
"error": "<string>",
"error_debug": "<string>",
"error_description": "<string>",
"error_hint": "The redirect URL is not allowed.",
"status_code": 401
}Auth API
OAuth 2.0 token
Use this endpoint to get a new OAuth 2.0 access token.
POST
/
oauth2
/
token
OAuth 2.0 token
curl --request POST \
--url https://account.sendcloud.com/oauth2/token \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=<string>' \
--data 'client_id=<string>' \
--data 'code=<string>' \
--data 'redirect_uri=<string>' \
--data 'refresh_token=<string>'import requests
url = "https://account.sendcloud.com/oauth2/token"
payload = {
"grant_type": "<string>",
"client_id": "<string>",
"code": "<string>",
"redirect_uri": "<string>",
"refresh_token": "<string>"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
grant_type: '<string>',
client_id: '<string>',
code: '<string>',
redirect_uri: '<string>',
refresh_token: '<string>'
})
};
fetch('https://account.sendcloud.com/oauth2/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://account.sendcloud.com/oauth2/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&code=%3Cstring%3E&redirect_uri=%3Cstring%3E&refresh_token=%3Cstring%3E",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://account.sendcloud.com/oauth2/token"
payload := strings.NewReader("grant_type=%3Cstring%3E&client_id=%3Cstring%3E&code=%3Cstring%3E&redirect_uri=%3Cstring%3E&refresh_token=%3Cstring%3E")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://account.sendcloud.com/oauth2/token")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("grant_type=%3Cstring%3E&client_id=%3Cstring%3E&code=%3Cstring%3E&redirect_uri=%3Cstring%3E&refresh_token=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://account.sendcloud.com/oauth2/token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "grant_type=%3Cstring%3E&client_id=%3Cstring%3E&code=%3Cstring%3E&redirect_uri=%3Cstring%3E&refresh_token=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"access_token": "<string>",
"expires_in": 123,
"id_token": "<string>",
"refresh_token": "<string>",
"scope": "<string>",
"token_type": "<string>"
}{
"error": "<string>",
"error_debug": "<string>",
"error_description": "<string>",
"error_hint": "The redirect URL is not allowed.",
"status_code": 401
}Authorizations
basicoauth2
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Body
application/x-www-form-urlencoded
Response
OAuth2TokenExchange
OAuth2 Token Exchange Result
The access token issued by the authorization server.
The lifetime in seconds of the access token. For example, the value "3600" denotes that the access token will expire in one hour from the time the response was generated.
To retrieve a refresh token request the id_token scope.
The refresh token, which can be used to obtain new access tokens. To retrieve it add the scope "offline" to your access token request.
The scope of the access token
The type of the token issued
⌘I