Skip to main content

Session Management API

The Session Management API provides comprehensive conversation session tracking and management. Sessions maintain conversation history, context, and state between interactions with AI agents. The system supports full CRUD operations, message handling, context management, and advanced features like session analytics and context compression.

Authentication

All session endpoints require authentication with API key:

Rate Limits

Session Management

Create Session

Create a new conversation session. Endpoint: POST /sessions Request Body:
Parameters:
  • agent_id (string, required): Agent ID for the session
  • user_id (string, required): User ID for the session
  • title (string, optional): Session title
  • config (object, optional): Session configuration
    • context_window (integer): Maximum context tokens
    • compression_enabled (boolean): Enable context compression
    • max_messages (integer): Maximum message history
  • initial_context (object, optional): Initial conversation context
  • metadata (object, optional): Additional metadata
Response:
Example:

List Sessions

Retrieve sessions with optional filtering. Endpoint: GET /sessions Query Parameters:
  • user_id (string): Filter by user ID
  • agent_id (string): Filter by agent ID
  • status (string): Filter by status (active, closed, archived)
  • created_after (string): Filter sessions created after timestamp
  • created_before (string): Filter sessions created before timestamp
  • limit (integer, default: 20, max: 100): Results per page
  • offset (integer, default: 0): Pagination offset
  • sort (string, default: “updated_at desc”): Sort field and direction
Response:
Example:

Get Session

Retrieve a specific session by ID. Endpoint: GET /sessions/{id} Response:

Update Session

Update an existing session configuration. Endpoint: PUT /sessions/{id} Request Body:

Close Session

Close an active session. Endpoint: DELETE /sessions/{id} Request Body:
Parameters:
  • reason (string, required): Close reason
  • summary (string, optional): Session summary
Response:

Message Management

Add Message

Add a message to a session. Endpoint: POST /sessions/{id}/messages Request Body:
Parameters:
  • role (string, required): Message role (“user”, “assistant”, “system”)
  • content (string, required): Message content
  • metadata (object, optional): Additional message metadata
Response:
Example:

Get Messages

Retrieve messages from a session. Endpoint: GET /sessions/{id}/messages Query Parameters:
  • limit (integer, default: 50, max: 200): Number of messages to retrieve
  • offset (integer, default: 0): Offset for pagination
  • role (string): Filter by message role
  • after (string): Retrieve messages after specific timestamp
Response:

Context Management

Get Session Context

Get the current context of a session. Endpoint: GET /sessions/{id}/context Response:

Update Session Context

Update the context of a session. Endpoint: POST /sessions/{id}/context Request Body:
Parameters:
  • context_updates (object, required): Context updates
  • compression_options (object, optional): Compression settings
Response:

Session Analytics

Get Session Statistics

Retrieve comprehensive statistics for a session. Endpoint: GET /sessions/{id}/stats Response:

Get Session Analytics

Get session analytics across multiple sessions. Endpoint: GET /sessions/analytics Query Parameters:
  • user_id (string): Filter by user ID
  • agent_id (string): Filter by agent ID
  • time_range (string): Time range (“day”, “week”, “month”)
  • limit (integer, default: 20, max: 100): Results per page
Response:

Advanced Session Features

Export Session

Export session data to external format. Endpoint: GET /sessions/{id}/export Query Parameters:
  • format (string, default: “json”, options: “json”, “markdown”, “pdf”): Export format
  • include_metadata (boolean, default: true): Include metadata in export
Response:

Duplicate Session

Create a copy of an existing session. Endpoint: POST /sessions/{id}/duplicate Request Body:
Parameters:
  • new_title (string, optional): New session title
  • include_messages (boolean, default: true): Include message history
  • include_context (boolean, default: true): Include session context
Response:

Archive Session

Archive a completed session for long-term storage. Endpoint: POST /sessions/{id}/archive Request Body:
Parameters:
  • retention_period_days (integer, optional): Retention period in days
  • compression_enabled (boolean, default: true): Enable compression

Error Handling

Common Error Responses

Error Codes

Best Practices

Session Configuration

  1. Context Window: Set appropriate context window size based on use case
  2. Compression: Enable compression for long sessions
  3. Message Limits: Set reasonable message limits
  4. Metadata: Include relevant metadata for analytics
  5. Initial Context: Provide meaningful initial context

Message Management

  1. Message Roles: Use correct message roles consistently
  2. Message Size: Keep messages concise and focused
  3. Metadata: Add relevant metadata for message tracking
  4. Batch Processing: Use batch operations for multiple messages
  5. Message History: Manage message history effectively

Context Management

  1. Context Compression: Use compression for long conversations
  2. Context Retention: Maintain important context information
  3. Context Updates: Update context as conversation progresses
  4. Context Efficiency: Monitor context efficiency metrics
  5. Memory Management: Manage context memory usage

Performance Optimization

  1. Response Time: Monitor and optimize response times
  2. Token Usage: Track and optimize token usage
  3. Success Rates: Monitor conversation success rates
  4. Context Efficiency: Optimize context compression
  5. Resource Management: Monitor resource usage

Security Considerations

  1. Data Privacy: Ensure sensitive data is properly handled
  2. Access Control: Implement proper access controls
  3. Data Retention: Set appropriate data retention policies
  4. Audit Logging: Enable audit logging for session operations
  5. Encryption: Encrypt sensitive session data