Trigger an integration tool
curl --request POST \
--url https://api.postqueen.ai/public/v1/integration-trigger/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"methodName": "audioSearch",
"data": {
"q": "summer vibes",
"type": "music"
}
}
'import requests
url = "https://api.postqueen.ai/public/v1/integration-trigger/{id}"
payload = {
"methodName": "audioSearch",
"data": {
"q": "summer vibes",
"type": "music"
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({methodName: 'audioSearch', data: {q: 'summer vibes', type: 'music'}})
};
fetch('https://api.postqueen.ai/public/v1/integration-trigger/{id}', 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.postqueen.ai/public/v1/integration-trigger/{id}",
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([
'methodName' => 'audioSearch',
'data' => [
'q' => 'summer vibes',
'type' => 'music'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.postqueen.ai/public/v1/integration-trigger/{id}"
payload := strings.NewReader("{\n \"methodName\": \"audioSearch\",\n \"data\": {\n \"q\": \"summer vibes\",\n \"type\": \"music\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.postqueen.ai/public/v1/integration-trigger/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"methodName\": \"audioSearch\",\n \"data\": {\n \"q\": \"summer vibes\",\n \"type\": \"music\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.postqueen.ai/public/v1/integration-trigger/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"methodName\": \"audioSearch\",\n \"data\": {\n \"q\": \"summer vibes\",\n \"type\": \"music\"\n }\n}"
response = http.request(request)
puts response.read_body{
"output": [
{
"id": "587784541076604",
"title": "Summer Vibes",
"artist": "Some Artist",
"image": "https://scontent.cdninstagram.com/cover.jpg",
"duration": 30000,
"previewUrl": "https://scontent.cdninstagram.com/preview.mp4"
}
]
}Trigger a Tool
Executes a provider-specific tool on a connected channel, for example searching Instagram audio for Reels, listing Discord channels, or fetching Reddit flairs. Discover available tools with the integration settings endpoint.
POST
/
integration-trigger
/
{id}
Trigger an integration tool
curl --request POST \
--url https://api.postqueen.ai/public/v1/integration-trigger/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"methodName": "audioSearch",
"data": {
"q": "summer vibes",
"type": "music"
}
}
'import requests
url = "https://api.postqueen.ai/public/v1/integration-trigger/{id}"
payload = {
"methodName": "audioSearch",
"data": {
"q": "summer vibes",
"type": "music"
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({methodName: 'audioSearch', data: {q: 'summer vibes', type: 'music'}})
};
fetch('https://api.postqueen.ai/public/v1/integration-trigger/{id}', 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.postqueen.ai/public/v1/integration-trigger/{id}",
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([
'methodName' => 'audioSearch',
'data' => [
'q' => 'summer vibes',
'type' => 'music'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.postqueen.ai/public/v1/integration-trigger/{id}"
payload := strings.NewReader("{\n \"methodName\": \"audioSearch\",\n \"data\": {\n \"q\": \"summer vibes\",\n \"type\": \"music\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.postqueen.ai/public/v1/integration-trigger/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"methodName\": \"audioSearch\",\n \"data\": {\n \"q\": \"summer vibes\",\n \"type\": \"music\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.postqueen.ai/public/v1/integration-trigger/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"methodName\": \"audioSearch\",\n \"data\": {\n \"q\": \"summer vibes\",\n \"type\": \"music\"\n }\n}"
response = http.request(request)
puts response.read_body{
"output": [
{
"id": "587784541076604",
"title": "Summer Vibes",
"artist": "Some Artist",
"image": "https://scontent.cdninstagram.com/cover.jpg",
"duration": 30000,
"previewUrl": "https://scontent.cdninstagram.com/preview.mp4"
}
]
}Some providers offer helper tools for fetching dynamic data needed when
constructing post settings, for example searching
Instagram audio to attach to a Reel,
listing Discord channels, or fetching Reddit flairs.
Discover the tools available for a channel with the
settings endpoint. Each tool entry
contains the
methodName to pass here together with its parameter schema.
For the full catalogue of what every network offers, and what each tool gives back, see
Provider Tools.Authorizations
Your PostQueen API key
Path Parameters
The integration ID
Body
application/json
Response
Tool executed successfully
The tool result, shape depends on the tool