> ## Documentation Index
> Fetch the complete documentation index at: https://docs.praxis-ai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve conversation histories for admin users

> Fetches conversation history data filtered by institution, user search term, and result limit



## OpenAPI

````yaml /mdx/api-reference/admin/admin-api.json post /api/admin/histories
openapi: 3.0.0
info:
  title: Pria Admin API
  version: 2.0.1
  description: >-
    Pria API Documentation Praxis's developer platform is a core part of our
    mission to empower organizations to grow better. Our APIs are designed to
    enable teams of any shape or size to build robust integrations that help
    them customize and get the most value out of Pria. All Pria APIs are built
    using REST conventions and designed to have a predictable URL structure.
    <br/>  <br/>They use many standard HTTP features, including methods (POST,
    GET, PUT, DELETE) and error response codes.  <br/> <br/>All API calls are
    made under https://hiimpria.ai/api and all responses return standard JSON.
    In these docs, you'll find lists of all available endpoints for a given API,
    along with interactive code blocks for building requests. For walkthroughs
    of basic usage for these APIs, check out the API guides.
servers:
  - url: https://pria.praxislxp.com
    description: Pria API Server
security: []
tags:
  - name: Authentication
    description: User authentication, registration, and password management (/api/auth)
  - name: OAuth
    description: OAuth authentication providers - Google, GitHub, SSO (/api/auth/oauth)
  - name: User
    description: User profile management and account operations (/api/user)
  - name: User Institutions
    description: User institution memberships and switching (/api/user/institution)
  - name: User Tools
    description: Available tools for authenticated users (/api/user/tools)
  - name: Institutions
    description: Institution settings and configuration (/api/user/institution)
  - name: Conversation
    description: AI conversation and Q&A endpoints (/api/ai)
  - name: Realtime
    description: Real-time voice AI and WebRTC sessions (/api/ai/rt)
  - name: Assistant
    description: AI assistant configuration and management (/api/user/assistant)
  - name: History
    description: Conversation history and favorites (/api/user/history)
  - name: RAG
    description: >-
      Document upload, embedding, and retrieval-augmented generation
      (/api/user/files, /api/user/rag)
  - name: Setting
    description: Instance variables and settings management (/api/user/setting)
  - name: Branding
    description: Digital twin branding and customization (/api/agent/branding)
  - name: Agent
    description: Agent engagement and session management (/api/agent)
  - name: SDK Launch
    description: >-
      SDK launch token signing and verification for secure iframe embedding
      (/api/auth/sdk-sign, /api/auth/sdk-verify)
  - name: Testing
    description: Health checks, diagnostics, and test endpoints (/api/test)
  - name: Admin Accounts
    description: Account management for super admins (/api/admin/account)
  - name: Admin Institutions
    description: Institution management for admins (/api/admin/institution)
  - name: Admin Users
    description: User management for admins (/api/admin/user)
  - name: Admin Entitlements
    description: >-
      User-institution relationships and permissions
      (/api/admin/userInstitution)
  - name: Admin Sessions
    description: Session management for admins (/api/admin/session)
  - name: Admin Histories
    description: Conversation history management and analytics (/api/admin/history)
  - name: Admin Assistants
    description: AI assistant management for admins (/api/admin/assistant)
  - name: Admin Questions
    description: Institution question and prompt management (/api/admin/question)
  - name: Admin Tools
    description: Tool configuration management (/api/admin/tool)
  - name: Admin AI Models
    description: AI model configuration (/api/admin/aimodel)
  - name: Admin MCP Servers
    description: Model Context Protocol server management (/api/admin/mcpserver)
  - name: Admin Feedbacks
    description: User feedback management (/api/admin/feedback)
  - name: Admin Uploads
    description: Upload management (/api/admin/upload)
  - name: Admin Charts
    description: Analytics and visualization chart management (/api/admin/chart)
  - name: Admin Memory
    description: Admin inspection and editing of user/instance memory parameters.
  - name: Admin Usage Limits
    description: Per-user usage-vs-cap reporting and account-wide at-limit counts.
