# praxis-ai > Pria is an AI-powered digital twin that transforms human expertise into scalable, intelligent assistants for organizations across industries. Originally designed for education, Pria has evolved into a comprehensive middleware solution that captures, preserves, and amplifies institutional knowledge through personalized AI assistants.Pria seamlessly integrates into existing workflows - from learning management systems like Canvas and Moodle to enterprise platforms, websites, and business applications - providing 24/7 expert guidance for complex decision-making, knowledge transfer, and operational excellence. Powered by advanced orchestration technology, Pria leverages multiple Large Language Models (Claude, GPT-4, Gemini, Grok) and natural language processing to create human-like digital twins that understand context, maintain conversation continuity, and execute sophisticated agentic workflows through custom assistant personas. ## Docs - [Create SSO provider](https://docs.praxis-ai.com/api-reference/admin--sso-providers/create-sso-provider.md): Creates a new SSO provider for an institution. One provider per institution. - [Delete SSO provider](https://docs.praxis-ai.com/api-reference/admin--sso-providers/delete-sso-provider.md) - [Get SSO provider by ID](https://docs.praxis-ai.com/api-reference/admin--sso-providers/get-sso-provider-by-id.md) - [List SSO providers](https://docs.praxis-ai.com/api-reference/admin--sso-providers/list-sso-providers.md): Returns all SSO providers scoped by RAP. Client secrets are masked. - [Test SSO provider connectivity](https://docs.praxis-ai.com/api-reference/admin--sso-providers/test-sso-provider-connectivity.md): Attempts to reach the token endpoint to verify configuration. - [Update SSO provider](https://docs.praxis-ai.com/api-reference/admin--sso-providers/update-sso-provider.md): Updates an SSO provider. Institution cannot be changed. - [Adjust an account's credit balance (super admin only)](https://docs.praxis-ai.com/api-reference/admin-accounts/adjust-an-accounts-credit-balance-super-admin-only.md): Adds or subtracts credits from the given account. Records an AccountTransfer with a mandatory note for audit. Reserved for super administrators - regular admins and account managers receive 403. - [Create a new account](https://docs.praxis-ai.com/api-reference/admin-accounts/create-a-new-account.md): Creates a new account in the system - [Delete account](https://docs.praxis-ai.com/api-reference/admin-accounts/delete-account.md): Removes an account from the system - [Get account by ID](https://docs.praxis-ai.com/api-reference/admin-accounts/get-account-by-id.md): Retrieves details of a specific account - [Get list of account transfers](https://docs.praxis-ai.com/api-reference/admin-accounts/get-list-of-account-transfers.md): Retrieves account transfer history with optional filtering - [Search and retrieve accounts](https://docs.praxis-ai.com/api-reference/admin-accounts/search-and-retrieve-accounts.md): Retrieves a paginated list of accounts with institution usage statistics - [Transfer credits between account and institution](https://docs.praxis-ai.com/api-reference/admin-accounts/transfer-credits-between-account-and-institution.md): Transfers credits from the parent account to one of its institutions (positive credits value) or reclaims credits from the institution back to the account (negative credits value). The institution must belong to the specified account. Both the account and institution must have sufficient credits for… - [Update account](https://docs.praxis-ai.com/api-reference/admin-accounts/update-account.md): Updates an existing account - [Create a new AI model](https://docs.praxis-ai.com/api-reference/admin-ai-models/create-a-new-ai-model.md): Creates a new AI model configuration - [Delete AI model](https://docs.praxis-ai.com/api-reference/admin-ai-models/delete-ai-model.md): Removes an AI model configuration - [Get AI model by ID](https://docs.praxis-ai.com/api-reference/admin-ai-models/get-ai-model-by-id.md): Retrieves details of a specific AI model - [Get list of AI models](https://docs.praxis-ai.com/api-reference/admin-ai-models/get-list-of-ai-models.md): Retrieves all AI models with optional filtering - [Update AI model](https://docs.praxis-ai.com/api-reference/admin-ai-models/update-ai-model.md): Updates an existing AI model configuration - [Retrieve filtered list of assistants](https://docs.praxis-ai.com/api-reference/admin-assistants/retrieve-filtered-list-of-assistants.md): Fetches a list of AI assistants based on specified filters, with optional minimal data return - [Delete chart](https://docs.praxis-ai.com/api-reference/admin-charts/delete-chart.md): Removes a chart - [Get chart by ID](https://docs.praxis-ai.com/api-reference/admin-charts/get-chart-by-id.md): Retrieves a specific chart - [Get list of charts](https://docs.praxis-ai.com/api-reference/admin-charts/get-list-of-charts.md): Retrieves charts with optional filtering - [Delete a user institution by ID](https://docs.praxis-ai.com/api-reference/admin-entitlements/delete-a-user-institution-by-id.md): Removes a user institution from the system. Requires admin privileges. - [Enroll users into an institution](https://docs.praxis-ai.com/api-reference/admin-entitlements/enroll-users-into-an-institution.md): Creates user-institution memberships for the specified users. Skips users who are already enrolled or invalid. Requires users.add entitlement for the target institution. - [Get user institutions by user ID](https://docs.praxis-ai.com/api-reference/admin-entitlements/get-user-institutions-by-user-id.md): Retrieves all institutions associated with a specific user ID (admin endpoint) - [Get users associated with institutions](https://docs.praxis-ai.com/api-reference/admin-entitlements/get-users-associated-with-institutions.md): Retrieves a list of users and their relationships with institutions based on search criteria - [Get users eligible to enroll in an institution](https://docs.praxis-ai.com/api-reference/admin-entitlements/get-users-eligible-to-enroll-in-an-institution.md): Returns users who are not yet members of the specified institution. Results are capped at 100. If no search term is provided, returns the first 100 eligible users. With a search term (2+ chars), filters by name or email. - [Update user institution attributes such as account type, status, etc.](https://docs.praxis-ai.com/api-reference/admin-entitlements/update-user-institution-attributes-such-as-account-type-status-etc.md): Updates the account type for a specific user in the institution - [Delete feedback](https://docs.praxis-ai.com/api-reference/admin-feedbacks/delete-feedback.md): Removes a feedback record - [Get feedback by ID](https://docs.praxis-ai.com/api-reference/admin-feedbacks/get-feedback-by-id.md): Retrieves details of a specific feedback - [Search and retrieve feedbacks](https://docs.praxis-ai.com/api-reference/admin-feedbacks/search-and-retrieve-feedbacks.md): Retrieves a paginated list of user feedbacks based on search criteria - [Update feedback](https://docs.praxis-ai.com/api-reference/admin-feedbacks/update-feedback.md): Updates feedback status and admin notes - [Compare specific institutions side-by-side](https://docs.praxis-ai.com/api-reference/admin-histories/compare-specific-institutions-side-by-side.md): Runs parallel per-institution aggregation queries for side-by-side comparison. Requires explicit institution IDs. Optionally includes a total series. Returns pre-resolved institution names for display. - [Delete a specific history record](https://docs.praxis-ai.com/api-reference/admin-histories/delete-a-specific-history-record.md): Removes a history entry from the system using its unique identifier - [Delete multiple histories](https://docs.praxis-ai.com/api-reference/admin-histories/delete-multiple-histories.md): Deletes multiple history records based on criteria - [Get conversation model usage distribution](https://docs.praxis-ai.com/api-reference/admin-histories/get-conversation-model-usage-distribution.md): Returns the top 30 most-used conversation models within the date range and institution scope. Results are cached. - [Get peak usage heatmap for conversations](https://docs.praxis-ai.com/api-reference/admin-histories/get-peak-usage-heatmap-for-conversations.md): Returns conversation counts grouped by day-of-week and hour-of-day. Useful for identifying peak usage patterns. Results are cached. - [Get time-series chart data for histories](https://docs.praxis-ai.com/api-reference/admin-histories/get-time-series-chart-data-for-histories.md): Optimized endpoint for time-series charts (bar, line, area, heatmap, scatter). Supports count, credits, usage, cached, and price dimensions. Uses a 2-step top-N query to avoid fetching data for all institutions. - [Get totals chart data for histories](https://docs.praxis-ai.com/api-reference/admin-histories/get-totals-chart-data-for-histories.md): Optimized endpoint for total/summary charts (pie, donut, radialBar, radar, polarArea). No time bucketing — returns aggregated totals per institution sorted by value. Top-N handled entirely in MongoDB via $sort + $limit. - [Get unique user count chart data](https://docs.praxis-ai.com/api-reference/admin-histories/get-unique-user-count-chart-data.md): Dedicated endpoint for dimension=users queries. Uses a double-$group pipeline to count unique users per time bucket and institution. - [Get weekly chart data for admin histories](https://docs.praxis-ai.com/api-reference/admin-histories/get-weekly-chart-data-for-admin-histories.md): Retrieves chart data for administrative history tracking with configurable granularity and time range - [Lazy-fetch the bulk thinking/reasoning array for a single History record (admin)](https://docs.praxis-ai.com/api-reference/admin-histories/lazy-fetch-the-bulk-thinkingreasoning-array-for-a-single-history-record-admin.md): List endpoints project out the bulk `thinking` text and expose only a `hasThinking` boolean. This endpoint returns the full thinking array on demand. Permission mirrors `getHistoryById`: the History owner sees their own; otherwise the requesting admin must have the `histories.list` entitlement on th… - [Retrieve conversation histories for admin users](https://docs.praxis-ai.com/api-reference/admin-histories/retrieve-conversation-histories-for-admin-users.md): Fetches conversation history data filtered by institution, user search term, and result limit - [Retrieve detailed history record by ID](https://docs.praxis-ai.com/api-reference/admin-histories/retrieve-detailed-history-record-by-id.md): Get comprehensive information about a specific conversation history record including user details, institution info, usage metrics, and conversation data - [Adjust an institution's credit balance (super admin only)](https://docs.praxis-ai.com/api-reference/admin-institutions/adjust-an-institutions-credit-balance-super-admin-only.md): Adds or subtracts credits from the given institution. Records an AccountTransfer with a mandatory note for audit. If the institution has a parent account, by default credits are transferred zero-sum from that account (the account's balance is decremented by the same amount and the AccountTransfer re… - [Award free credits to institution](https://docs.praxis-ai.com/api-reference/admin-institutions/award-free-credits-to-institution.md): Awards free credits to a specific institution - [Clone an institution](https://docs.praxis-ai.com/api-reference/admin-institutions/clone-an-institution.md): Creates a copy of an existing institution with all settings - [Create a new institution](https://docs.praxis-ai.com/api-reference/admin-institutions/create-a-new-institution.md): Creates a new institution in the system - [Delete an institution](https://docs.praxis-ai.com/api-reference/admin-institutions/delete-an-institution.md): Removes an institution from the system - [Generate about text for institution](https://docs.praxis-ai.com/api-reference/admin-institutions/generate-about-text-for-institution.md): Uses AI to generate an about section based on institution questions - [Get institution details by ID](https://docs.praxis-ai.com/api-reference/admin-institutions/get-institution-details-by-id.md): Retrieves detailed information about a specific institution including configuration, credits, and settings - [Reassign an institution to a different account](https://docs.praxis-ai.com/api-reference/admin-institutions/reassign-an-institution-to-a-different-account.md): Clean-room endpoint with strict field whitelisting. Only the `account` field is accepted. Non-super users must have access to both the source institution and the target account. Passing `account: null` detaches the institution from its parent account — super users only. - [Retrieve list of institutions](https://docs.praxis-ai.com/api-reference/admin-institutions/retrieve-list-of-institutions.md): Get a list of all institutions with their details and statistics - [Update an institution configuration](https://docs.praxis-ai.com/api-reference/admin-institutions/update-an-institution-configuration.md): Updates the configuration settings for a specific institution - [Create a new MCP server](https://docs.praxis-ai.com/api-reference/admin-mcp-servers/create-a-new-mcp-server.md): Creates a new Model Context Protocol server configuration - [Delete MCP server](https://docs.praxis-ai.com/api-reference/admin-mcp-servers/delete-mcp-server.md): Removes an MCP server configuration - [Get list of MCP servers](https://docs.praxis-ai.com/api-reference/admin-mcp-servers/get-list-of-mcp-servers.md): Retrieves all MCP servers with optional filtering - [Get MCP server by ID](https://docs.praxis-ai.com/api-reference/admin-mcp-servers/get-mcp-server-by-id.md): Retrieves details of a specific MCP server - [Update MCP server](https://docs.praxis-ai.com/api-reference/admin-mcp-servers/update-mcp-server.md): Updates an existing MCP server configuration - [List payments](https://docs.praxis-ai.com/api-reference/admin-payments/list-payments.md): Retrieves a paginated list of Stripe payments with optional filtering by account, institution, or user search - [Analyze a prompt](https://docs.praxis-ai.com/api-reference/admin-questions/analyze-a-prompt.md): Analyzes a prompt for quality and provides suggestions - [Generate institution system prompt](https://docs.praxis-ai.com/api-reference/admin-questions/generate-institution-system-prompt.md): Generates a system prompt based on institution questions - [Retrieve institution questions](https://docs.praxis-ai.com/api-reference/admin-questions/retrieve-institution-questions.md): Get questions associated with a specific institution, with option for minimum data - [Retrieve institutional assessment questions](https://docs.praxis-ai.com/api-reference/admin-questions/retrieve-institutional-assessment-questions.md): Fetches a list of questions used for institutional assessments, with optional filtering for minimal data - [Delete/revoke session](https://docs.praxis-ai.com/api-reference/admin-sessions/deleterevoke-session.md): Revokes a specific session (logout) - [Get session analytics charts](https://docs.praxis-ai.com/api-reference/admin-sessions/get-session-analytics-charts.md): Returns distribution charts for OS, browser, device type, daily activity timeline, and a day-of-week/hour-of-day peak usage heatmap. Results are cached. When more than 100k sessions match the filter and no institution/account filter is set, the date range is auto-narrowed to 3 days for memory safety… - [Get session by ID](https://docs.praxis-ai.com/api-reference/admin-sessions/get-session-by-id.md): Retrieves details of a specific session - [Search and retrieve active sessions](https://docs.praxis-ai.com/api-reference/admin-sessions/search-and-retrieve-active-sessions.md): Retrieves a paginated list of user sessions based on search criteria - [Create a new tool](https://docs.praxis-ai.com/api-reference/admin-tools/create-a-new-tool.md): Creates a new tool configuration - [Delete tool](https://docs.praxis-ai.com/api-reference/admin-tools/delete-tool.md): Removes a tool configuration - [Get list of tools](https://docs.praxis-ai.com/api-reference/admin-tools/get-list-of-tools.md): Retrieves all tools with optional filtering - [Get tool by ID](https://docs.praxis-ai.com/api-reference/admin-tools/get-tool-by-id.md): Retrieves details of a specific tool - [Update tool](https://docs.praxis-ai.com/api-reference/admin-tools/update-tool.md): Updates an existing tool configuration - [Get upload by ID](https://docs.praxis-ai.com/api-reference/admin-uploads/get-upload-by-id.md): Retrieves details of a specific upload - [Create a new user in the admin system. Users get 15 credits when created. When plan set to 'sdk' with a valid institution (your digital twin _id), user is automatically enrolled into the instance](https://docs.praxis-ai.com/api-reference/admin-users/create-a-new-user-in-the-admin-system-users-get-15-credits-when-created-when-plan-set-to-sdk-with-a-valid-institution-your-digital-twin-_id-user-is-automatically-enrolled-into-the-instance.md) - [Delete a user by ID](https://docs.praxis-ai.com/api-reference/admin-users/delete-a-user-by-id.md): Permanently removes a user from the system. This is an admin-only operation. - [Get user details by ID (Admin only)](https://docs.praxis-ai.com/api-reference/admin-users/get-user-details-by-id-admin-only.md): Retrieves detailed information about a specific user. Requires admin privileges. - [Search and retrieve users for admin management](https://docs.praxis-ai.com/api-reference/admin-users/search-and-retrieve-users-for-admin-management.md): Retrieves a list of users based on search criteria including institution, account type, and search terms - [Create a new assistant](https://docs.praxis-ai.com/api-reference/assistants/create-a-new-assistant.md): Creates a new AI assistant with the specified configuration. The request body is passed directly to the Mongoose model constructor. Only the name field is required by the schema (other fields have defaults). If institution is an empty string it is removed from the body. Auto-reset logic is applied b… - [Get a single assistant by ID](https://docs.praxis-ai.com/api-reference/assistants/get-a-single-assistant-by-id.md): Retrieves a single assistant by its ObjectId. Requires admin or super user privileges. The response includes populated user_data (email, fname, lname, institution, accountType), institution_data (name, ainame, status, picture), and account_data (name, status) objects. For non-super users viewing sys… - [Increment an assistant's liked count](https://docs.praxis-ai.com/api-reference/assistants/increment-an-assistants-liked-count.md): Increments the liked_count field of an assistant using MongoDB $inc operator. The liked_count value from the request body is added to the current count (can be negative to decrement). Any authenticated user can call this endpoint. - [Search and retrieve assistants](https://docs.praxis-ai.com/api-reference/assistants/search-and-retrieve-assistants.md): Retrieves a filtered list of assistants based on type, name, and the requesting user's permissions. Results include system assistants (user=null), the user's own assistants, institution-shared assistants, and account-shared assistants from sibling institutions. Assistants with status "deleted" are a… - [Soft-delete an assistant](https://docs.praxis-ai.com/api-reference/assistants/soft-delete-an-assistant.md): Performs a soft delete on an assistant by setting its status to "deleted" and prepending a timestamp to the name (to free the unique index slot). Requires admin or super user privileges. System assistants (user=null) cannot be deleted through this endpoint and return a 403 error. Admin users can onl… - [Update an existing assistant](https://docs.praxis-ai.com/api-reference/assistants/update-an-existing-assistant.md): Updates an existing assistant by its ObjectId. Accepts any non-empty object as the request body and passes it directly to MongoDB updateOne. No field-level validation is performed beyond requiring a non-empty body. Special handling for institution and user fields when sent as empty strings uses $uns… - [Upload one or more audio segments for transcription and vault ingestion](https://docs.praxis-ai.com/api-reference/audio-notes/upload-one-or-more-audio-segments-for-transcription-and-vault-ingestion.md): Accepts 1..20 audio segments (audio/webm, audio/ogg, audio/mp4, audio/mpeg, audio/wav). Each segment is capped at 50 MB. When `combine=true` and all segments share a single mimetype, the server concatenates them losslessly via ffmpeg before ingestion. Returns 202 immediately; transcription runs asyn… - [Automatic user signup and authentication](https://docs.praxis-ai.com/api-reference/authentication/automatic-user-signup-and-authentication.md): Creates or authenticates a user account automatically based on CMS/LMS integration data. Typically called after SDK launch token verification (see `/api/auth/sdk-verify`). - [Change user password](https://docs.praxis-ai.com/api-reference/authentication/change-user-password.md): Changes the user's password using a valid reset code. - [Generate Digital Twin instructions from Q&A](https://docs.praxis-ai.com/api-reference/authentication/generate-digital-twin-instructions-from-q&a.md): Takes interview question/answer pairs and generates AI-powered persona instructions for a Digital Twin being created. Used during the creation wizard before the institution exists. Requires JWT authentication. - [Generate password reset code](https://docs.praxis-ai.com/api-reference/authentication/generate-password-reset-code.md): Sends a password reset code to the user's email address. - [Register a new user](https://docs.praxis-ai.com/api-reference/authentication/register-a-new-user.md): Creates a new user account with email and password authentication. - [User authentication and sign-in](https://docs.praxis-ai.com/api-reference/authentication/user-authentication-and-sign-in.md): Authenticates a user with email and password, and returns a JWT token along with the user profile. - [Validate account activation code](https://docs.praxis-ai.com/api-reference/authentication/validate-account-activation-code.md): Validates whether the provided activation code is valid for the user. - [Validate password reset code](https://docs.praxis-ai.com/api-reference/authentication/validate-password-reset-code.md): Validates whether the provided reset code is valid for the user. - [Create subscription checkout session](https://docs.praxis-ai.com/api-reference/billing/create-subscription-checkout-session.md): Creates a Stripe checkout session and returns the full session object. The client should redirect the user to the session URL to complete payment. - [Get checkout session result](https://docs.praxis-ai.com/api-reference/billing/get-checkout-session-result.md): Retrieves details of a completed Stripe checkout session for displaying a purchase confirmation screen. Verifies the session belongs to the authenticated user. - [Get current subscription plan](https://docs.praxis-ai.com/api-reference/billing/get-current-subscription-plan.md): Retrieves the current user's Stripe subscription plan details and status - [Retrieve branding information for a digital twin](https://docs.praxis-ai.com/api-reference/branding/retrieve-branding-information-for-a-digital-twin.md): Gets branding details for an institution's digital twin instance. Use this API to personalize your embedded application with the institution's custom avatar, background images, AI name, and description. - [Add files to a collection](https://docs.praxis-ai.com/api-reference/collections/add-files-to-a-collection.md) - [Bulk action on files or collections](https://docs.praxis-ai.com/api-reference/collections/bulk-action-on-files-or-collections.md) - [Create a new collection](https://docs.praxis-ai.com/api-reference/collections/create-a-new-collection.md) - [Delete collection and all contained files](https://docs.praxis-ai.com/api-reference/collections/delete-collection-and-all-contained-files.md) - [Download collection as ZIP](https://docs.praxis-ai.com/api-reference/collections/download-collection-as-zip.md) - [Download selected files as ZIP](https://docs.praxis-ai.com/api-reference/collections/download-selected-files-as-zip.md): Streams a ZIP archive of the selected files. When only one file is selected, streams the file directly without zipping. A 1GB total size limit is enforced. Accepts both upload IDs and collection IDs — files in collections are included. Duplicate files are deduplicated by ID. ZIP entry names are dedu… - [Get all file and collection IDs for bulk select-all](https://docs.praxis-ai.com/api-reference/collections/get-all-file-and-collection-ids-for-bulk-select-all.md): Returns all file IDs and collection IDs matching the current scope (vault root or inside a collection), honoring the active filters from the UI (file-name search, status filter). When any filter is active, collections are NOT returned — selecting a whole collection would pull in non-matching files i… - [Get recursive file counts for collections](https://docs.praxis-ai.com/api-reference/collections/get-recursive-file-counts-for-collections.md): Given an array of collection IDs, returns the real recursive file count for each (including files in all descendant sub-collections). Does not use cached fileCount. - [List collections for a vault](https://docs.praxis-ai.com/api-reference/collections/list-collections-for-a-vault.md) - [List files within a collection](https://docs.praxis-ai.com/api-reference/collections/list-files-within-a-collection.md) - [Remove files from a collection](https://docs.praxis-ai.com/api-reference/collections/remove-files-from-a-collection.md) - [Update collection (rename, move vault)](https://docs.praxis-ai.com/api-reference/collections/update-collection-rename-move-vault.md) - [Send a message to the AI assistant](https://docs.praxis-ai.com/api-reference/conversation/send-a-message-to-the-ai-assistant.md): Processes conversational AI requests with full context awareness including: - User location and timezone - Conversation history (via selectedCourse) - Assistant personality and instructions - RAG (Retrieval-Augmented Generation) from uploaded documents - [Send a message with HTTP SSE streaming response](https://docs.praxis-ai.com/api-reference/conversation/send-a-message-with-http-sse-streaming-response.md): Alternative to Socket.IO streaming - uses standard HTTP Server-Sent Events (SSE). Ideal for server-side integrations, SDKs, and environments where WebSockets aren't available. - [Get user feedbacks](https://docs.praxis-ai.com/api-reference/feedback/get-user-feedbacks.md): Retrieves feedback submitted by the current user. Returns up to 100 items sorted by newest first. Response is a raw JSON array (no wrapper object). - [Submit feedback](https://docs.praxis-ai.com/api-reference/feedback/submit-feedback.md): Submits user feedback about the application. Sends a notification email upon successful creation. - [Clear history records (soft delete)](https://docs.praxis-ai.com/api-reference/history/clear-history-records-soft-delete.md): Soft-deletes history records by setting forgotten=true. Three operation modes: (1) clearAll=true deletes ALL user history, (2) course_id deletes a conversation and detaches its favorites, (3) id deletes a single record. Favorites in a course are detached (course_id/course_name removed) rather than d… - [Generate an AI summary title for a history record or conversation](https://docs.praxis-ai.com/api-reference/history/generate-an-ai-summary-title-for-a-history-record-or-conversation.md): Uses AI to generate a concise title that describes the benefit or outcome of the conversation. The AI provider is determined by the institution's summaryModel configuration. When 'id' is supplied, reads a single history record (input, inputs, output, outputs, code) and returns up to 200 chars. When… - [Rename a conversation or favorite](https://docs.praxis-ai.com/api-reference/history/rename-a-conversation-or-favorite.md): Two modes of operation: (1) Rename a conversation by providing course_id and course_name - updates all history records in that conversation. (2) Rename a favorite by providing id and favorite_name - updates a single record. If favorite_name is falsy, the field is removed ($unset). - [Retrieve user conversation histories](https://docs.praxis-ai.com/api-reference/history/retrieve-user-conversation-histories.md): Fetches conversation history records based on specified filters. Results are sorted newest-first by the database, then reversed to oldest-first before returning. Long strings in inputs/outputs are trimmed to 200 chars. Tool responses are truncated to 80 chars unless tools=true. - [Retrieve user conversations](https://docs.praxis-ai.com/api-reference/history/retrieve-user-conversations.md): Gets a grouped list of all conversations (courses) for the authenticated user. Each course includes its history count, last dialogue date, and associated assistant. Courses with course_id=0 are filtered out of results. - [Retrieve user's favorite dialogues](https://docs.praxis-ai.com/api-reference/history/retrieve-users-favorite-dialogues.md): Returns history records marked as favorites by the authenticated user. Uses the same HistoryRecord response shape as /histories. Results are trimmed (inputs/outputs to 200 chars, tool responses to 80 chars). Limited to 1000 records. - [Update a history record](https://docs.praxis-ai.com/api-reference/history/update-a-history-record.md): Updates a user's history record with the provided properties. Accepts any valid history field in the body, not just favorite and forgotten. Returns the full updated document. - [Create a new institution (Digital Twin) for a specific context URL](https://docs.praxis-ai.com/api-reference/institutions/create-a-new-institution-digital-twin-for-a-specific-context-url.md): Creates a new institution record with the provided configuration and context information - [Get institutions for LTI context](https://docs.praxis-ai.com/api-reference/institutions/get-institutions-for-lti-context.md): Retrieves institutions associated with a specific LTI context ID - [Update institution settings](https://docs.praxis-ai.com/api-reference/institutions/update-institution-settings.md): Updates the current user's institution configuration. No admin privilege check is enforced -- any authenticated user with an active institution can call this endpoint. The request body is validated against the institution authorized properties list (conversationModel, maxCompletionTokens, reasoningE… - [Delete uploaded file](https://docs.praxis-ai.com/api-reference/ip-vault/delete-uploaded-file.md): Deletes a file and its associated embeddings from the user's IP Vault via RAG - [Re-ingest file from source URL](https://docs.praxis-ai.com/api-reference/ip-vault/re-ingest-file-from-source-url.md): Re-downloads the file content from its original `source_url`, replaces the file on disk, and re-runs the RAG ingestion pipeline — regenerating embeddings, summary, and metadata. The existing Upload record is updated in-place (no new record is created). - [Re-queue an existing file for ingestion](https://docs.praxis-ai.com/api-reference/ip-vault/re-queue-an-existing-file-for-ingestion.md): Re-enqueues an existing Upload record through the asynchronous ingestion pipeline (extract → chunk → sanitize → embed → finalize) without re-downloading the source file. Unlike `/reingest/{fileId}` which re-fetches the source URL, this endpoint operates on the file already on disk. - [Reload file content](https://docs.praxis-ai.com/api-reference/ip-vault/reload-file-content.md): Re-processes an existing file through the RAG pipeline, regenerating its embeddings and metadata. On success, returns the refreshed Upload record. On RAG callback error, returns HTTP 200 with success: false. - [Scan vault uploads for content quality](https://docs.praxis-ai.com/api-reference/ip-vault/scan-vault-uploads-for-content-quality.md): Analyzes embedding chunks for unoptimized content (JavaScript, HTML, CSS, SQL, JSON) and assigns a vaultHealthScore (0-100) to each unscanned upload. Only processes uploads with vaultHealthScore null. Idempotent - re-running skips already-scanned files. - [Search and retrieve user uploaded files](https://docs.praxis-ai.com/api-reference/ip-vault/search-and-retrieve-user-uploaded-files.md): Retrieves a paginated list of user uploads with optional filtering by filename, status, vault type, and institution. Supports compact and lean response modes. When no vault is specified, legacy behavior applies: the user's personal files plus institution files are returned, and account-shared upload… - [Update an existing upload file's metadata](https://docs.praxis-ai.com/api-reference/ip-vault/update-an-existing-upload-files-metadata.md): Updates the metadata of an uploaded file. Only whitelisted fields are accepted (originalname, file_title, file_summary, file_authors, file_url, source_url, status, is_private, is_public, institution, account_shared, collection, embeddings_model, summary_model, image_analysis_model, audio_analysis_mo… - [Update file confidential status](https://docs.praxis-ai.com/api-reference/ip-vault/update-file-confidential-status.md): Updates the confidential (is_private) flag on a file. The caller must either own the file or be an institution admin for the file's institution. - [Upload content from URL](https://docs.praxis-ai.com/api-reference/ip-vault/upload-content-from-url.md): Downloads or scrapes content from a URL and ingests it into the user's IP Vault via RAG. Google document URLs (Docs, Sheets, Slides) are automatically detected and read via Google OAuth instead of plain HTTP download. The URL is validated against SSRF in non-dev mode. When an institution is provided… - [Upload files](https://docs.praxis-ai.com/api-reference/ip-vault/upload-files.md): Uploads one or more files to the user's IP Vault for RAG processing and embedding. Files are uploaded via multipart form-data using the 'files' field name. Audio files (mp3, m4a, webm, wav, mp4, mov, etc.) are limited to 25MB each. Non-audio files are limited to 150MB each. The multer middleware enf… - [Approve a pending membership](https://docs.praxis-ai.com/api-reference/membership/approve-a-pending-membership.md): Approves a pending user institution membership. The caller must be the referrer (req.body.ref must match the authenticated user). On approval, the membership status is set to active and an approval email is sent to the user. - [Create or retrieve institution join code](https://docs.praxis-ai.com/api-reference/membership/create-or-retrieve-institution-join-code.md): Generates a new join code (UUID v4) for the specified institution, or returns the existing one if already set. Requires admin or super privileges. - [Create personal institution](https://docs.praxis-ai.com/api-reference/membership/create-personal-institution.md): Creates a new personal Digital Twin instance (UserInstitution with no institution) for the user. Does not return the created record. - [Get available institutions](https://docs.praxis-ai.com/api-reference/membership/get-available-institutions.md): Retrieves a list of institutions the user can join. Results are wrapped in a UserInstitution-like structure with nested institution_data and account_data. Visibility rules depend on user account type and allowJoining/account settings. Optionally filters by a search term (matched against name, ainame… - [Get institution by join code](https://docs.praxis-ai.com/api-reference/membership/get-institution-by-join-code.md): Retrieves institution information using a join code. Includes populated account data if available. - [Join an institution](https://docs.praxis-ai.com/api-reference/membership/join-an-institution.md): Joins the user to an institution. If the user is not the referrer, membership requires approval and an email is sent to the referrer. If the user already has a membership for the institution, the existing record is returned. Credit awards may be issued on join if configured. - [Remove user institution membership](https://docs.praxis-ai.com/api-reference/membership/remove-user-institution-membership.md): Removes a user's membership from an institution. If removing the currently active profile, the user is automatically switched to another available membership. - [Initiate SSO login](https://docs.praxis-ai.com/api-reference/oauth/initiate-sso-login.md): Initiates OAuth 2.0 SSO login for a specific provider - [SSO callback](https://docs.praxis-ai.com/api-reference/oauth/sso-callback.md): Handles the callback from OAuth 2.0 SSO authentication - [Create a new embedding chunk](https://docs.praxis-ai.com/api-reference/rag/create-a-new-embedding-chunk.md): Creates a new embedding chunk for an existing upload. The chunk text is vectorized automatically using the institution's configured embedding model. The new chunk is appended after the last existing chunk (highest chunkIndex + 1). - [Delete an embedding chunk](https://docs.praxis-ai.com/api-reference/rag/delete-an-embedding-chunk.md): Permanently deletes a single embedding chunk by ID. - [Get embedding chunks for an upload](https://docs.praxis-ai.com/api-reference/rag/get-embedding-chunks-for-an-upload.md): Retrieves all embedding chunks for a specific IP Vault upload, sorted by chunk index. Each uploaded file is split into text chunks and converted into vector embeddings for retrieval-augmented generation (RAG). This endpoint returns the chunk metadata and text content (up to 1000 chunks per request). - [Sanitize an embedding chunk with AI](https://docs.praxis-ai.com/api-reference/rag/sanitize-an-embedding-chunk-with-ai.md): Sends the chunk text to the institution's summary model for AI-powered cleanup. Removes noise (navigation, boilerplate, encoding artifacts), normalizes whitespace, and fixes broken formatting — without summarizing or shortening the content. - [Search RAG content for user using a specified query string](https://docs.praxis-ai.com/api-reference/rag/search-rag-content-for-user-using-a-specified-query-string.md) - [Update an embedding chunk](https://docs.praxis-ai.com/api-reference/rag/update-an-embedding-chunk.md): Updates an existing embedding chunk. When `chunkText` is modified, the vector embedding is automatically regenerated to keep the semantic search index in sync with the text content. - [Create realtime AI session](https://docs.praxis-ai.com/api-reference/realtime/create-realtime-ai-session.md): Creates a new realtime AI session for voice/WebRTC communication. Returns an ephemeral key for establishing the WebRTC connection. - [Execute realtime tool](https://docs.praxis-ai.com/api-reference/realtime/execute-realtime-tool.md): Executes a tool/function during a realtime AI session. Used for RAG search, web search, and other AI tool capabilities. - [Save realtime conversation](https://docs.praxis-ai.com/api-reference/realtime/save-realtime-conversation.md): Saves a realtime conversation to history after the session ends. Records inputs, outputs, tool usage, and token consumption. - [Sign SDK launch parameters](https://docs.praxis-ai.com/api-reference/sdk-launch/sign-sdk-launch-parameters.md): Signs launch parameters with a server-held HMAC-SHA256 secret for secure SDK iframe embedding. Called by `pria-sdk.js` before creating the launch iframe. - [Verify SDK launch token](https://docs.praxis-ai.com/api-reference/sdk-launch/verify-sdk-launch-token.md): Verifies an HMAC-SHA256 launch token against the server-held secret. Called by `Sdk.js` (React frontend) before proceeding to autosignup. - [Create a new instance variable](https://docs.praxis-ai.com/api-reference/setting/create-a-new-instance-variable.md): Creates a new setting within the authenticated user's institution. The institution and user fields are auto-populated from the auth context. A duplicate key within the same institution returns a 400 error. - [Delete an instance variable](https://docs.praxis-ai.com/api-reference/setting/delete-an-instance-variable.md): Permanently removes a setting by ID. The delete is scoped to the authenticated user's institution. Validates the ID format and checks that the setting exists before attempting deletion. - [Retrieve settings by key](https://docs.praxis-ai.com/api-reference/setting/retrieve-settings-by-key.md): Fetches settings matching a specific key. When no institution is provided, returns settings where institution is null. Results are sorted by key descending and limited to 100 records. - [Retrieve settings for the current institution](https://docs.praxis-ai.com/api-reference/setting/retrieve-settings-for-the-current-institution.md): Fetches settings scoped to the authenticated user's institution, with institution and user metadata. Results are sorted by key ascending and limited to 100 records. Requires the user to belong to an institution. - [Update an instance variable](https://docs.praxis-ai.com/api-reference/setting/update-an-instance-variable.md): Updates an existing setting by ID. Accepts any non-empty object as the request body; no specific fields are required. No institution ownership check is performed. - [Check status of the middleware application](https://docs.praxis-ai.com/api-reference/testing/check-status-of-the-middleware-application.md): Returns the current health status of the service including uptime, memory usage, and dependency status - [Retrieves an institution and validates user access for a specific context](https://docs.praxis-ai.com/api-reference/testing/retrieves-an-institution-and-validates-user-access-for-a-specific-context.md): Use this method to determine if your originating URL or institution ID is associated with an institution, and optionally validate user access status. The properties returned can be used for branding your AI application. - [Get available tools for the authenticated user](https://docs.praxis-ai.com/api-reference/tools/get-available-tools-for-the-authenticated-user.md): Retrieves the list of active tools available for the current user. Returns minimal tool information needed for Pria requests, including availability status for Google-integrated tools based on the user's institution settings and Google Cloud configuration. - [Lazy-fetch the bulk thinking/reasoning array for a single History record](https://docs.praxis-ai.com/api-reference/user-history/lazy-fetch-the-bulk-thinkingreasoning-array-for-a-single-history-record.md): List endpoints (`/api/user/histories`, `/api/user/favorites`) project out the bulk `thinking` text and expose only a `hasThinking` boolean for the UI badge. This endpoint returns the full thinking array on demand, fired by the UI when the user expands the lightbulb `
` block. - [Credit user institution with tokens](https://docs.praxis-ai.com/api-reference/user-institutions/credit-user-institution-with-tokens.md): Transfers credits from the parent account to the institution. Requires admin or super account type. Validates that the user institution exists, belongs to the authenticated user, matches the user's current institution, the institution is linked to a parent account, and the account has sufficient cre… - [Switch user's active institution profile](https://docs.praxis-ai.com/api-reference/user-institutions/switch-users-active-institution-profile.md): Switches the user's active institution profile. Updates the user's institution reference and plan (sdk for institution, free for personal). Also updates lastLogin and lastKA on the target user-institution record. - [Unlink LTI context from user institution](https://docs.praxis-ai.com/api-reference/user-institutions/unlink-lti-context-from-user-institution.md): Removes the LTI context association from a user institution, allowing reassociation with a different Digital Twin. Validates that the user institution exists, belongs to the authenticated user, has an LTI context linked, belongs to an institution, and the institution record exists. Also removes the… - [Update user institution preferences](https://docs.praxis-ai.com/api-reference/user-institutions/update-user-institution-preferences.md): Updates user-institution settings. Accepts canvasApiToken (object to set, empty string to remove), lastConversation, favoriteAssistants, acceptedAccountPrivacyPolicyDate, and favorite. At least one valid field must be provided. - [Get custom AI models](https://docs.praxis-ai.com/api-reference/user/get-custom-ai-models.md): Retrieves the list of custom AI models available for the current institution - [Get system AI models](https://docs.praxis-ai.com/api-reference/user/get-system-ai-models.md): Retrieves the list of system-wide AI models available - [Refresh user entitlements and permissions](https://docs.praxis-ai.com/api-reference/user/refresh-user-entitlements-and-permissions.md): Retrieves the current user's entitlements across all institutions. Transforms populated institution/account into institution_data/account_data. Sorts by favorite flag, ainame, and institution name. Auto-cleans null-institution duplicate records. Returns accountManagerAccounts. - [Refresh user profile data](https://docs.praxis-ai.com/api-reference/user/refresh-user-profile-data.md): Retrieves the current user's full profile including populated institution, account, and Google OAuth status. Proactively refreshes expired Google tokens when a refresh_token is available. Returns a fresh JWT token (sliding session) — store this token to extend the session without re-authentication. - [Update user profile or change password](https://docs.praxis-ai.com/api-reference/user/update-user-profile-or-change-password.md): Updates the current user's profile fields or changes the user's password. When `resetCodeId` is present in the request body, the endpoint operates in password-change mode and requires `password` (current) and `newPassword` fields. Otherwise, it updates profile fields validated against the authorized… - [Upload profile picture](https://docs.praxis-ai.com/api-reference/user/upload-profile-picture.md): Uploads a profile picture from base64-encoded image data. Saves the file to the user's home directory, creates a RAG upload record for the file, and updates the user's profile picture URL. Supported formats are png, jpeg, jpg, gif, and webp. Maximum file size is 5MB. - [Managing Accounts](https://docs.praxis-ai.com/mdx/admin-guide/accounts/managing-accounts.md): Configure account settings, shared integrations, instance associations, and credit transfers. - [Accounts](https://docs.praxis-ai.com/mdx/admin-guide/accounts/overview.md): Centralize management of multiple Digital Twin instances, monitor credits, and streamline deployment across your organization. - [AI Models](https://docs.praxis-ai.com/mdx/admin-guide/ai-models.md): Configure which AI models power your Digital Twin — platform defaults, custom BYOM endpoints, and reasoning effort settings. - [Assistants](https://docs.praxis-ai.com/mdx/admin-guide/assistants.md): Create, manage, and share AI assistants that extend your Digital Twin's capabilities with specialized knowledge and workflows. - [Configuration and Integrations](https://docs.praxis-ai.com/mdx/admin-guide/configuration.md): Learn how to manage instances effectively. - [Connector MCP](https://docs.praxis-ai.com/mdx/admin-guide/connectors.md): Connect your Digital Twin to remote MCP servers for unlimited AI capabilities. - [Crafting Digital Twin Instructions](https://docs.praxis-ai.com/mdx/admin-guide/digital-twin-instructions.md): A methodology guide for writing effective system instructions that shape your Digital Twin's personality, expertise, and behavior. - [Entitlements](https://docs.praxis-ai.com/mdx/admin-guide/entitlements.md): Manage fine-grained, role-based permissions for admin users across your institution. - [Feedback](https://docs.praxis-ai.com/mdx/admin-guide/feedback.md): Learn how to manage feedback effectively. - [Histories](https://docs.praxis-ai.com/mdx/admin-guide/histories.md): Learn how to manage histories effectively. - [Admin Guide](https://docs.praxis-ai.com/mdx/admin-guide/introduction.md): Configure and manage your Digital Twin instances, users, AI models, tools, and organization-wide settings. - [Onboarding Questions](https://docs.praxis-ai.com/mdx/admin-guide/onboarding-questions.md): The onboarding questions are designed to help you personalize your digital twin. These questions will guide the AI in understanding your preferences, communication style, and how you would respond in various situations. This personalization is key to creating a more authentic and effective digital a… - [Personalization](https://docs.praxis-ai.com/mdx/admin-guide/personalization.md): Configure your Digital Twin's identity, appearance, behavior, and AI model assignments in the Personalization and AI Models tab. - [Sessions](https://docs.praxis-ai.com/mdx/admin-guide/sessions.md): Track user activity and monitor real-time connections for FERPA compliance and system visibility. - [SSO Providers](https://docs.praxis-ai.com/mdx/admin-guide/sso-providers.md): Configure OAuth 2.0 Single Sign-On providers for automatic user authentication and enrollment. - [Tools Reference](https://docs.praxis-ai.com/mdx/admin-guide/tools.md): Complete reference for AI tools available in your Digital Twin. - [UI Customization](https://docs.praxis-ai.com/mdx/admin-guide/ui-customization.md): Learn how to customize the user interface of your instance using CSS classes. - [Users](https://docs.praxis-ai.com/mdx/admin-guide/users.md): This comprehensive guide covers all aspects of user management, from basic operations to advanced bulk actions. - [Assistant Variables](https://docs.praxis-ai.com/mdx/admin-guide/variables.md): Use substitution variables to externalize sensitive data and create reusable assistant configurations. - [Introduction](https://docs.praxis-ai.com/mdx/api-reference/introduction.md): Welcome to the Praxis AI API reference documentation. This section provides detailed information about the Praxis AI API endpoints, request formats, and response structures to help you integrate Praxis AI's capabilities directly into your applications. - [What's new?](https://docs.praxis-ai.com/mdx/changelog.md): Product updates and announcements - [Contact Support](https://docs.praxis-ai.com/mdx/contact-support.md): Our customer support team is available to help you get the most of Praxis AI - [LTI v1.3](https://docs.praxis-ai.com/mdx/integrations/canvas/lti-1-3.md): Integrate Praxis AI into your Canvas instance as an LTI Tool. - [Overview](https://docs.praxis-ai.com/mdx/integrations/canvas/overview.md): Canvas Integration features - [Pria Tools](https://docs.praxis-ai.com/mdx/integrations/canvas/pria-tools.md): Control your Canvas instance through the Canvas REST APIs - [Custom Theme](https://docs.praxis-ai.com/mdx/integrations/canvas/theme.md): Integrate Praxis AI within Canvas LMS - [Theme Tools](https://docs.praxis-ai.com/mdx/integrations/canvas/theme-tools.md): Theme Tools is a Nice Add-On to the Canvas Theme install — it layers editor widgets and on-page interactions on top of the embedded Pria SDK so Pria feels native to Canvas. - [Chat Completions API](https://docs.praxis-ai.com/mdx/integrations/chat-completions/introduction.md): Connect to any Digital Twin using the OpenAI SDK — minimal setup, full compatibility - [D2L Brightspace](https://docs.praxis-ai.com/mdx/integrations/d2l/introduction.md): Integrate Praxis AI with D2L Brightspace using LTI Advantage - [ElevenLabs Voice Agent](https://docs.praxis-ai.com/mdx/integrations/elevenlabs/introduction.md): Give your Digital Twin a voice — connect an ElevenLabs agent to Pria using Custom LLM and deploy embeddable voice widgets - [Gemini Live Voice](https://docs.praxis-ai.com/mdx/integrations/gemini-live/introduction.md): Enable real-time voice conversations powered by Google Gemini's native audio WebSocket API. - [Google Workspace](https://docs.praxis-ai.com/mdx/integrations/google-workspace/overview.md): Connect Google Workspace services to your Digital Twin for email, files, calendar, and more. - [MCP Server](https://docs.praxis-ai.com/mdx/integrations/mcp/introduction.md): Connect your LLM to Praxis AI Middleware's MCP Server - [Overview](https://docs.praxis-ai.com/mdx/integrations/overview.md): Integrate your Digital Twins seamlessly in your LMS, web applications, or any LLM-powered environment - [Websites Examples](https://docs.praxis-ai.com/mdx/integrations/web/examples.md): Take a look at our partner sites featuring integration through the Web SDK. - [Embed your Digital Twin](https://docs.praxis-ai.com/mdx/integrations/web/introduction.md): Embed your Digital Twin in any Web application using the Web SDK. - [Digital Twin Loading Sequence](https://docs.praxis-ai.com/mdx/integrations/web/loading-sequence.md): Step-by-step guide to the SDK initialization lifecycle — from script injection to conversation start. - [Switch to Praxis-AI Middleware](https://docs.praxis-ai.com/mdx/introduction/byot.md): Unlock the full power of AI orchestration with enterprise-grade flexibility - [FAQ](https://docs.praxis-ai.com/mdx/introduction/faq.md): Frequently asked questions about Praxis AI - [Glossary](https://docs.praxis-ai.com/mdx/introduction/glossary.md): Key terms and definitions for the Praxis AI platform - [Plans and credits](https://docs.praxis-ai.com/mdx/introduction/plans-and-credits.md): Understanding plans, credit usage and credit rollovers in Praxis AI - [Praxis Studios](https://docs.praxis-ai.com/mdx/introduction/praxis-studios.md): Your Implementation Partner for AI Digital Twin Success - [Student Data Privacy](https://docs.praxis-ai.com/mdx/introduction/privacy-edu-consent.md): Student Data Privacy Consent Form - [WCAG Compliance](https://docs.praxis-ai.com/mdx/introduction/wcag-compliance.md): Web Content Accessibility Guidelines (WCAG) 2.0/2.1 Level A & AA Conformance. - [Welcome to Praxis AI](https://docs.praxis-ai.com/mdx/introduction/welcome.md): The AI middleware that turns any AI model into a personalized Digital Twin — with your voice, your knowledge, and your tools. Deploy everywhere: LMS, web, mobile, voice, or API. - [Navigating the LXP](https://docs.praxis-ai.com/mdx/lxp/introduction.md): Welcome to the Praxis Learning Experience Platform! - [JavaScript](https://docs.praxis-ai.com/mdx/sdk/javascript.md): Use the Javascript SDK to interact with your Digital Twin programatically from any Web Application. - [Object Definitions](https://docs.praxis-ai.com/mdx/sdk/object-definitions.md): This document describes the object definitions used by the Praxis AI Javascript SDK. - [Assistant Library](https://docs.praxis-ai.com/mdx/user-guide/assistants-personalization/assistant-library.md): Browse ready-made assistants for education, development, and general use. - [What are Assistants](https://docs.praxis-ai.com/mdx/user-guide/assistants-personalization/assistants.md): Assistants are specialized AI tools that expand your digital twin's capabilities for specific tasks. - [Creating Assistants](https://docs.praxis-ai.com/mdx/user-guide/assistants-personalization/building.md): Advanced guide to building custom assistants using the CRISPE methodology - [Best Practices](https://docs.praxis-ai.com/mdx/user-guide/best-practices.md): A Comprehensive Guide to the Top 10 Best Practices - [Code & Development](https://docs.praxis-ai.com/mdx/user-guide/capabilities/code-development.md): Write, debug, optimize, and document code in virtually any programming language. Generate icons, design systems, and solve technical challenges. - [Content Creation](https://docs.praxis-ai.com/mdx/user-guide/capabilities/content-creation.md): Transform your ideas into reality across every domain. Generate academic papers, technical documentation, creative writing, and business content with professional-grade quality. - [Data & Charts](https://docs.praxis-ai.com/mdx/user-guide/capabilities/data-visualization.md): Analyze datasets, generate insights, and create interactive 2D charts to visualize your data. - [Media Analysis](https://docs.praxis-ai.com/mdx/user-guide/capabilities/media-analysis.md): Analyze images, extract text from photos, transcribe audio and video files, and work with YouTube content using AI vision and speech capabilities. - [Science & Research](https://docs.praxis-ai.com/mdx/user-guide/capabilities/science-research.md): Perform BLAST searches for bioinformatics, render scientific equations with KaTeX, and solve complex math and chemistry problems. - [Sharing Dialogues](https://docs.praxis-ai.com/mdx/user-guide/capabilities/sharing.md): Share conversations via secure links and enable collaboration with peers, whether or not they have a Pria account. - [Create Your Digital Twin](https://docs.praxis-ai.com/mdx/user-guide/create-digital-twin.md): A step-by-step guide to creating your own Digital Twin — from initial setup to personalization and deployment. - [Credits](https://docs.praxis-ai.com/mdx/user-guide/credits.md): Credits are the usage units that power your digital twin interactions. Think of them as tokens that get consumed each time you or your users engage with the digital twin services. - [Credit Optimization](https://docs.praxis-ai.com/mdx/user-guide/credits-optimization.md): Optimizing Credit Usage with Assistants - [Quick-start with your Digital Twin](https://docs.praxis-ai.com/mdx/user-guide/digital-twin-getting-started.md): Congratulations! Your custom digital twin has been created and is ready to transform how you work, learn, and interact with AI. This guide will help you get started quickly and make the most of your new AI companion. - [Audio Notes](https://docs.praxis-ai.com/mdx/user-guide/files-documents/audio-notes.md): Capture spoken notes directly from the Pria toolbar. Each recording is transcribed in the background and filed in your personal IP Vault, ready to be used through RAG when you converse with your digital twin. - [IP Vault](https://docs.praxis-ai.com/mdx/user-guide/files-documents/ipvault.md): Upload files to give your digital twin access to your own documents, research, and knowledge—so it can reference your content when answering questions. - [Managing Files](https://docs.praxis-ai.com/mdx/user-guide/files-documents/managing-files.md): Transform your digital twin into a personalized knowledge expert by uploading files to your secure IP Vault. Your digital twin can then reference this content to provide informed, contextual responses tailored to your organization and needs. - [Convo Mode](https://docs.praxis-ai.com/mdx/user-guide/interface/convo-speech.md): Convo mode transforms your digital twin interaction from traditional text-based Q&A into natural, flowing dialogue. It enables real-time voice conversations where you can speak naturally with your AI assistant, creating a more intuitive and engaging experience. - [The Gallery](https://docs.praxis-ai.com/mdx/user-guide/interface/digital-expert-gallery.md): Manage and switch between your digital experts effortlessly using the Gallery - [History and Settings](https://docs.praxis-ai.com/mdx/user-guide/interface/history-settings.md): Learn how to navigate your conversation history and manage your interactions with Praxis AI. - [Input and Responses](https://docs.praxis-ai.com/mdx/user-guide/interface/input-responses.md): Learn how to interact with your digital twin and manage your responses. - [Faculty Onboarding](https://docs.praxis-ai.com/mdx/user-guide/lms/faculty-onboarding.md): Learn how your new Praxis Digital Twin is used in your Learning Management System to deliver personalized, context-aware educational support. - [Access your LMS](https://docs.praxis-ai.com/mdx/user-guide/lms/user-auth.md): Learn how your digital twin seamlessly integrates with your Learning Management System to deliver personalized, context-aware educational support. - [Conversation History](https://docs.praxis-ai.com/mdx/user-guide/memory/conversation-history.md): Your digital twin's working memory for the current conversation - [Memory Systems](https://docs.praxis-ai.com/mdx/user-guide/memory/memory-systems.md): Your digital twin uses three complementary memory systems to provide both immediate context and long-term personalization - [Shared Memory](https://docs.praxis-ai.com/mdx/user-guide/memory/shared-memory.md): Information that your digital twin shares with all users in your organization—like a team knowledge base everyone can access. - [User Memory](https://docs.praxis-ai.com/mdx/user-guide/memory/user-memory.md): User Memory is your digital twin's permanent storage system that remembers important information about you across all conversations and sessions. The User Memory is used to creates a truly personalized experiences. - [Change Password](https://docs.praxis-ai.com/mdx/user-guide/profile-settings/change-password.md): Follow these steps to update your account password and maintain secure access to your digital twin. - [Edit Profile](https://docs.praxis-ai.com/mdx/user-guide/profile-settings/edit-profile.md): Your profile settings allow you to personalize and manage your profile settings in your digital twin. Access these settings to customize your display preferences and administrative options. - [Google Services](https://docs.praxis-ai.com/mdx/user-guide/profile-settings/google-services.md): Connect your Google account to enable Gmail, Drive, Calendar, and more within your Digital Twin conversations. ## OpenAPI Specs - [runtime-api](https://docs.praxis-ai.com/api-reference/runtime-api.json) - [admin-api](https://docs.praxis-ai.com/api-reference/admin-api.json) ## Optional - [Innovations Hub](https://praxis-ai.com/innovation-hub/) - [Community Gitlab](https://gitlab.com/praxis-ai/pria-client-sdk)