Skip to content

Create a new chat session with multi-tenant isolation

POST
/api/v3/organizations/{organisation}/ai/sessions
curl --request POST \
--url https://dashboard.quantcdn.io/api/v3/organizations/example/ai/sessions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "userId": "user-12345", "sessionGroup": "drupal-production", "metadata": { "feature": "chat-assistant", "source": "web-app" }, "expirationMinutes": 60, "initialMessages": [ { "role": "system", "content": "example" } ] }'

Creates an AI session with automatic expiration (60 min default, 24h max). Sessions are isolated by organization. Use userId to identify the user creating the session. Use sessionGroup for logical grouping. Use metadata for additional custom data. Filter sessions by userId or sessionGroup when listing.

organisation
required
string

The organisation ID

Media typeapplication/json
object
userId
required

User identifier for this session

string
Example
user-12345
sessionGroup

Optional user-defined grouping identifier (e.g., app name, environment, tenant). Use any format that makes sense for your application.

string
Example
drupal-production
metadata

Optional custom metadata for additional context

object
key
additional properties
any
Example
{
"feature": "chat-assistant",
"source": "web-app"
}
expirationMinutes

Session expiration in minutes

integer
default: 60 >= 5 <= 1440
initialMessages

Initial conversation messages (e.g., system prompt)

Array<object>
object
role
string
Allowed values: system user assistant
content
string

Session created successfully

Media typeapplication/json
object
sessionId
string format: uuid
status
string
Allowed values: active
expiresAt
string format: date-time
createdAt
string format: date-time
Example
{
"status": "active"
}

Invalid request (missing userId or invalid parameters)

Failed to create session