cURL
curl --request POST \
--url https://api.example.com/{connector_id}/handle_authorization_callback \
--header 'Content-Type: application/json' \
--data '
{
"request": {
"client_id": "<string>",
"client_secret": "<string>",
"redirect_uri_with_code": "<string>",
"credential_id": "<string>",
"state": "<string>",
"code_verifier": "<string>"
},
"include_raw_data": true,
"page": {
"token": "<string>",
"size": 123
},
"settings": {}
}
'import requests
url = "https://api.example.com/{connector_id}/handle_authorization_callback"
payload = {
"request": {
"client_id": "<string>",
"client_secret": "<string>",
"redirect_uri_with_code": "<string>",
"credential_id": "<string>",
"state": "<string>",
"code_verifier": "<string>"
},
"include_raw_data": True,
"page": {
"token": "<string>",
"size": 123
},
"settings": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
request: {
client_id: '<string>',
client_secret: '<string>',
redirect_uri_with_code: '<string>',
credential_id: '<string>',
state: '<string>',
code_verifier: '<string>'
},
include_raw_data: true,
page: {token: '<string>', size: 123},
settings: {}
})
};
fetch('https://api.example.com/{connector_id}/handle_authorization_callback', 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/{connector_id}/handle_authorization_callback",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'request' => [
'client_id' => '<string>',
'client_secret' => '<string>',
'redirect_uri_with_code' => '<string>',
'credential_id' => '<string>',
'state' => '<string>',
'code_verifier' => '<string>'
],
'include_raw_data' => true,
'page' => [
'token' => '<string>',
'size' => 123
],
'settings' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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/{connector_id}/handle_authorization_callback"
payload := strings.NewReader("{\n \"request\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"redirect_uri_with_code\": \"<string>\",\n \"credential_id\": \"<string>\",\n \"state\": \"<string>\",\n \"code_verifier\": \"<string>\"\n },\n \"include_raw_data\": true,\n \"page\": {\n \"token\": \"<string>\",\n \"size\": 123\n },\n \"settings\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
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/{connector_id}/handle_authorization_callback")
.header("Content-Type", "application/json")
.body("{\n \"request\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"redirect_uri_with_code\": \"<string>\",\n \"credential_id\": \"<string>\",\n \"state\": \"<string>\",\n \"code_verifier\": \"<string>\"\n },\n \"include_raw_data\": true,\n \"page\": {\n \"token\": \"<string>\",\n \"size\": 123\n },\n \"settings\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/{connector_id}/handle_authorization_callback")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"request\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"redirect_uri_with_code\": \"<string>\",\n \"credential_id\": \"<string>\",\n \"state\": \"<string>\",\n \"code_verifier\": \"<string>\"\n },\n \"include_raw_data\": true,\n \"page\": {\n \"token\": \"<string>\",\n \"size\": 123\n },\n \"settings\": {}\n}"
response = http.request(request)
puts response.read_body{
"response": {
"access_token": "<string>",
"token_type": "bearer",
"refresh_token": "<string>",
"state": "<string>"
},
"raw_data": "<unknown>",
"page": {
"token": "<string>",
"size": 123
}
}OAuth Capabilities
/{connector_id}/handle_authorization_callback
Handle Authorization Callback
This operation processes the OAuth callback to exchange the authorization code for access and refresh tokens.
POST
/
{connector_id}
/
handle_authorization_callback
cURL
curl --request POST \
--url https://api.example.com/{connector_id}/handle_authorization_callback \
--header 'Content-Type: application/json' \
--data '
{
"request": {
"client_id": "<string>",
"client_secret": "<string>",
"redirect_uri_with_code": "<string>",
"credential_id": "<string>",
"state": "<string>",
"code_verifier": "<string>"
},
"include_raw_data": true,
"page": {
"token": "<string>",
"size": 123
},
"settings": {}
}
'import requests
url = "https://api.example.com/{connector_id}/handle_authorization_callback"
payload = {
"request": {
"client_id": "<string>",
"client_secret": "<string>",
"redirect_uri_with_code": "<string>",
"credential_id": "<string>",
"state": "<string>",
"code_verifier": "<string>"
},
"include_raw_data": True,
"page": {
"token": "<string>",
"size": 123
},
"settings": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
request: {
client_id: '<string>',
client_secret: '<string>',
redirect_uri_with_code: '<string>',
credential_id: '<string>',
state: '<string>',
code_verifier: '<string>'
},
include_raw_data: true,
page: {token: '<string>', size: 123},
settings: {}
})
};
fetch('https://api.example.com/{connector_id}/handle_authorization_callback', 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/{connector_id}/handle_authorization_callback",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'request' => [
'client_id' => '<string>',
'client_secret' => '<string>',
'redirect_uri_with_code' => '<string>',
'credential_id' => '<string>',
'state' => '<string>',
'code_verifier' => '<string>'
],
'include_raw_data' => true,
'page' => [
'token' => '<string>',
'size' => 123
],
'settings' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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/{connector_id}/handle_authorization_callback"
payload := strings.NewReader("{\n \"request\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"redirect_uri_with_code\": \"<string>\",\n \"credential_id\": \"<string>\",\n \"state\": \"<string>\",\n \"code_verifier\": \"<string>\"\n },\n \"include_raw_data\": true,\n \"page\": {\n \"token\": \"<string>\",\n \"size\": 123\n },\n \"settings\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
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/{connector_id}/handle_authorization_callback")
.header("Content-Type", "application/json")
.body("{\n \"request\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"redirect_uri_with_code\": \"<string>\",\n \"credential_id\": \"<string>\",\n \"state\": \"<string>\",\n \"code_verifier\": \"<string>\"\n },\n \"include_raw_data\": true,\n \"page\": {\n \"token\": \"<string>\",\n \"size\": 123\n },\n \"settings\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/{connector_id}/handle_authorization_callback")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"request\": {\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"redirect_uri_with_code\": \"<string>\",\n \"credential_id\": \"<string>\",\n \"state\": \"<string>\",\n \"code_verifier\": \"<string>\"\n },\n \"include_raw_data\": true,\n \"page\": {\n \"token\": \"<string>\",\n \"size\": 123\n },\n \"settings\": {}\n}"
response = http.request(request)
puts response.read_body{
"response": {
"access_token": "<string>",
"token_type": "bearer",
"refresh_token": "<string>",
"state": "<string>"
},
"raw_data": "<unknown>",
"page": {
"token": "<string>",
"size": 123
}
}Path Parameters
Body
application/json
Generic request model.
The main request payload.
Show child attributes
Show child attributes
Whether to include raw data in the response.
Pagination information for the request.
Show child attributes
Show child attributes
Connector-specific settings for the request.
These are settings that are shared across all capabilities.
Usually contain additional required configuration options not specified by the capability schema.
Show child attributes
Show child attributes
Response
200 - application/json
The request has succeeded.
- Option 1
- Option 2
Response containing the OAuth credentials after handling an authorization callback.