Create topics
curl --request POST \
--url https://api.example.com/v1/brands/{brandId}/topics \
--header 'Content-Type: application/json' \
--data '
{
"topics": [
{}
]
}
'import requests
url = "https://api.example.com/v1/brands/{brandId}/topics"
payload = { "topics": [{}] }
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({topics: [{}]})
};
fetch('https://api.example.com/v1/brands/{brandId}/topics', 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/v1/brands/{brandId}/topics",
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([
'topics' => [
[
]
]
]),
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/v1/brands/{brandId}/topics"
payload := strings.NewReader("{\n \"topics\": [\n {}\n ]\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/v1/brands/{brandId}/topics")
.header("Content-Type", "application/json")
.body("{\n \"topics\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/brands/{brandId}/topics")
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 \"topics\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_bodyTopics & Prompts
Create topics
Create one or more topics for a brand.
POST
/
v1
/
brands
/
{brandId}
/
topics
Create topics
curl --request POST \
--url https://api.example.com/v1/brands/{brandId}/topics \
--header 'Content-Type: application/json' \
--data '
{
"topics": [
{}
]
}
'import requests
url = "https://api.example.com/v1/brands/{brandId}/topics"
payload = { "topics": [{}] }
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({topics: [{}]})
};
fetch('https://api.example.com/v1/brands/{brandId}/topics', 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/v1/brands/{brandId}/topics",
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([
'topics' => [
[
]
]
]),
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/v1/brands/{brandId}/topics"
payload := strings.NewReader("{\n \"topics\": [\n {}\n ]\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/v1/brands/{brandId}/topics")
.header("Content-Type", "application/json")
.body("{\n \"topics\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/brands/{brandId}/topics")
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 \"topics\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_bodyCreates topics without adding prompts. Use this to first scaffold the topic structure, then add prompts via Create prompts or Batch create.
Path parameters
string
required
Brand UUID. Obtain from List brands.
Request body
object[]
required
Show Topic
Show Topic
Request
curl -s -X POST \
-H "x-spotlight-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "topics": [{ "name": "Pricing" }, { "name": "Support" }] }' \
"https://app.rocketblue.ai/api/v1/brands/BRAND_ID/topics"
Response
{
"topics": [
{ "id": "topic-uuid-1", "name": "Pricing" },
{ "id": "topic-uuid-2", "name": "Support" }
]
}
⌘I

