Endpoints

Chat aanmaken

Maak een nieuwe chatsessie aan en begin te bouwen met AI

POST/api/chat

Maakt een nieuwe chatsessie aan en start de AI-workflow.

Verzoek

POST /api/chat

Headers

HeaderVereistBeschrijving
AuthorizationJaBearer macaly_...
Content-TypeJaapplication/json

Bodyparameters

VeldTypeVereistStandaardBeschrijving
contentstringJa-Het bericht of de prompt van de gebruiker
streambooleanNeetrueAls false, retourneert JSON in plaats van een stream
backendstringNee"DEFAULT"Te gebruiken backend
executionMode"auto" | "planning" | "build"Nee-Bepaalt hoe de AI de taak benadert
model"gpt-5.6-terra" | "gpt-6.1-sol" | "gpt-6-luna" | "grok-4-6" | "kimi-k3" | "sonnet-5-5" | "opus-5-5" | "blueai-glm-5-3" | "blueai-glm-5-3-flash"Nee-AI-model om te gebruiken. Standaard het geconfigureerde model van het team
reasoningEffort"medium" | "high"Nee-Bepaalt hoe diep de AI nadenkt over de taak
experimental_attachmentsarrayNee[]Bestandsbijlagen (zie formaat hieronder)

Bijlageformaat

Elk item in de experimental_attachments-array heeft de volgende structuur:

VeldTypeVereistBeschrijving
urlstringJaURL van het bestand om bij te voegen
namestringNeeWeergavenaam voor de bijlage
contentTypestringNeeMIME-type van het bestand

Voorbeeldverzoek

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
  }'

Respons

JSON-respons (bij stream: false)

{
  "chatId": "abc123def456",
  "url": "https://www.macaly.com/chat/abc123def456",
  "streamId": "stream_xyz789",
  "assistantMessageId": "msg_123"
}
VeldTypeBeschrijving
chatIdstringDe unieke chat-ID
urlstringDirecte URL om de chat te bekijken
streamIdstring | undefinedStream-ID om u te abonneren. Alleen aanwezig voor workflow-backends
assistantMessageIdstring | undefinedID van het assistentbericht dat wordt gegenereerd. Alleen aanwezig voor workflow-backends

Streamingrespons (bij stream: true, standaard)

Wanneer streaming is ingeschakeld, is de respons een tekststroom:

2:[{"chatId":"abc123def456"}]
0:"Starting to build..."
...

De eerste regel bevat de chat-ID in het formaat 2:[{"chatId":"..."}].

De chat-ID uit de stream halen

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

Statuscodes

StatusBeschrijving
200Succes - Chat aangemaakt
400Ongeldig verzoek
401Ongeldige of ontbrekende API-sleutel
402Onvoldoende credits
403Forbidden - Geen toestemming voor het opgegeven team
422Validatiefout
429Limiet bereikt
500Serverfout

Volgende stappen

Na het aanmaken van een chat:

  1. Controleer de status met GET /api/chat/{chatId}/status
  2. Abonneer u op de stream met GET /api/chat/{chatId}/subscribe voor realtime updates
  3. Stuur vervolgberichten met POST /api/chat/{chatId}/publish