Approve or cancel MCP OAuth authorization from traxy.
curl --request POST \
--url https://api.traxy.ai/api/v1/mcp/oauth/authorize/complete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"requestToken": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"approved": true,
"organizationIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"scopes": []
}
'import requests
url = "https://api.traxy.ai/api/v1/mcp/oauth/authorize/complete"
payload = {
"requestToken": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"approved": True,
"organizationIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"scopes": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
requestToken: '<string>',
organizationId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
approved: true,
organizationIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
scopes: []
})
};
fetch('https://api.traxy.ai/api/v1/mcp/oauth/authorize/complete', 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.traxy.ai/api/v1/mcp/oauth/authorize/complete",
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([
'requestToken' => '<string>',
'organizationId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'approved' => true,
'organizationIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'scopes' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.traxy.ai/api/v1/mcp/oauth/authorize/complete"
payload := strings.NewReader("{\n \"requestToken\": \"<string>\",\n \"organizationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"approved\": true,\n \"organizationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scopes\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.traxy.ai/api/v1/mcp/oauth/authorize/complete")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"requestToken\": \"<string>\",\n \"organizationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"approved\": true,\n \"organizationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scopes\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.traxy.ai/api/v1/mcp/oauth/authorize/complete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"requestToken\": \"<string>\",\n \"organizationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"approved\": true,\n \"organizationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scopes\": []\n}"
response = http.request(request)
puts response.read_body{
"redirectUrl": "<string>"
}{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key.",
"status": 401,
"request_id": "<string>"
}
}{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key.",
"status": 401,
"request_id": "<string>"
}
}OAuth and MCP transport
Approve or cancel MCP OAuth authorization from traxy.
Every active member may approve the requested actions permitted by their current role and MCP entitlement in the selected workspaces. Submitted scopes cap consent; each tool call also enforces the current role. Cancellation returns an access_denied callback.
POST
/
mcp
/
oauth
/
authorize
/
complete
Approve or cancel MCP OAuth authorization from traxy.
curl --request POST \
--url https://api.traxy.ai/api/v1/mcp/oauth/authorize/complete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"requestToken": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"approved": true,
"organizationIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"scopes": []
}
'import requests
url = "https://api.traxy.ai/api/v1/mcp/oauth/authorize/complete"
payload = {
"requestToken": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"approved": True,
"organizationIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"scopes": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
requestToken: '<string>',
organizationId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
approved: true,
organizationIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
scopes: []
})
};
fetch('https://api.traxy.ai/api/v1/mcp/oauth/authorize/complete', 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.traxy.ai/api/v1/mcp/oauth/authorize/complete",
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([
'requestToken' => '<string>',
'organizationId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'approved' => true,
'organizationIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'scopes' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.traxy.ai/api/v1/mcp/oauth/authorize/complete"
payload := strings.NewReader("{\n \"requestToken\": \"<string>\",\n \"organizationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"approved\": true,\n \"organizationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scopes\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.traxy.ai/api/v1/mcp/oauth/authorize/complete")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"requestToken\": \"<string>\",\n \"organizationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"approved\": true,\n \"organizationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scopes\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.traxy.ai/api/v1/mcp/oauth/authorize/complete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"requestToken\": \"<string>\",\n \"organizationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"approved\": true,\n \"organizationIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scopes\": []\n}"
response = http.request(request)
puts response.read_body{
"redirectUrl": "<string>"
}{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key.",
"status": 401,
"request_id": "<string>"
}
}{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key.",
"status": 401,
"request_id": "<string>"
}
}Authorizations
Authenticated traxy app session token used by the consent screen.
Body
application/json
- Option 1
- Option 2
Required string length:
32 - 256Available options:
true Required array length:
1 - 50 elementsRequired array length:
1 - 20 elementsAvailable options:
leads:read, leads:contact_read, leads:contact_enrich, leads:manage, analytics:read, icp:read, icp:manage, watchlist:read, watchlist:manage, content:read, integrations:read, integrations:manage, integrations:deliver, sync:read, agent:read, agent:run, workspace:read, audience_analytics:read, audience_analytics:request, post_qualification:manage Response
Redirect URL for the MCP client callback.
Client callback URL. Do not log or send to analytics because it may contain an authorization code.
Was this page helpful?