curl --request POST \
--url https://api.peec.ai/customer/v1/projects \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"domain": "peec.ai",
"country_code": "US",
"language_code": "en",
"model_channel_ids": [],
"allocated_credits": 123,
"is_pitch": true,
"is_instant_pitch": true,
"timezone": "Europe/Berlin",
"chat_interval_weekdays": [
4
]
}
'import requests
url = "https://api.peec.ai/customer/v1/projects"
payload = {
"name": "<string>",
"domain": "peec.ai",
"country_code": "US",
"language_code": "en",
"model_channel_ids": [],
"allocated_credits": 123,
"is_pitch": True,
"is_instant_pitch": True,
"timezone": "Europe/Berlin",
"chat_interval_weekdays": [4]
}
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({
name: '<string>',
domain: 'peec.ai',
country_code: 'US',
language_code: 'en',
model_channel_ids: [],
allocated_credits: 123,
is_pitch: true,
is_instant_pitch: true,
timezone: 'Europe/Berlin',
chat_interval_weekdays: [4]
})
};
fetch('https://api.peec.ai/customer/v1/projects', 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/projects",
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' => '<string>',
'domain' => 'peec.ai',
'country_code' => 'US',
'language_code' => 'en',
'model_channel_ids' => [
],
'allocated_credits' => 123,
'is_pitch' => true,
'is_instant_pitch' => true,
'timezone' => 'Europe/Berlin',
'chat_interval_weekdays' => [
4
]
]),
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/projects"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"domain\": \"peec.ai\",\n \"country_code\": \"US\",\n \"language_code\": \"en\",\n \"model_channel_ids\": [],\n \"allocated_credits\": 123,\n \"is_pitch\": true,\n \"is_instant_pitch\": true,\n \"timezone\": \"Europe/Berlin\",\n \"chat_interval_weekdays\": [\n 4\n ]\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/projects")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"domain\": \"peec.ai\",\n \"country_code\": \"US\",\n \"language_code\": \"en\",\n \"model_channel_ids\": [],\n \"allocated_credits\": 123,\n \"is_pitch\": true,\n \"is_instant_pitch\": true,\n \"timezone\": \"Europe/Berlin\",\n \"chat_interval_weekdays\": [\n 4\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.peec.ai/customer/v1/projects")
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 \"name\": \"<string>\",\n \"domain\": \"peec.ai\",\n \"country_code\": \"US\",\n \"language_code\": \"en\",\n \"model_channel_ids\": [],\n \"allocated_credits\": 123,\n \"is_pitch\": true,\n \"is_instant_pitch\": true,\n \"timezone\": \"Europe/Berlin\",\n \"chat_interval_weekdays\": [\n 4\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "or_915e742b-396d-4a86-ad57-8bc84e8c2232"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Create Project
Create a project in the company, under the same plan limits and credit pool as creating it in the app. Add brands and prompts to it afterwards.
curl --request POST \
--url https://api.peec.ai/customer/v1/projects \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"domain": "peec.ai",
"country_code": "US",
"language_code": "en",
"model_channel_ids": [],
"allocated_credits": 123,
"is_pitch": true,
"is_instant_pitch": true,
"timezone": "Europe/Berlin",
"chat_interval_weekdays": [
4
]
}
'import requests
url = "https://api.peec.ai/customer/v1/projects"
payload = {
"name": "<string>",
"domain": "peec.ai",
"country_code": "US",
"language_code": "en",
"model_channel_ids": [],
"allocated_credits": 123,
"is_pitch": True,
"is_instant_pitch": True,
"timezone": "Europe/Berlin",
"chat_interval_weekdays": [4]
}
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({
name: '<string>',
domain: 'peec.ai',
country_code: 'US',
language_code: 'en',
model_channel_ids: [],
allocated_credits: 123,
is_pitch: true,
is_instant_pitch: true,
timezone: 'Europe/Berlin',
chat_interval_weekdays: [4]
})
};
fetch('https://api.peec.ai/customer/v1/projects', 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/projects",
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' => '<string>',
'domain' => 'peec.ai',
'country_code' => 'US',
'language_code' => 'en',
'model_channel_ids' => [
],
'allocated_credits' => 123,
'is_pitch' => true,
'is_instant_pitch' => true,
'timezone' => 'Europe/Berlin',
'chat_interval_weekdays' => [
4
]
]),
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/projects"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"domain\": \"peec.ai\",\n \"country_code\": \"US\",\n \"language_code\": \"en\",\n \"model_channel_ids\": [],\n \"allocated_credits\": 123,\n \"is_pitch\": true,\n \"is_instant_pitch\": true,\n \"timezone\": \"Europe/Berlin\",\n \"chat_interval_weekdays\": [\n 4\n ]\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/projects")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"domain\": \"peec.ai\",\n \"country_code\": \"US\",\n \"language_code\": \"en\",\n \"model_channel_ids\": [],\n \"allocated_credits\": 123,\n \"is_pitch\": true,\n \"is_instant_pitch\": true,\n \"timezone\": \"Europe/Berlin\",\n \"chat_interval_weekdays\": [\n 4\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.peec.ai/customer/v1/projects")
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 \"name\": \"<string>\",\n \"domain\": \"peec.ai\",\n \"country_code\": \"US\",\n \"language_code\": \"en\",\n \"model_channel_ids\": [],\n \"allocated_credits\": 123,\n \"is_pitch\": true,\n \"is_instant_pitch\": true,\n \"timezone\": \"Europe/Berlin\",\n \"chat_interval_weekdays\": [\n 4\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "or_915e742b-396d-4a86-ad57-8bc84e8c2232"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
Body
11"peec.ai"
The country the project's prompts run from.
AE, AL, AM, AR, AT, AU, BA, BE, BG, BH, BO, BR, BS, BY, CA, CH, CL, CN, CO, CR, CY, CZ, DE, DK, DO, EC, EE, EG, ES, FI, FR, GB, GE, GH, GR, GT, HK, HN, HR, HU, ID, IE, IL, IN, IQ, IS, IT, JO, JP, KR, KW, LB, LI, LT, LU, LV, MA, MD, ME, MK, MN, MT, MX, MY, NG, NI, NL, NO, NZ, OM, PK, PA, PE, PH, PL, PT, PY, PS, QA, RO, RS, SA, SE, SG, SI, SK, SV, TH, TN, TR, TW, UA, US, UY, VE, VN, ZA, AD, AF, AS, AZ, BB, BQ, CG, CI, CM, CW, DM, DZ, FO, GF, GP, JM, KG, KH, KI, KZ, LK, LR, LS, MW, NC, PG, TD, TF, UG, VU, ZW "US"
ISO 639-1 language code the project's prompts run in.
ar, az, bg, bn, bs, cs, da, de, el, en, es, et, fi, fr, he, hi, hr, hu, hy, id, it, ja, ko, lt, lv, mk, mn, ms, no, nl, pl, pt, ro, ru, sk, sl, sq, sr, sv, th, tl, tr, uk, ur, vi, zh "en"
Model channels to track. Defaults to the company's default channels. Not allowed on a pitch project, which uses the company's pitch models.
openai-0, openai-1, qwen-0, openai-2, perplexity-0, perplexity-1, google-0, google-1, google-2, google-3, google-4, anthropic-0, anthropic-1, anthropic-2, anthropic-3, deepseek-0, meta-0, meta-1, xai-0, xai-1, microsoft-0, amazon-0, mistral-0, mistral-1, naver-0, openai-3, openai-4, openai-5 Credits to allocate to the project from the company's pool. Required for every project except an onboarding one, the first project of a company that has no plan yet, and a pitch project, which takes none.
Create a pitch project, available to agency and partner companies. It runs under the company's pitch project and prompt limits and ends after the company's pitch period.
Make the pitch project an instant pitch, which does not run on the daily schedule. Requires is_pitch.
IANA timezone. Defaults to the company's timezone.
"Europe/Berlin"
ISO 8601 weekdays: 1 is monday, 7 is sunday. Defaults to the company's schedule, and not set means daily.
1 <= x <= 7Response
Project created successfully
Project created successfully
"or_915e742b-396d-4a86-ad57-8bc84e8c2232"
