Přejít na hlavní obsah
POST
/
api
/
chat
Create Chat
curl --request POST \
  --url https://macaly.com/api/chat \
  --header 'Authorization: Bearer <token>'
Založí nový chat, ve kterém agent Macaly začne pracovat na vašem zadání.

Požadavek

POST /api/chat

Hlavičky

HlavičkaPovinnáPopis
AuthorizationAnoBearer macaly_...
Content-TypeAnoapplication/json

Parametry těla požadavku

PoleTypPovinnéVýchozí hodnotaPopis
contentstringAno-Zpráva / prompt uživatele
streambooleanNetruePokud false, vrátí JSON místo streamu
backendstringNe"DEFAULT"Použitý backend
executionMode"auto" | "planning" | "build"Ne-Režim, v jakém AI agent pracuje
model"sonnet-4-5" | "sonnet-4-6" | "opus-4-5" | "opus-4-6"Ne-Konkrétní AI model. Pokud neupřesníte, použije se model nastavený pro tým
reasoningEffort"medium" | "high"Ne-Určuje, jak hluboce má model přemýšlet
experimental_attachmentsarrayNe[]Přílohy souborů (formát viz níže)

Formát příloh

Každá položka v poli experimental_attachments má následující strukturu:
PoleTypPovinnéPopis
urlstringAnoURL přiloženého souboru
namestringNeZobrazovaný název přílohy
contentTypestringNeMIME typ souboru

Příklad požadavku

curl -X POST https://www.macaly.com/api/chat \
  -H "Authorization: Bearer macaly_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Create a landing page for a coffee shop",
    "stream": false
  }'

Odpověď

JSON odpověď (při stream: false)

{
  "chatId": "abc123def456",
  "url": "https://www.macaly.com/chat/abc123def456",
  "streamId": "stream_xyz789",
  "assistantMessageId": "msg_123"
}
PoleTypPopis
chatIdstringUnikátní identifikátor chatu
urlstringPřímý odkaz na zobrazení chatu
streamIdstring | undefinedIdentifikátor streamu pro odběr. Přítomen pouze u workflow backendů
assistantMessageIdstring | undefinedID generované zprávy asistenta. Přítomno pouze u workflow backendů

Streaming odpověď (při stream: true, výchozí)

Pokud je streaming zapnutý, odpověď je textový stream:
2:[{"chatId":"abc123def456"}]
0:"Starting to build..."
...
První řádek obsahuje ID chatu ve formátu 2:[{"chatId":"..."}].

Parsování ID chatu ze streamu

const text = await response.text();
const match = text.match(/2:\[{"chatId":"([^"]+)"/);
const chatId = match?.[1];

Stavové kódy

KódPopis
200Úspěch – chat vytvořen
400Neplatný požadavek
401Neplatný nebo chybějící API klíč
402Nedostatek kreditů
403Forbidden – nedostatečná oprávnění pro zadaný tým
422Chyba validace
429Překročen limit požadavků
500Chyba serveru

Další kroky

Po vytvoření chatu:
  1. Sledujte průběh pomocí GET /api/chat/{chatId}/status
  2. Odebírejte real-time aktualizace pomocí GET /api/chat/{chatId}/subscribe
  3. Posílejte navazující zprávy pomocí POST /api/chat/{chatId}/publish