> ## 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.

# Update an institution configuration

> Updates the configuration settings for a specific institution



## OpenAPI

````yaml /mdx/api-reference/admin/admin-api.json put /api/admin/institution/{institutionId}
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/institution/{institutionId}:
    put:
      tags:
        - Admin Institutions
      summary: Update an institution configuration
      description: Updates the configuration settings for a specific institution
      parameters:
        - in: path
          name: institutionId
          required: true
          schema:
            type: string
          description: The institution ID
          example: 665653e9f7e4f4f1b5c6ef1b
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstitutionUpdateRequest'
      responses:
        '200':
          description: Institution successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstitutionUpdateResponse'
        '400':
          description: Bad request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessError'
        '401':
          description: Unauthorized - Invalid or missing access token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessError'
        '404':
          description: Institution not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessError'
      security:
        - apiKeyAuth: []
components:
  schemas:
    InstitutionUpdateRequest:
      type: object
      required:
        - name
        - account
        - status
        - credits
        - publicId
      properties:
        name:
          type: string
          description: Institution domain name
          example: 28615560.marcodivittorio.utoronto-dev.instructure.com
        account:
          type: string
          description: Account ID reference
          example: 66cffaa6b359c109fb06d839
        status:
          type: string
          enum:
            - active
            - inactive
          description: Institution status
          example: inactive
        credits:
          type: integer
          description: Number of credits allocated
          example: 50
        publicId:
          type: string
          description: Public UUID identifier
          example: c98291e9-12e7-4304-b47b-ab18b0968a02
        publicAuthorizedUrls:
          type: array
          items:
            type: string
          description: List of authorized URLs
          example:
            - https://utoronto-dev.instructure.com
            - https://canvas.instructure.com
        picture:
          type: string
          description: Institution picture URL
        picture_bg:
          type: string
          description: Background picture URL
        picture_dark_bg:
          type: string
          description: Dark mode background picture URL
        picture_animated:
          type: string
          description: Animated picture URL
        elevenlabs_agent_id:
          type: string
          description: ElevenLabs Conversational AI Agent ID for voice-enabled digital twin
          example: agent_0201kedjfdgee87bjke8acq3pcbg
        ainame:
          type: string
          description: AI assistant name
          example: Pria
        prompt:
          type: string
          description: Default AI prompt
          example: What can I do for you?
        contactEmail:
          type: string
          format: email
          description: Contact email address
          example: marco.divittorio@utoronto.ca
        creditAward:
          type: integer
          description: Credit award amount
          example: 0
        poolCredits:
          type: boolean
          description: Whether to pool credits
          example: true
        kmeanScore:
          type: number
          format: float
          description: K-means clustering score
          example: 0.45
        disableFileUploadForUser:
          type: boolean
          description: Disable file upload for users
          example: false
        disableAudioNotesForUser:
          type: boolean
          description: >-
            Disable Audio Notes capture (microphone icon in toolbar) for
            standard users in this institution. Admins are unaffected. Audio
            Notes is also hidden when guestUI or disableFileUploadForUser is on.
          example: false
        disableAssistantsForUser:
          type: boolean
          description: Disable assistants for users
          example: false
        ltiContextIds:
          type: array
          items:
            type: string
          description: LTI context identifiers
        personalisationAsked:
          type: boolean
          description: Whether personalization was asked
          example: false
        kalturaIsAdminSecret:
          type: boolean
          description: Kaltura admin secret flag
          example: false
        kalturaUserId:
          type: string
          description: Kaltura user ID
        entitleNewAdmins:
          type: boolean
          description: Entitle new administrators
          example: false
        locationEnabled:
          type: boolean
          description: Location services enabled
          example: true
        enableModeration:
          type: boolean
          description: Content moderation enabled
          example: false
        ragLimitChunks:
          type: integer
          description: RAG limit chunks
          example: 2
        ragChunkChars:
          type: integer
          description: >-
            Per-chunk character budget for RAG embedding/retrieval, shared by
            KAG extraction. Admin preset 2000/4000/6000 (~512/1024/1536 tokens).
            Falls back to the system default (4000) when unset.
          example: 4000
        ragChunkOverlapRatio:
          type: number
          format: float
          description: >-
            Chunk overlap as a fraction of ragChunkChars (bounded 0–0.5). Falls
            back to the system default (0.15) when unset.
          example: 0.15
        kagFusionEnabled:
          type: boolean
          description: >-
            When true, RAG fans out to dense + graph retrievers and fuses via
            Reciprocal Rank Fusion (KAG). Default false; opt-in per institution.
          example: false
        maxFiles:
          type: integer
          description: Maximum number of files
          example: 300
        alwaysCiteSources:
          type: boolean
          description: Always cite sources
          example: true
        canvasAPIScope:
          type: array
          items:
            type: string
          description: Canvas API scope permissions
        rtEnabled:
          type: boolean
          description: Real-time features enabled
          example: false
        rtAdminOnly:
          type: boolean
          description: Real-time admin only
          example: true
        displayAgentDetails:
          type: boolean
          description: Display persisted tool details on saved History records
          example: true
        displayThinkingDetails:
          type: boolean
          description: >-
            Display persisted model thinking/reasoning details on saved History
            records
          example: true
        displayRagSearchDetails:
          type: boolean
          description: >-
            Display persisted RAG/KAG retrieval segments (file + relevance +
            chunk preview) on saved History records
          example: true
        displayThinkingExecution:
          type: boolean
          description: >-
            Display the live thinking trace while a response is streaming
            (independent of displayThinkingDetails)
          example: true
        displayToolExecution:
          type: boolean
          description: >-
            Display live tool execution indicators while a response is streaming
            (independent of displayAgentDetails)
          example: true
        rtVoice:
          type: string
          description: Real-time voice setting
        maxCompletionTokens:
          type: integer
          description: Maximum completion tokens (-1 for unlimited)
          example: -1
        allowJoining:
          type: string
          enum:
            - enabled
            - disabled
          description: Allow joining setting
          example: disabled
        joiningAdminOnly:
          type: boolean
          description: Joining admin only
          example: false
        questionType:
          type: string
          enum:
            - PERSONA
          description: >-
            Onboarding question bank this institution uses (single live bank —
            "PERSONA"; legacy INSTITUTION/CORPORATE banks are retired)
        creditCaps:
          type: object
          description: >-
            Per-institution user-quota configuration. Editable by admins with
            the institutions.edit entitlement when the account has not enabled
            caps; read-only (inherited) when the account owns caps.
          properties:
            enabled:
              type: boolean
              default: false
              description: >-
                When true and the account has not enabled caps, per-user quotas
                are enforced for this institution's members.
            perUserInstitution:
              type: number
              nullable: true
              description: >-
                Maximum lifetime credits a user may consume in this institution.
                Null or 0 = no cap.
            perUser24h:
              type: number
              nullable: true
              description: >-
                Maximum credits a user may consume in any rolling 24-hour
                window. Null or 0 = no cap. Auto-recovers.
    InstitutionUpdateResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        id:
          type: string
          description: ID of the updated institution
          example: 67826dfe5d387207aabd6fc1
    SuccessError:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          example: Invalid User Institution
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-access-token
      description: JWT token passed in x-access-token header

````