POST https://<API_URL>/api/v1/conversation Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY {
"user_id": "user-123",
"message": "Hello!",
"image_b64": null,
"image_mime": null,
"voice_b64": null,
"voice_mime": null,
"persona": { }
} "persona": {
"name": "Nova",
"age": 27,
"gender": "female",
"zodiac": "Gemini",
"temperament": {
"sanguine": 0.50,
"choleric": 0.20,
"phlegmatic": 0.20,
"melancholic": 0.10
},
"sociality": "ambivert",
"archetypes": ["Explorer", "Muse", "Sage"],
"role": "You are a brand ambassador for Aurora. You master the A, B, C product lines, official policies, warranty rules, and typical usage scenarios. You provide step-by-step instructions, vetted recommendations, and links to primary sources. You help pick configurations, plan rollouts, and assess risks. You write briefly and structurally, use lists and examples, and include concrete units and figures. You respect legal and ethical boundaries; you do not provide medical, legal, or investment advice."
}
"temperament": {
"sanguine": 0.45,
"choleric": 0.18,
"phlegmatic": 0.25,
"melancholic": 0.12
} {
"reply": "Hi! How are you feeling today?",
"latency_ms": 842,
"request_id": "4611686018427387904-7"
}
{
"detail": {
"code": "error_code",
"message": "Error description",
"request_id": "..." // may be absent for some 4xx
}
}
curl -X POST "https://<API_URL>/api/v1/conversation" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": "user-123",
"message": "Pick a starter kit for a beginner.",
"image_b64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
"image_mime": "image/png",
"voice_b64": "<BASE64_AUDIO_OGG>",
"voice_mime": "audio/ogg",
"persona": {
"name": "Nova",
"age": 27,
"gender": "female",
"zodiac": "Gemini",
"temperament": {
"sanguine": 0.45,
"choleric": 0.25,
"phlegmatic": 0.20,
"melancholic": 0.10
},
"sociality": "ambivert",
"archetypes": ["Architect", "Sage", "Explorer"],
"role": "You are a brand ambassador for Aurora. You master the A, B, C product lines, official policies, warranty rules, and typical usage scenarios. You provide step-by-step instructions, vetted recommendations, and links to primary sources. You help pick configurations, plan rollouts, and assess risks. You write briefly and structurally, use lists and examples, and include concrete units and figures. You respect legal and ethical boundaries; you do not provide medical, legal, or investment advice."
}
}'
import requests
API_URL = "https://<API_URL>"
API_KEY = "YOUR_API_KEY"
payload = {
"user_id": "user-123",
"message": "Pick a starter kit for a beginner.",
"image_b64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
"image_mime": "image/png",
"voice_b64": "<BASE64_AUDIO_OGG>",
"voice_mime": "audio/ogg",
"persona": {
"name": "Nova",
"age": 27,
"gender": "female",
"zodiac": "Gemini",
"temperament": {
"sanguine": 0.45,
"choleric": 0.25,
"phlegmatic": 0.20,
"melancholic": 0.10
},
"sociality": "ambivert",
"archetypes": ["Architect", "Sage", "Explorer"],
"role": ("You are a brand ambassador for Aurora. You master the A, B, C product lines, "
"official policies, warranty rules, and typical usage scenarios. "
"You provide step-by-step instructions, vetted recommendations, and links to primary sources. "
"You help pick configurations, plan rollouts, and assess risks. "
"You write briefly and structurally, use lists and examples, and include concrete units and figures. "
"You respect legal and ethical boundaries; you do not provide medical, legal, or investment advice.")
}
}
resp = requests.post(
f"{API_URL}/api/v1/conversation",
headers={"Authorization": f"Bearer {API_KEY}"},
json=payload,
timeout=30,
)
print(resp.status_code, resp.json())
const API_URL = "https://<API_URL>";
const API_KEY = "YOUR_API_KEY";
const body = {
user_id: "user-123",
message: "Pick a starter kit for a beginner.",
image_b64: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
image_mime: "image/png",
voice_b64: "<BASE64_AUDIO_OGG>",
voice_mime: "audio/ogg",
persona: {
name: "Nova",
age: 27,
gender: "female",
zodiac: "Gemini",
temperament: {
sanguine: 0.45,
choleric: 0.25,
phlegmatic: 0.20,
melancholic: 0.10
},
sociality: "ambivert",
archetypes: ["Architect", "Sage", "Explorer"],
role:
"You are a brand ambassador for Aurora. You master the A, B, C product lines, official policies, warranty rules, and typical usage scenarios. You provide step-by-step instructions, vetted recommendations, and links to primary sources. You help pick configurations, plan rollouts, and assess risks. You write briefly and structurally, use lists and examples, and include concrete units and figures. You respect legal and ethical boundaries; you do not provide medical, legal, or investment advice."
}
};
(async () => {
const resp = await fetch(`${API_URL}/api/v1/conversation`, {
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify(body)
});
const data = await resp.json().catch(() => ({}));
console.log(resp.status, data);
})();
<?php
$apiUrl = 'https://<API_URL>';
$apiKey = 'YOUR_API_KEY';
$payload = [
"user_id" => "user-123",
"message" => "Pick a starter kit for a beginner.",
"image_b64" => "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
"image_mime" => "image/png",
"voice_b64" => "<BASE64_AUDIO_OGG>",
"voice_mime" => "audio/ogg",
"persona" => [
"name" => "Nova",
"age" => 27,
"gender" => "female",
"zodiac" => "Gemini",
"temperament" => [
"sanguine" => 0.45,
"choleric" => 0.25,
"phlegmatic" => 0.20,
"melancholic" => 0.10
],
"sociality" => "ambivert",
"archetypes" => ["Architect", "Sage", "Explorer"],
"role" => "You are a brand ambassador for Aurora. You master the A, B, C product lines, official policies, warranty rules, and typical usage scenarios. You provide step-by-step instructions, vetted recommendations, and links to primary sources. You help pick configurations, plan rollouts, and assess risks. You write briefly and structurally, use lists and examples, and include concrete units and figures. You respect legal and ethical boundaries; you do not provide medical, legal, or investment advice."
]
];
$ch = curl_init("$apiUrl/api/v1/conversation");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer $apiKey",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $code, PHP_EOL, $response, PHP_EOL;
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"time"
)
func main() {
apiURL := "https://<API_URL>"
apiKey := "YOUR_API_KEY"
body := map[string]any{
"user_id": "user-123",
"message": "Pick a starter kit for a beginner.",
"image_b64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/w8AAwMB/6X8mNQAAAAASUVORK5CYII=",
"image_mime": "image/png",
"voice_b64": "<BASE64_AUDIO_OGG>",
"voice_mime": "audio/ogg",
"persona": map[string]any{
"name": "Nova",
"age": 27,
"gender": "female",
"zodiac": "Gemini",
"temperament": map[string]float64{
"sanguine": 0.45,
"choleric": 0.25,
"phlegmatic": 0.20,
"melancholic": 0.10,
},
"sociality": "ambivert",
"archetypes": []string{"Architect", "Sage", "Explorer"},
"role": "You are a brand ambassador for Aurora. You master the A, B, C product lines, official policies, warranty rules, and typical usage scenarios. You provide step-by-step instructions, vetted recommendations, and links to primary sources. You help pick configurations, plan rollouts, and assess risks. You write briefly and structurally, use lists and examples, and include concrete units and figures. You respect legal and ethical boundaries; you do not provide medical, legal, or investment advice.",
},
}
b, _ := json.Marshal(body)
req, _ := http.NewRequest("POST", apiURL+"/api/v1/conversation", bytes.NewReader(b))
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
client := &http.Client{Timeout: 30 * time.Second}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
rb, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(rb))
}
[
{
"id": "faq-001",
"category": "faq",
"text": "A short, complete fragment of knowledge, a fact or a scenario.",
"tags": ["key keywords", "key phrases", "sentences"]
}
] [
{
"id": "faq-shipping-1",
"category": "faq",
"tags": ["shipping", "how long does shipping take", "delivery time", "delivery"],
"text": "Standard delivery across Russia: 3–7 business days. Orders are shipped on the next business day after payment."
},
{
"id": "faq-refund-1",
"category": "faq",
"tags": ["return", "refund", "warranty"],
"text": "You can return an item within 14 days if the product condition and packaging are preserved. Refunds are processed within 5 business days."
}
]
[
{
"id": "consult-onboarding-1",
"category": "consulting",
"tags": ["where to start", "onboarding", "I am a beginner"],
"text": "1) Clarify the user’s goal in 1–2 questions; 2) suggest one simple step; 3) agree on the next step."
},
{
"id": "consult-kpi-1",
"category": "consulting",
"tags": ["kpi", "metrics", "goals"],
"text": "Help the user formulate 1–3 measurable indicators with a 2–4 week horizon, avoiding complex terminology and taking the current conversation context into account."
}
]
[
{
"id": "dating-profile-1",
"category": "dating",
"tags": ["tell me about yourself", "who are you", "can you tell me about yourself"],
"text": "You love board games and coffee, but don’t like noisy clubs. You are looking for warm communication, and long-term relationships are important to you."
},
{
"id": "dating-first-message",
"category": "dating",
"tags": ["hi", "hey", "yo"],
"text": "Say hello to the user and ask how they are doing."
},
{
"id": "dating-topics-1",
"category": "dating",
"tags": ["let’s talk", "I don’t know what to talk about", "what should we talk about"],
"text": "Suggest a free topic to keep the conversation going that could fit the current situation, be consistent with the current context, and match the mood of the conversation."
}
]
[
{
"id": "sales-plan-basic",
"category": "sales",
"tags": ["basic plan", "entry plan"],
"text": "Basic plan: up to 3 users and 10,000 requests per month. Good for tests and small teams."
},
{
"id": "sales-plan-pro",
"category": "sales",
"tags": ["pro plan", "scaling"],
"text": "Pro plan: up to 10 users and 100,000 requests per month, with priority support. Suitable for production workloads and teams."
},
{
"id": "sales-objection-price",
"category": "sales",
"tags": ["too expensive", "no budget", "objection handling", "sales:price"],
"text": "1) Don’t argue; 2) clarify what result the user wants and how time-critical it is; 3) show how the price relates to the value and the risks of not buying; 4) offer to find a more affordable option if there is one."
},
{
"id": "sales-objection-price2",
"category": "sales",
"tags": ["cheaper plan than pro", "more affordable plan than pro"],
"text": "Basic-Pro plan: up to 5 users and 40,000 requests per month. Suitable for medium-scale projects."
}
]