Chat completions
Create chat completion
Create a chat completion using the configured assistant. Supports streaming (Server-Sent Events) and non-streaming JSON responses. Streaming returns incremental tokens, while non-streaming returns the full completion along with token usage.
AuthorizationBearer <token>
In: header
assistantId?string
Assistant to use to generate the response. If not provided then will use the default assistant.
Format
uuid
messagesarray<object>
A list of messages comprising the conversation so far.
stream?boolean
If set to true, the model response data will be streamed to the client as it is generated using server-sent events.
Default
false
Response Body
curl -X POST "https://api.siteassist.io/v2/chat/completions" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "role": "user", "content": "Hi" } ] }'
{
"steps": [
{
"content": [
{
"type": "text",
"text": "Hello! How can I assist you today?"
}
],
"finishReason": "stop",
"usage": {
"inputTokens": 2409,
"outputTokens": 11,
"totalTokens": 2420,
"reasoningTokens": 0,
"cachedInputTokens": 0
}
}
]
}
{
"steps": [
{
"content": [
{
"type": "text",
"text": "Hello! How can I assist you today?"
}
],
"finishReason": "stop",
"usage": {
"inputTokens": 2409,
"outputTokens": 11,
"totalTokens": 2420,
"reasoningTokens": 0,
"cachedInputTokens": 0
}
}
]
}
{
"error": {
"message": "Invalid request body. Content is required.",
"code": "INVALID_REQUEST_BODY",
"details": {
"field": "content"
}
}
}
{
"error": {
"message": "Authentication required",
"code": "UNAUTHORIZED"
}
}
{
"error": {
"message": "A higher pricing plan is required to access this feature",
"code": "PAYMENT_REQUIRED",
"details": {
"currentPlan": "free",
"requiredPlan": "pro",
"feature": "advanced_ai_models"
}
}
}
{
"error": {
"message": "Access denied to this conversation",
"code": "FORBIDDEN"
}
}
{
"error": {
"message": "Conversation not found!",
"code": "CONVERSATION_NOT_FOUND",
"details": {
"conversationId": "123e4567-e89b-12d3-a456-426614174000"
}
}
}
{
"error": {
"message": "Resource already exists",
"code": "CONFLICT",
"details": {
"resource": "conversation",
"conflictingField": "id"
}
}
}
{
"error": {
"message": "Validation failed",
"code": "VALIDATION_ERROR",
"details": {
"field": "content",
"reason": "Content exceeds maximum length of 10000 characters"
}
}
}
{
"error": {
"message": "Rate limit exceeded. Please try again later.",
"code": "RATE_LIMIT_EXCEEDED",
"details": {
"retryAfter": 60
}
}
}
{
"error": {
"message": "An internal server error occurred",
"code": "INTERNAL_SERVER_ERROR"
}
}
{
"error": {
"message": "Service temporarily unavailable",
"code": "BAD_GATEWAY",
"details": {
"service": "ai_model_service"
}
}
}
{
"error": {
"message": "Service temporarily unavailable",
"code": "SERVICE_UNAVAILABLE",
"details": {
"retryAfter": 30
}
}
}