Skip to main content
Every step below is copy-pasteable against the real production API at https://api.vyomflow.co.in. You only need an API key.
1

Mint an API key

Sign in to www.vyomflow.co.in and open Settings → API Keys (/settings/api-keys). Create a key with at least chats:write, chats:read, runs:write, runs:read, waitpoints:respond, and credits:read. Export it:
See Authentication for scopes and key lifecycle.
2

Create a chat

Example response (201):
Save id as $CHAT_ID — you’ll use it in every subsequent call.
3

Send a message

Example response (201):
An optional Idempotency-Key header on this request makes a retried POST replay the original turn instead of sending a duplicate message and charging credits twice.Save run.id as $RUN_ID. The stream.url is where you consume live output.
4

Stream the response

Open the SSE stream with Authorization as a header (never a query parameter — EventSource can’t send custom headers, so use fetch or a header-capable SSE client):
You’ll see events like run.status, message.delta, tool.status, and eventually a terminal run.completed/run.failed/run.cancelled event that closes the stream. Full event reference: Streaming.
5

Answer a waitpoint, if one appears

Some turns pause on a waitpoint.created event — most commonly a CREDIT_APPROVAL waitpoint before an expensive tool call. Answer it to resume the run:
If no waitpoint appears, skip this step — most turns complete without one.
6

Check the run's final state

This is the REST recovery path — useful if your stream connection dropped, or just to confirm the run’s terminal status and totalCreditsUsed after the fact.
7

Check your credit balance

Balances cross the wire as strings, not numbers, so a client never rounds a money value through a float.

Next steps

Authentication

API keys, scopes, and the security model.

Streaming

The full SSE event reference and reconnect protocol.

MCP

Connect an MCP client like Claude Code directly to VyomFlow.