Send AI chat methods
Hold a text conversation with an AI agent. All six methods travel over this endpoint in a JSON-RPC 2.0 body. Put the method name in method and its arguments in params.
Your agent is an SWML document you serve, and config_url is where you serve it. A conversation is a series of turns addressed by an id you choose. A turn is one user message and the agent's reply, including any tool calls made along the way. One request runs one turn.
Use this endpoint from a server when a text conversation should run against an AI agent's SWML and return each turn synchronously. It is separate from the channel-based Chat service: Chat Tokens authorize Chat clients but do not create or advance AI conversations.
Methods
| Method | Description |
|---|---|
| create_conversation | Create a conversation, or reset an existing one |
| chat | Send a message and receive the agent's reply |
| end_conversation | End the conversation and trigger post-processing |
| delete | Remove the conversation, with no post-processing |
| chat_log | Read the conversation back |
| summarize | Generate a summary on demand |
Permissions
The API token used to authenticate must have the following scope(s) enabled to make a successful request: Chat.
Learn more about API scopes.
Request body
Example request
{
"jsonrpc": "2.0",
"id": "req-1",
"method": "create_conversation",
"params": {
"id": "conv-123",
"config_url": "https://your-agent.example.com/swml",
"user_message": "I need help with an order",
"conversation_timeout": 1800,
"user_meta_data": {
"customer_tier": "premium"
},
"reinit": true
}
}Response
The request has succeeded.
Example response
{
"jsonrpc": "2.0",
"id": "req-1",
"result": {
"status": "created",
"id": "conv-123",
"initial_message": "Hi! How can I help?"
}
}Changes
Changed in 6 of the 137 revisions of this API.49
- ○
endpoint added
endpoint-added
- ○
- ▲
api path removed without deprecation
api-path-removed-without-deprecation
This revision's changelog hit the recording limit, so it may not list every change to this endpoint.
This revision also has 26 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ○
removed the
-32008.00enum value from theanyOf[subschema #7: Error]/error/allOf[AI.ChatError]/code/allOf[AI.ChatErrorCode]/response property for the response status200response-property-enum-value-removed
- ○
removed the
-32009.00enum value from theanyOf[subschema #7: Error]/error/allOf[AI.ChatError]/code/allOf[AI.ChatErrorCode]/response property for the response status200response-property-enum-value-removed
- ○
removed the
-32700.00enum value from theanyOf[subschema #7: Error]/error/allOf[AI.ChatError]/code/allOf[AI.ChatErrorCode]/response property for the response status200response-property-enum-value-removed
- ○
- ▲
response property
anyOf[subschema #1: create_conversation result]/result/initial_messagelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
removed the required property
errorfrom the response with the401statusresponse-required-property-removed
- ○
added the media type
text/plainfor the response with the status401response-media-type-added
- ○
added the non-success response with the status
400response-non-success-status-added
- ○
added the required property
messageto the response with the401statusresponse-required-property-added
- ▲
- ▲
the
anyOf[subschema #7: Error]/error/allOf[AI.ChatError]/coderesponse's property type/format changed frominteger/int32to/for status200response-property-type-changed
- ○
added
AI.ChatErrorCodeto theanyOf[subschema #7: Error]/error/allOf[AI.ChatError]/coderesponse propertyallOflist for the response status200response-property-all-of-added
- ▲
- ○
endpoint added
endpoint-added
- ○
Of the 137 revisions, 3 have a changelog that could not be searched.