Skip to main content
Talk to your Darwin agent from your own app, Slack, WhatsApp or a voice bot. The key needs the chat:write scope. Darwin keeps the transcript; you send only what the visitor said. How sessions, actions and allowances work: Chat API.
A ChatStream can also be iterated for every parsed chunk of the AI SDK UI message stream (start, text-delta, tool-input-available, tool-output-available, finish, error…), or read in one go with await stream.finalText(). Call stream.abort() to stop. sendStream sends no automatic Idempotency-Key, because the API holds an idempotent response back until it is complete in order to store it. For the same reason it is retried only after a 429. send gets a key and the usual retries.