Send a message to the AI assistant
Adds the person's message (to a new conversation when conversationId is left out) and starts the assistant's reply. Returns at once; the reply streams on the live topic ai:. Fails with CONFLICT while a reply is still streaming and with FORBIDDEN once the monthly budget is reached.
Any signed-in caller. Not available to MCP clients or the assistant.
seylo_session<token>application/json- body
conversationId?stringPanel-issued id.
^[a-z0-9]{16}$message*string1 <= length <= 20000context?model?string|string|stringSuccess.
application/json- response
conversationId*stringPanel-issued id.
^[a-z0-9]{16}$userMessage*assistantMessage*curl -X POST 'https://example.com/api/v1/ai.send' \ -H 'Content-Type: application/json' \ -d '{ "message": "string"}'{ "conversationId": "string", "userMessage": { "id": "string", "role": "user", "parts": [ { "type": "text", "text": "string" } ], "model": "haiku", "status": "streaming", "error": "string", "createdAt": "2019-08-24T14:15:22Z" }, "assistantMessage": { "id": "string", "role": "user", "parts": [ { "type": "text", "text": "string" } ], "model": "haiku", "status": "streaming", "error": "string", "createdAt": "2019-08-24T14:15:22Z" }}Delete an AI conversation POST
Deletes one of the caller's conversations and its messages. Usage records stay for the bill. Any signed-in caller. Not available to MCP clients or the assistant.
Get AI assistant settings GET
Returns whether the assistant is on, whether a key is stored, the model routing and the monthly budget. Needs `settings.view`, which owners and admins hold. Not available to MCP clients or the assistant.