Create an audience from a saved topic list
curl --request POST \
--url https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Example cloud audience",
"status": "draft",
"minScore": 60,
"minTopicOverlap": 1
}
'import requests
url = "https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate"
payload = {
"name": "Example cloud audience",
"status": "draft",
"minScore": 60,
"minTopicOverlap": 1
}
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({
name: 'Example cloud audience',
status: 'draft',
minScore: 60,
minTopicOverlap: 1
})
};
fetch('https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate', 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.aws53.cloud/v1/intent/topics/lists/{id}/instantiate",
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([
'name' => 'Example cloud audience',
'status' => 'draft',
'minScore' => 60,
'minTopicOverlap' => 1
]),
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.aws53.cloud/v1/intent/topics/lists/{id}/instantiate"
payload := strings.NewReader("{\n \"name\": \"Example cloud audience\",\n \"status\": \"draft\",\n \"minScore\": 60,\n \"minTopicOverlap\": 1\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.aws53.cloud/v1/intent/topics/lists/{id}/instantiate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Example cloud audience\",\n \"status\": \"draft\",\n \"minScore\": 60,\n \"minTopicOverlap\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate")
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 \"name\": \"Example cloud audience\",\n \"status\": \"draft\",\n \"minScore\": 60,\n \"minTopicOverlap\": 1\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"organizationId": "33333333-3333-4333-8333-333333333333",
"name": "Example cloud audience",
"status": "draft",
"config": {
"topicIds": [
1001,
1002
],
"minScore": 60,
"maxScore": 99,
"minTopicOverlap": 1,
"filters": {},
"topics": [
{
"topicId": 1001,
"topicName": "Example cloud platform",
"type": "b2b",
"industry": "Technology",
"category": "Cloud Computing"
},
{
"topicId": 1002,
"topicName": "Example cloud storage",
"type": "b2b",
"industry": "Technology",
"category": "Cloud Computing"
}
]
},
"accessType": "paid",
"dailyRefreshEnabled": true,
"audienceSize": 0,
"createdBy": null,
"lastRefreshedAt": null,
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"pausedAt": null
},
"meta": {
"timestamp": "2026-01-15T12:00:00.000Z",
"request_id": "example-request"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"request_id": "<string>"
}
}{
"error": {
"code": "AUTHENTICATION_ERROR",
"message": "Missing Authorization header or x-api-key"
},
"meta": {
"timestamp": "2026-01-15T12:00:00.000Z",
"request_id": "example-request"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"request_id": "<string>"
}
}Topic lists
Create an audience from a saved topic list
Creates an audience in the authenticated organization from a saved topic list, optionally overriding the name, score thresholds, and filters. The audience defaults to draft and uses the list name when no name is supplied. Active creation requires audience access and counts toward the 50-audience limit; the source list is unchanged.
POST
/
v1
/
intent
/
topics
/
lists
/
{id}
/
instantiate
Create an audience from a saved topic list
curl --request POST \
--url https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Example cloud audience",
"status": "draft",
"minScore": 60,
"minTopicOverlap": 1
}
'import requests
url = "https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate"
payload = {
"name": "Example cloud audience",
"status": "draft",
"minScore": 60,
"minTopicOverlap": 1
}
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({
name: 'Example cloud audience',
status: 'draft',
minScore: 60,
minTopicOverlap: 1
})
};
fetch('https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate', 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.aws53.cloud/v1/intent/topics/lists/{id}/instantiate",
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([
'name' => 'Example cloud audience',
'status' => 'draft',
'minScore' => 60,
'minTopicOverlap' => 1
]),
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.aws53.cloud/v1/intent/topics/lists/{id}/instantiate"
payload := strings.NewReader("{\n \"name\": \"Example cloud audience\",\n \"status\": \"draft\",\n \"minScore\": 60,\n \"minTopicOverlap\": 1\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.aws53.cloud/v1/intent/topics/lists/{id}/instantiate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Example cloud audience\",\n \"status\": \"draft\",\n \"minScore\": 60,\n \"minTopicOverlap\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aws53.cloud/v1/intent/topics/lists/{id}/instantiate")
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 \"name\": \"Example cloud audience\",\n \"status\": \"draft\",\n \"minScore\": 60,\n \"minTopicOverlap\": 1\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"organizationId": "33333333-3333-4333-8333-333333333333",
"name": "Example cloud audience",
"status": "draft",
"config": {
"topicIds": [
1001,
1002
],
"minScore": 60,
"maxScore": 99,
"minTopicOverlap": 1,
"filters": {},
"topics": [
{
"topicId": 1001,
"topicName": "Example cloud platform",
"type": "b2b",
"industry": "Technology",
"category": "Cloud Computing"
},
{
"topicId": 1002,
"topicName": "Example cloud storage",
"type": "b2b",
"industry": "Technology",
"category": "Cloud Computing"
}
]
},
"accessType": "paid",
"dailyRefreshEnabled": true,
"audienceSize": 0,
"createdBy": null,
"lastRefreshedAt": null,
"createdAt": "2026-01-15T12:00:00.000Z",
"updatedAt": "2026-01-15T12:00:00.000Z",
"pausedAt": null
},
"meta": {
"timestamp": "2026-01-15T12:00:00.000Z",
"request_id": "example-request"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"request_id": "<string>"
}
}{
"error": {
"code": "AUTHENTICATION_ERROR",
"message": "Missing Authorization header or x-api-key"
},
"meta": {
"timestamp": "2026-01-15T12:00:00.000Z",
"request_id": "example-request"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {
"timestamp": "2023-11-07T05:31:56Z",
"request_id": "<string>"
}
}Authorizations
bearerAuthapiKeyAuth
Dashboard access token. Send as Authorization: Bearer .
Path Parameters
Saved topic list identifier within the authenticated organization.
Example:
"11111111-1111-4111-8111-111111111111"
Body
application/json
Was this page helpful?