Send a message and get a response. You need to specify a model — the agent will use it for this turn.
curl -X POST https://api.chowder.dev/v1/instances/ead7b76b-.../responses \ -H "Authorization: Bearer $CHOWDER_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "input": "Hey! Who are you?" }'
{ "id": "resp_238a6f70-1fe6-42fc-8488-6a3762ef7e68", "status": "completed", "model": "claude-sonnet-4-20250514", "output": [ { "type": "message", "role": "assistant", "content": [ { "type": "output_text", "text": "Hey! I just came online — fresh instance, blank slate. What should I call myself? What kind of creature am I? Let's figure this out together." } ] } ]}
The agent remembers this conversation. Send another message and it’ll have context from the first one.
By default, all messages go to the agent’s main session. To create a separate conversation thread, use the session endpoint:
# This creates a new session called "project-alpha"curl -X POST https://api.chowder.dev/v1/instances/ead7b76b-.../session/project-alpha/responses \ -H "Authorization: Bearer $CHOWDER_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "input": "This session is for planning project alpha. Remember that." }'
Sessions are isolated — the agent maintains separate memory and context for each one. Switch back to the main session anytime by using the regular /responses endpoint.