Xentree Docs
StatusMy Xentree
StatusMy Xentree
  1. Documentation
  • Documentation
    • Introduction
    • Quickstart
    • Authentication
    • Conversations
    • Knowledge Base
    • Organizations
    • Custom Domains
    • Admin Stats and Members
    • Profile & Analytics
    • Xentree English
    • Xentree Live
    • Skills Connector
    • Integration Tokens
    • API Keys
    • Errors and Limits
  • API Reference
    • Authentication
      • Register a new user
      • Log in and get an access token
      • Refresh an access token
      • Log out the current user
      • Get the current authenticated user
      • Update the current authenticated user
    • Conversations
      • List available AI providers
      • Generate an AI response
      • List conversations for the current user
      • Create a conversation
      • Delete a conversation
      • Get messages for a conversation
      • Start a conversation session
      • Update session activity
      • End a conversation session
      • Get current session status
      • Search indexed user content
      • Search infrastructure status
      • Rebuild search index
      • List notes
      • Create a note
      • Update a note
      • Delete a note
    • Knowledge Base
      • Search the knowledge base
      • List documents
      • Upload document
      • Query knowledge
    • Organizations
      • List organizations for the current user
      • Create an organization
      • Get organization details
      • Update organization details
      • Delete an organization
      • List organization members
      • Add a member to an organization
      • Update a member's role
      • Comprehensive member update (role, organization, team)
      • Remove a member from an organization
    • Custom Domains
      • Configure organization custom domain
      • Get organization custom-domain status
    • Admin Stats & Members
      • Engagement dashboard
      • Engagement member detail
      • Progress KPI cards
      • List learning objectives
      • Create learning objective
      • Archive learning objective
      • Suggest learning objectives (with draft)
      • Progress members table
      • Impact KPI cards
      • List learning targets
      • Create or update learning target
      • Suggest learning targets
      • Export admin stats report as PDF
      • Export admin stats report as XLSX
    • Profile & Analytics
      • Get my XP profile
      • Get a user's public profile
      • Get streak status
      • Get weekly XP activity
      • Get learning pulse (365-day heatmap)
      • Get daily quests
      • Get learning time analytics
    • Xentree English
      • List XEL modules with user progress
      • Get XEL module details
      • Start an XEL module
      • Complete an XEL module
      • Regenerate a task variant
      • Get current XPI breakdown
      • Get XPI history
      • Start a learning session
      • End a learning session
      • Save a transcript entry
      • Get transcripts for a session
      • Submit a learning task response
      • Run AI evaluation for speaking or writing
      • Get the XEL dashboard overview
    • Xentree Live
      • Get remaining Xentree Live quota
      • Start a live session
      • Update an active live session heartbeat
      • End a live session
      • Update the user nickname used in Xentree Live
      • List live transcripts for the current user
      • Save live session transcripts
      • Get a single live transcript
    • Skills Connector
      • List active integrations for the current user
      • Start the Google Calendar OAuth flow
    • Integration Tokens
      • Issue user- or organization-scoped RS256 integration grant token
      • Verify integration token signature and subject claims
      • Revoke integration token by token or jti
      • Rotate integration grant and optionally revoke previous token
      • Get active JWKS material for an integration subject
      • Get active integration key fingerprints for a subject
      • Admin observability for integration token revocations
    • API Keys
      • List API keys
      • Create an API key
      • Delete an API key
    • Health
      • Health check
      • Detailed health check
  • Schemas
    • Error
    • ConfigureCustomDomainRequest
    • SimpleDetailResponse
    • CustomDomainStatus
    • HealthLivenessResponse
    • HealthDetailedResponse
    • HealthDetailedServices
    • DatabaseHealthStatus
    • DatabasePoolStatus
    • DatabaseConnectionStats
    • SimpleMessageResponse
    • LogoutResponse
    • TokenResponse
    • UserProfile
    • ChatRequest
    • ChatResponse
    • ConversationCreateRequest
    • ConversationResponse
    • CoreSearchConversationResult
    • CoreSearchMessageResult
    • CoreSearchResponse
    • TypesenseReindexRequest
    • TypesenseStatusResponse
    • NoteCreate
    • NoteUpdate
    • NoteResponse
    • CoreConversationSessionStartResponse
    • CoreConversationSessionActivityResponse
    • CoreConversationSessionEndResponse
    • CoreConversationSessionStatusResponse
    • AdminStatsProgressMemberRow
    • TenantResponse
    • AdminStatsProgressMembersResponse
    • AdminStatsOrganizationSummary
    • AdminStatsDateRangeSummary
    • AdminStatsKPIStat
    • AdminStatsPulseDay
    • AdminStatsPulseSummary
    • AdminStatsTeamPulse
    • AdminStatsTrendPoint
    • AdminStatsDistributionBucket
    • AdminStatsCohortRetentionCell
    • AdminStatsCohortRetentionRow
    • AdminStatsCohortAnalyticsRow
    • AdminStatsCohortRetentionAnalytics
    • AdminStatsCohortRetentionResponse
    • AdminStatsMemberActivityRow
    • AdminStatsAffiliation
    • AdminStatsMemberDirectoryRow
    • AdminStatsDashboardResponse
    • AdminStatsUserDetailResponse
    • AdminStatsMutationResponse
    • ProgressKPIItem
    • ProgressKPIResponse
    • ProgressKeyResultPayload
    • ProgressObjectiveCreateRequest
    • ProgressObjectiveSuggestRequest
    • ProgressObjectiveKeyResult
    • ProgressObjectiveResponse
    • ProgressObjectiveSuggestedItem
    • ProgressObjectiveSuggestResponse
    • ProgressTrendResponse
    • ProgressMemberAttempt
    • ProgressMemberSession
    • ProgressMemberRow
    • ProgressMembersResponse
    • ProgressDistributionBucket
    • ProgressDistributionResponse
    • ImpactKPIItem
    • ImpactKPIResponse
    • ImpactTrendResponse
    • ImpactLevelItem
    • ImpactLevelProgressionResponse
    • ImpactTeamBreakdownItem
    • ImpactTeamBreakdownResponse
    • ImpactTopPerformerItem
    • ImpactTopPerformersResponse
    • LearningTargetCreateRequest
    • LearningTargetResponse
    • LearningTargetListResponse
    • LearningTargetSuggestResponse
    • LVIWeightResponse
    • LVIWeightUpdateRequest
    • IntegrationOut
    • KnowledgeSearchRequest
    • KnowledgeSearchResultItem
    • KnowledgeSearchResponse
    • RagDocument
    • RagUploadResponse
    • RagQueryRequest
    • RagQueryResponse
    • LiveStartSessionRequest
    • LiveSessionResponse
    • LiveQuotaResponse
    • TranscriptTurn
    • SaveLiveTranscriptsRequest
    • OrganizationCreateRequest
    • OrganizationResponse
    • MemberResponse
    • XELModuleSummary
    • XELTaskSubmissionRequest
    • XELModuleDetail
    • XELTaskSubmissionResponse
    • XELEvaluationResponse
    • XELDashboardResponse
    • XELModuleStartResponse
    • XELModuleCompleteResponse
    • XELTaskRegenerateRequest
    • XELTaskRegenerateResponse
    • XELXpiResponse
    • XELXpiHistoryItem
    • XELSessionStartRequest
    • XELSessionStartResponse
    • XELSessionEndRequest
    • XELSessionEndResponse
    • XELTranscriptSaveRequest
    • XELTranscriptSaveResponse
    • XELTranscriptItem
    • LiveSessionEndResponse
    • LiveSessionHeartbeatResponse
    • LiveNicknameResponse
    • LiveTranscriptSaveResponse
    • LiveTranscriptListItem
    • LiveTranscriptListResponse
    • LiveTranscriptDetailResponse
    • XPProfileResponse
    • PublicXPProfileResponse
    • StreakStatusResponse
    • WeeklyActivityResponse
    • LearningPulseDayEntry
    • APIKeyResponse
    • LearningPulseResponse
    • IntegrationGrantRequest
    • QuestItem
    • IntegrationGrantResponse
    • QuestsResponse
    • IntegrationVerifyRequest
    • LearningTimeAnalyticsResponse
    • IntegrationVerifyResponse
    • APIKeyCreateRequest
    • IntegrationRevokeRequest
    • IntegrationRevokeResponse
    • IntegrationJWKSResponse
    • IntegrationFingerprintResponse
    • IntegrationRotateRequest
    • IntegrationRotateResponse
    • IntegrationTokenRevocationItem
  1. Documentation

