curl --request GET \
--url https://api.peec.ai/customer/v1/prompts \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.peec.ai/customer/v1/prompts"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.peec.ai/customer/v1/prompts', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.peec.ai/customer/v1/prompts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.peec.ai/customer/v1/prompts")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.peec.ai/customer/v1/prompts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "pr_93f790de-5b7a-45ee-b782-61103c81f20d",
"messages": [
{
"content": "Example Prompt"
}
],
"tags": [
{
"id": "tg_23abec5b-100a-4261-9ee7-1effe68f0149"
}
],
"topic": {
"id": "to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6"
},
"user_location": {
"country": "AE"
},
"is_archived": false,
"volume": 123,
"created_at": "2025-09-22"
}
],
"total_count": 42,
"totalCount": 42,
"search_truncated": true
}List Prompts
List the prompts of a project
curl --request GET \
--url https://api.peec.ai/customer/v1/prompts \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.peec.ai/customer/v1/prompts"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.peec.ai/customer/v1/prompts', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.peec.ai/customer/v1/prompts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.peec.ai/customer/v1/prompts")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.peec.ai/customer/v1/prompts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "pr_93f790de-5b7a-45ee-b782-61103c81f20d",
"messages": [
{
"content": "Example Prompt"
}
],
"tags": [
{
"id": "tg_23abec5b-100a-4261-9ee7-1effe68f0149"
}
],
"topic": {
"id": "to_e6b8cdd3-a51b-4d94-a866-28dbe6b830a6"
},
"user_location": {
"country": "AE"
},
"is_archived": false,
"volume": 123,
"created_at": "2025-09-22"
}
],
"total_count": 42,
"totalCount": 42,
"search_truncated": true
}Authorizations
Query Parameters
Required if using a company api key
"or_f45b94ba-5e35-4982-93ed-285e72ee14eb"
Filter by archived status. Omit (or false) to return only active prompts; true to return only archived prompts.
Only return prompts created on or after this date (UTC).
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$Only return prompts created on or before this date (UTC).
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$Free-text search over prompt text. Fuzzy and word-order-insensitive; results are ordered by relevance (best match first).
1 - 5001 <= x <= 100000 <= x <= 9007199254740991Response
Success
Success
Show child attributes
Show child attributes
Total number of matching prompts, ignoring pagination
42
Total number of matching prompts, ignoring pagination
42
Only present when search is used. True when the project has more prompts than the search scan limit (20000); only the most recent 20000 prompts were searched, so matches may be missing and total_count may undercount.
