Create a new chat session with multi-tenant isolation
POST
/api/v3/organizations/{organisation}/ai/sessions
const url = 'https://dashboard.quantcdn.io/api/v3/organizations/example/ai/sessions';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"userId":"user-12345","sessionGroup":"drupal-production","metadata":{"feature":"chat-assistant","source":"web-app"},"expirationMinutes":60,"initialMessages":[{"role":"system","content":"example"}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”organisation
required
string
The organisation ID
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
userId
required
User identifier for this session
string
Example
user-12345sessionGroup
Optional user-defined grouping identifier (e.g., app name, environment, tenant). Use any format that makes sense for your application.
string
Example
drupal-productionmetadata
Optional custom metadata for additional context
object
key
additional properties
any
Example
{ "feature": "chat-assistant", "source": "web-app"}expirationMinutes
Session expiration in minutes
integer
initialMessages
Initial conversation messages (e.g., system prompt)
Array<object>
object
role
string
content
string
Responses
Section titled “Responses”Session created successfully
Media typeapplication/json
object
sessionId
string format: uuid
status
string
expiresAt
string format: date-time
createdAt
string format: date-time
Example
{ "status": "active"}Invalid request (missing userId or invalid parameters)
Failed to create session