Xentree Live

Xentree Live brings real-time voice and avatar interaction to the Xentree platform.
It is designed for immersive AI sessions with usage controls, transcript persistence, and personalization.

Core capabilities#

start and end voice or avatar sessions
monitor remaining monthly live quota
update a user nickname for more natural interactions
store full transcript history
connect to realtime audio and avatar infrastructure

Authentication and scopes#

Most Live REST endpoints support both bearer and API key auth.
Recommended API key scopes:
live:read for quota and transcript reads
live:write for session start/end/heartbeat and nickname updates

REST endpoints#

Quota and profile#

GET /api/live/quota
PATCH /api/live/nickname

Session lifecycle#

POST /api/live/session/start
POST /api/live/session/heartbeat
POST /api/live/session/end

Transcript storage#

POST /api/live/transcripts
GET /api/live/transcripts
GET /api/live/transcripts/{transcript_id}
POST /api/live/transcripts is intended for bearer (and internal service-key flow). For general server-to-server access, prefer documented hybrid endpoints first.

Realtime architecture#

For browser-based realtime interactions, Xentree Live uses a dedicated socket endpoint:
Socket endpoint: wss://orchstr.xentree.ai
Representative event types include:
start-session
end-session
audio-input
audio-response
session-started
session-ended
avatar-expression