paths:
  /api/admin/histories:
    post:
      tags:
        - Admin Histories
      summary: Retrieve conversation histories for admin users
      description: >-
        Fetches conversation history data filtered by institution, user search
        term, and result limit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HistoriesRequest'
      responses:
        '200':
          description: Successfully retrieved conversation histories
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HistoriesResponse'
        '401':
          description: Unauthorized - Invalid or missing access token
        '403':
          description: Forbidden - Insufficient permissions
        '500':
          description: Internal server error
      security:
        - apiKeyAuth: []
components:
  schemas:
    HistoriesRequest:
      type: object
      properties:
        institution:
          type: string
          description: Institution ID to filter histories (space-separated for multiple)
        usersearch:
          type: string
          description: >-
            Search term to filter by user email, first name, or last name. Also
            matches a raw 24-hex user _id (for actioned accounts whose PII has
            been scrubbed).
        account:
          type: string
          description: >-
            Account ID to filter by account's institutions (space-separated for
            multiple)
        accountType:
          type: string
          enum:
            - user
            - admin
            - super
          description: Filter by user account type
        course_name:
          type: string
          description: Filter by course name (case-insensitive partial match)
        includeForgotten:
          type: boolean
          default: false
          description: >-
            When true, include conversations the user soft-deleted (forgotten);
            each such row carries forgotten=true so the UI can label them.
            Hidden by default.
        includeInactive:
          type: boolean
          default: false
          description: >-
            Include users of any account status (not just non-deleted) in the
            usersearch resolution, so inactive/actioned accounts surface.
            Default false.
        includeDeleted:
          type: boolean
          default: false
          description: >-
            Include soft-deleted (status:'deleted') history rows, not just
            active. Default false.
        daterange:
          type: array
          items:
            type: string
            format: date
            nullable: true
          minItems: 2
          maxItems: 2
          description: >-
            Date range filter as [startDate, endDate]. Defaults to last 30 days
            if not provided. Use null for open-ended ranges.
          example:
            - '2026-01-01'
            - '2026-01-31'
        page:
          type: integer
          minimum: 1
          default: 1
          description: Page number for pagination (1-based)
        pageSize:
          type: integer
          minimum: 1
          maximum: 5000
          default: 1000
          description: >-
            Number of records per page (max 5000). Default 1000 for backward
            compatibility.
        limit:
          type: integer
          deprecated: true
          description: 'Deprecated: use ''pageSize'' instead.'
        limitsearch:
          type: integer
          deprecated: true
          description: 'Deprecated: use ''pageSize'' instead.'
        summary:
          type: boolean
          description: When true, returns an AI-generated summary instead of raw data
        summaryInstruction:
          type: string
          description: Custom instruction for the AI summary generation
    HistoriesResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: array
          items:
            $ref: '#/components/schemas/ConversationHistory'
        total:
          type: integer
          description: Total number of matching records across all pages
        hasMore:
          type: boolean
          description: Whether more pages exist beyond the current page
        page:
          type: integer
          description: Current page number (1-based)
        pageSize:
          type: integer
          description: Records per page (resolved/clamped value)
        message:
          type: string
    ConversationHistory:
      type: object
      properties:
        _id:
          type: string
        credits:
          type: number
        usage:
          type: number
        cached:
          type: number
        completion:
          type: number
        latencyMs:
          type: number
        ragDurationMs:
          type: number
        hasRagSearch:
          type: boolean
          description: >
            True when this turn ran retrieval and produced at least one segment.
            The full `ragSearch` array is NOT included in list responses — it
            can be multi-KB per row and is fetched lazily via `GET
            /api/admin/history/{id}/ragSearch` on `<details>` expand.
        ragSearchCount:
          type: integer
          description: Number of retrieved segments (used by the UI summary line).
        ragSearchMode:
          type: string
          enum:
            - RAG
            - KAG
          description: Retrieval mode this turn was captured under.
        input:
          type: string
        inputs:
          type: array
          items:
            type: string
        output:
          type: string
        outputs:
          type: array
          items:
            type: string
        success:
          type: boolean
        user:
          $ref: '#/components/schemas/User'
        institution:
          $ref: '#/components/schemas/Institution'
        status:
          type: string
        query_duration_ms:
          type: number
        course_id:
          type: number
        course_name:
          type: string
        assistant:
          type: object
          nullable: true
          description: Populated assistant reference
          properties:
            _id:
              type: string
            name:
              type: string
        conversation_model:
          type: string
        tools:
          type: array
          items:
            $ref: '#/components/schemas/Tool'
        created:
          type: string
          format: date-time
        forgotten:
          type: boolean
          description: >-
            True when the user soft-deleted this conversation from their
            history. Returned only when includeForgotten=true in the request.
    User:
      type: object
      properties:
        _id:
          type: string
          description: User ID
        email:
          type: string
          format: email
          description: User email address
        fname:
          type: string
          description: User first name
        lname:
          type: string
          description: User last name
        accountType:
          type: string
          description: User account type
        status:
          type: string
          description: User status
        lxp_user_id:
          type: string
          description: LXP user identifier
        picture:
          type: string
          format: uri
          description: Profile picture URL
        lxp_user_type:
          type: number
          description: LXP user type
        lxp_partner_id:
          type: number
          description: LXP partner identifier
        lxp_partner_name:
          type: string
          description: LXP partner name
        lxp_role_id:
          type: number
          description: LXP role identifier
        lxp_role_name:
          type: string
          description: LXP role name
        credits:
          type: number
          description: Available credits
        creditsUsed:
          type: number
          description: Credits used
        plan:
          type: string
          description: Subscription plan
        institution:
          $ref: '#/components/schemas/Institution'
        remember_history_count:
          type: number
          description: History count setting
        created:
          type: string
          format: date-time
          description: Creation timestamp
    Institution:
      type: object
      properties:
        _id:
          type: string
          description: Institution ID
        name:
          type: string
          description: Institution name
        picture:
          type: string
          description: Institution picture URL
          format: uri
        credits:
          type: integer
          description: Available credits for the institution
        creditsUsed:
          type: integer
          description: Number of credits used
        creditsAwarded:
          type: integer
          description: Credits awarded to the institution
        status:
          type: string
          enum:
            - active
            - inactive
          description: Institution status
        publicId:
          type: string
          description: Public identifier for the institution
        publicAuthorizedUrls:
          type: array
          items:
            type: string
          description: List of authorized URLs for the institution
        ainame:
          type: string
          description: AI name for the institution
        contactEmail:
          type: string
          description: Contact email for the institution
        poolCredits:
          type: boolean
          description: Whether credits are pooled
        created:
          type: string
          format: date-time
          description: Institution creation timestamp
        lastActivityAt:
          type: string
          format: date-time
          nullable: true
          description: >-
            Timestamp of the most recent activity (history save) cascaded from
            users. Null if no activity has been recorded.
        conversationModel:
          type: string
          description: AI conversation model used
        account:
          $ref: '#/components/schemas/Account'
        agent:
          $ref: '#/components/schemas/AgentWorkspaceAgentState'
          nullable: true
          description: >-
            Agent workspace desired-state configuration for this institution,
            when activation has been requested.
        maxCompletionTokens:
          type: integer
          description: Maximum completion tokens allowed
        creditsTotal:
          type: number
          description: Total credits available
          nullable: true
        creditsUsagePct:
          type: number
          description: Percentage of credits used
        id:
          type: string
          description: Institution ID
        displayAgentDetails:
          type: boolean
          description: Whether to display persisted tool details on saved History records
        displayThinkingDetails:
          type: boolean
          description: >-
            Whether to display persisted model thinking/reasoning details on
            saved History records
        displayRagSearchDetails:
          type: boolean
          description: >-
            Whether to display persisted RAG/KAG retrieval segments on saved
            History records
        displayThinkingExecution:
          type: boolean
          description: >-
            Whether to display the live thinking trace while a response is
            streaming
        displayToolExecution:
          type: boolean
          description: >-
            Whether to display live tool execution indicators while a response
            is streaming
    Tool:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Unique tool name (e.g. get_browser, read_url, call_google_maps)
        responseLength:
          type: number
        responseDurationMs:
          type: number
        success:
          type: boolean
        _id:
          type: string
          description: MongoDB ObjectId
        description:
          type: string
          description: Short user-facing description of what the tool does
        instructions:
          type: string
          description: Long-form instructions to the model on when/how to invoke this tool
        argument_1:
          type: string
          description: >-
            Natural-language description of the first argument the model should
            pass
        argument_2:
          type: string
          description: Natural-language description of the second argument
        argument_3:
          type: string
          description: Natural-language description of the third argument
        argument_4:
          type: string
          description: Natural-language description of the fourth argument
        argument_5:
          type: string
          description: Natural-language description of the fifth argument
        argument_6:
          type: string
          description: Natural-language description of the sixth argument
        isArray:
          type: boolean
          default: false
          description: >-
            Whether this tool can be invoked multiple times in parallel
            (array-returning)
        rtEnabled:
          type: boolean
          default: false
          description: Whether the tool is exposed in realtime (voice) conversations
        rtOnly:
          type: boolean
          default: false
          description: >-
            Whether the tool is ONLY available in realtime conversations (hidden
            from text mode)
        categories:
          type: array
          items:
            type: string
            enum:
              - research
              - productivity
              - creative
              - communication
              - learning
          description: User-facing categories used to filter/group tools in the UI
        status:
          type: string
          enum:
            - active
            - inactive
            - deleted
          default: active
          description: >-
            Lifecycle status. `deleted` tools are soft-deleted and excluded from
            normal listings.
        created:
          type: string
          format: date-time
          description: Creation timestamp
        unavailable:
          type: boolean
          description: >
            Runtime-only flag (not stored). Set by GET /api/admin/tools for
            Google-service

            tools (call_google_maps, call_google_drive, etc.) when the user's
            institution

            has not enabled or connected the required Google Cloud service.
        unavailableReason:
          type: string
          description: >
            Runtime-only field (not stored). Human-readable reason a
            Google-service tool

            is unavailable (e.g. "Google OAuth not configured",

            "Google Cloud not enabled for users", "Google Cloud not connected
            for this instance").
      description: >
        A tool definition consumed by the Pria orchestrator. Field names match
        the

        Mongoose schema in routes/models/tool.js. Each `argument_N` is a
        free-form

        natural-language description of what value the model should pass for
        that

        positional argument — the orchestrator forwards it to the LLM as the

        parameter description (NOT a JSON Schema definition).
    Account:
      type: object
      properties:
        _id:
          type: string
          description: Account ID
        name:
          type: string
          description: Account name
        managerEmail:
          type: string
          format: email
          description: Email of the account's primary manager (required).
        credits:
          type: integer
          description: Account credits.
        domainUrls:
          type: array
          items:
            type: string
          description: Domains associated with the account.
        status:
          type: string
          enum:
            - active
            - inactive
            - deleted
          description: Account status. Soft-delete sets this to `deleted`.
        qualification:
          type: string
          description: Sales pipeline qualification (Suspect, Prospect, MQL, SQL, …).
        created:
          type: string
          format: date-time
          description: Creation timestamp
        creditCaps:
          type: object
          description: Per-user credit caps (super-only). Disabled by default.
          properties:
            enabled:
              type: boolean
              default: false
            perUserAccountTotal:
              type: number
              nullable: true
            perUserInstitutionDefault:
              type: number
              nullable: true
            perUser24hDefault:
              type: number
              nullable: true
    AgentWorkspaceAgentState:
      type: object
      properties:
        enabled:
          type: boolean
        status:
          type: string
          enum:
            - not_enabled
            - requested
            - provisioning
            - ready
            - failed
            - disabled
        preset:
          type: string
        manifestYaml:
          type: string
        manifestDigest:
          type: string
        preferences:
          $ref: '#/components/schemas/AgentWorkspacePreferences'
        requestedBy:
          type: string
        requestedAt:
          type: string
          format: date-time
        provisionedAt:
          type: string
          format: date-time
        lastError:
          type: string
    AgentWorkspacePreferences:
      type: object
      properties:
        cpu:
          type: number
          minimum: 0.25
          maximum: 4
        memoryMb:
          type: integer
          minimum: 512
          maximum: 8192
        storageGb:
          type: integer
          minimum: 5
          maximum: 100
        gui:
          type: boolean
        vncResolution:
          type: string
          example: 1280x800
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-access-token
      description: JWT token passed in x-access-token header

````