{ "opencollection": "1.0.0", "info": { "name": "QuantCDN AI Agents AI Sessions API", "version": "4.15.8" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "AI Sessions", "type": "folder" }, "items": [ { "info": { "name": "List chat sessions with multi-tenant filtering", "type": "http" }, "http": { "method": "GET", "url": "https://dashboard.quantcdn.io/api/v3/organizations/:organisation/ai/sessions", "params": [ { "name": "organisation", "value": "", "type": "path", "description": "The organisation ID" }, { "name": "userId", "value": "", "type": "query", "description": "Filter sessions by user ID" }, { "name": "sessionGroup", "value": "", "type": "query", "description": "Filter by session group. Returns only sessions matching the specified group." }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of sessions to return (default 50, max 100)" }, { "name": "offset", "value": "", "type": "query", "description": "Offset for pagination" }, { "name": "model", "value": "", "type": "query", "description": "Filter by model ID" } ] }, "docs": "Lists active sessions for an organization with flexible filtering options.\n *\n * **Query Combinations:**\n * 1. By Organization (default): Returns all sessions in the organization\n * 2. By Organization + Group: `?sessionGroup=drupal-prod` - Sessions in a specific group\n * 3. By User: `?userId=user-123` - All sessions for a user\n * 4. By User + Group: `?userId=user-123&sessionGroup=drupal-prod` - User's sessions in a specific group\n *\n * **Use Cases:**\n * - List" }, { "info": { "name": "Create a new chat session with multi-tenant isolation", "type": "http" }, "http": { "method": "POST", "url": "https://dashboard.quantcdn.io/api/v3/organizations/:organisation/ai/sessions", "params": [ { "name": "organisation", "value": "", "type": "path", "description": "The organisation ID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "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." }, { "info": { "name": "Get a specific chat session", "type": "http" }, "http": { "method": "GET", "url": "https://dashboard.quantcdn.io/api/v3/organizations/:organisation/ai/sessions/:sessionId", "params": [ { "name": "organisation", "value": "", "type": "path", "description": "The organisation ID" }, { "name": "sessionId", "value": "", "type": "path", "description": "The session ID" } ] }, "docs": "Get a specific chat session" }, { "info": { "name": "Update Session", "type": "http" }, "http": { "method": "PUT", "url": "https://dashboard.quantcdn.io/api/v3/organizations/:organisation/ai/sessions/:sessionId", "params": [ { "name": "organisation", "value": "", "type": "path", "description": "The organisation ID" }, { "name": "sessionId", "value": "", "type": "path", "description": "The session ID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates session with new conversation messages and tracks token usage. Appends new messages to conversation history and updates session stats.\n *\n * **Typical Flow:**\n * 1. Get session to retrieve conversation history\n * 2. Call AI inference with full message history\n * 3. Update session with new user + assistant messages" }, { "info": { "name": "Delete a chat session", "type": "http" }, "http": { "method": "DELETE", "url": "https://dashboard.quantcdn.io/api/v3/organizations/:organisation/ai/sessions/:sessionId", "params": [ { "name": "organisation", "value": "", "type": "path", "description": "The organisation ID" }, { "name": "sessionId", "value": "", "type": "path", "description": "The session ID" } ] }, "docs": "Delete a chat session" }, { "info": { "name": "Extend Session Expiration", "type": "http" }, "http": { "method": "PUT", "url": "https://dashboard.quantcdn.io/api/v3/organizations/:organisation/ai/sessions/:sessionId/extend", "params": [ { "name": "organisation", "value": "", "type": "path", "description": "The organisation ID" }, { "name": "sessionId", "value": "", "type": "path", "description": "The session ID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Extends the expiration time of an active session. Useful for keeping long-running conversations alive." } ] } ], "bundled": true }