Secure integration token lifecycle#

For embeds, use subject-scoped integration grants via Integration Tokens (for example POST /api/integration/grant). Grants default to issuing user; organization scope requires explicit organizationId from an organization administrator.
Recommended flow:
1.
Call POST /api/integration/grant with short TTL (for example 90-120 seconds).
2.
Attach the returned token as integration_token in embed bootstrapping.
3.
Validate using POST /api/integration/verify in backend middleware/gateway.
4.
Use POST /api/integration/rotate to issue a new token and revoke old token in one call.
5.
Use POST /api/integration/revoke for immediate emergency invalidation.
Operational notes:
Revocation is persisted by jti in database for immediate invalidation.
Public verification material is available at GET /api/integration/jwks and GET /api/integration/fingerprint (query params: subjectType, subjectId).
Endpoint-level rate limit headers are returned on grant/verify/rotate responses.

Example start request#

{
  "session_type": "voice"
}

Example transcript payload#

{
  "session_started_at": "2026-04-16T10:00:00Z",
  "session_ended_at": "2026-04-16T10:05:00Z",
  "transcripts": [
    {
      "role": "user",
      "text": "Hello Xentree",
      "timestamp": "2026-04-16T10:00:03Z"
    },
    {
      "role": "ai",
      "text": "Hi, how can I help you today?",
      "timestamp": "2026-04-16T10:00:05Z"
    }
  ]
}

Quota behavior#

Live usage is tracked in seconds and is evaluated against the user’s plan entitlements. If the quota is exceeded, the API can return a limit-related error and the client should gracefully end the session.
Modified at 2026-08-18 03:54:16
Previous
Xentree English
Next
Skills Connector
Built with