curl --request POST \
--url https://api.peec.ai/customer/v1/prompts/suggestions/generate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"topic_id": "to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6",
"prompt_suggestion_id": "pr_93f790de-5b7a-45ee-b782-61103c81f20d"
}
'import requests
url = "https://api.peec.ai/customer/v1/prompts/suggestions/generate"
payload = {
"topic_id": "to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6",
"prompt_suggestion_id": "pr_93f790de-5b7a-45ee-b782-61103c81f20d"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
topic_id: 'to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6',
prompt_suggestion_id: 'pr_93f790de-5b7a-45ee-b782-61103c81f20d'
})
};
fetch('https://api.peec.ai/customer/v1/prompts/suggestions/generate', 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.peec.ai/customer/v1/prompts/suggestions/generate",
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([
'topic_id' => 'to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6',
'prompt_suggestion_id' => 'pr_93f790de-5b7a-45ee-b782-61103c81f20d'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.peec.ai/customer/v1/prompts/suggestions/generate"
payload := strings.NewReader("{\n \"topic_id\": \"to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6\",\n \"prompt_suggestion_id\": \"pr_93f790de-5b7a-45ee-b782-61103c81f20d\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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.peec.ai/customer/v1/prompts/suggestions/generate")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"topic_id\": \"to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6\",\n \"prompt_suggestion_id\": \"pr_93f790de-5b7a-45ee-b782-61103c81f20d\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.peec.ai/customer/v1/prompts/suggestions/generate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"topic_id\": \"to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6\",\n \"prompt_suggestion_id\": \"pr_93f790de-5b7a-45ee-b782-61103c81f20d\"\n}"
response = http.request(request)
puts response.read_body{
"generation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"topic_id": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Generate Prompt Suggestions
Generate Prompt Builder suggestions for a project, the same way the Prompt Builder does. Generation runs in the background: this returns its generation ID as soon as it is queued. Poll GET /prompts/suggestions/generations/{generation_id} until it succeeds or fails, then list successful results with GET /prompts/suggestions?legacy=false. topic_id, prompt_suggestion_id and segment each narrow the run and are mutually exclusive; with an empty body every topic awaiting review is generated for again, replacing its current suggestions. The project’s branding/intent split has to be configured first, with PUT /project-profile — generation has nothing to run against without it. Markets are optional: without them the project’s own country and language are used.
curl --request POST \
--url https://api.peec.ai/customer/v1/prompts/suggestions/generate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"topic_id": "to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6",
"prompt_suggestion_id": "pr_93f790de-5b7a-45ee-b782-61103c81f20d"
}
'import requests
url = "https://api.peec.ai/customer/v1/prompts/suggestions/generate"
payload = {
"topic_id": "to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6",
"prompt_suggestion_id": "pr_93f790de-5b7a-45ee-b782-61103c81f20d"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
topic_id: 'to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6',
prompt_suggestion_id: 'pr_93f790de-5b7a-45ee-b782-61103c81f20d'
})
};
fetch('https://api.peec.ai/customer/v1/prompts/suggestions/generate', 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.peec.ai/customer/v1/prompts/suggestions/generate",
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([
'topic_id' => 'to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6',
'prompt_suggestion_id' => 'pr_93f790de-5b7a-45ee-b782-61103c81f20d'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.peec.ai/customer/v1/prompts/suggestions/generate"
payload := strings.NewReader("{\n \"topic_id\": \"to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6\",\n \"prompt_suggestion_id\": \"pr_93f790de-5b7a-45ee-b782-61103c81f20d\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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.peec.ai/customer/v1/prompts/suggestions/generate")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"topic_id\": \"to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6\",\n \"prompt_suggestion_id\": \"pr_93f790de-5b7a-45ee-b782-61103c81f20d\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.peec.ai/customer/v1/prompts/suggestions/generate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"topic_id\": \"to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6\",\n \"prompt_suggestion_id\": \"pr_93f790de-5b7a-45ee-b782-61103c81f20d\"\n}"
response = http.request(request)
puts response.read_body{
"generation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"topic_id": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
Body
Generates for this topic alone instead of every topic awaiting review, replacing the suggestions it already has.
1"to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6"
Replaces this one Prompt Builder suggestion, keeping its id, topic and market.
1"pr_93f790de-5b7a-45ee-b782-61103c81f20d"
Adds suggestions for one slice of a topic, keeping the suggestions it already has. Any dimension left unset is filled from the project's target distribution and markets.
Show child attributes
Show child attributes
Response
Generation queued
Generation queued
The generation to poll with GET /prompts/suggestions/generations/{generation_id}.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$The topic being generated when the request scoped the run to one topic or suggestion.
