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

# Create a new institution (Digital Twin) for a specific context URL

> Creates a new institution record with the provided configuration and context information.
The new institution's parent account is resolved in order: the explicit `account` id when provided; otherwise the first account whose `domainUrls` contains the supplied `domain`; otherwise the parent account of the `contactEmail` user's own institution. If none match, the institution is created without a parent account.




## OpenAPI

````yaml /mdx/api-reference/admin/admin-api.json post /api/auth/createInstitutionForContextid
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/auth/createInstitutionForContextid:
    post:
      tags:
        - Institutions
      summary: Create a new institution (Digital Twin) for a specific context URL
      description: >
        Creates a new institution record with the provided configuration and
        context information.

        The new institution's parent account is resolved in order: the explicit
        `account` id when provided; otherwise the first account whose
        `domainUrls` contains the supplied `domain`; otherwise the parent
        account of the `contactEmail` user's own institution. If none match, the
        institution is created without a parent account.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstitutionRequest'
      responses:
        '200':
          description: Institution created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateInstitutionResponse'
        '400':
          description: Bad request - Invalid input data
        '401':
          description: Unauthorized - Invalid or missing access token
        '500':
          description: Internal server error
components:
  schemas:
    CreateInstitutionRequest:
      type: object
      required:
        - name
        - contactEmail
      properties:
        name:
          type: string
          description: Institution name identifier
          example: teacher1.domain.edu.instructure
        contactEmail:
          type: string
          format: email
          description: Contact email for the institution
          example: jane.doe@praxis-ai.com
        ltiContextIds:
          type: array
          items:
            type: string
          description: >-
            Array of LTI context identifiers (defaults to empty array if
            omitted)
          example:
            - https://domain.edu/7891278
        publicAuthorizedUrls:
          type: array
          items:
            type: string
          description: Array of authorized public URLs
          example:
            - https://domain.edu
        ainame:
          type: string
          description: AI assistant name
          example: Hugo
        picture:
          type: string
          format: uri
          description: URL to the institution's picture/avatar
          example: >-
            https://hiimpria.ai/uploads/6430736fd62d650040420674/Clarkey20Headshot20Animated_1752713782148.gif
        picture_bg:
          type: string
          description: Background picture URL
          example: ''
        picture_dark_bg:
          type: string
          description: Dark mode background picture URL
          example: ''
        picture_animated:
          type: string
          format: uri
          description: URL to animated picture/avatar
          example: >-
            https://hiimpria.ai/uploads/6430736fd62d650040420674/Clarkey20Headshot20Animated_1752713782148.gif
        elevenlabs_agent_id:
          type: string
          description: ElevenLabs Agent ID for Digital Twin Voice
          example: agent_xxxxxxxxxxxxxxxxxxxx
        prompt:
          type: string
          description: Custom prompt/instructions for the AI persona
          example: ''
        domain:
          type: string
          description: Institution domain, used for account lookup
          example: domain.edu
        account:
          type: string
          description: Parent account ObjectId (if known)
          example: 6430736fd62d650040420674
        allowJoining:
          type: string
          enum:
            - disabled
            - account
            - public
          description: Who can join this Digital Twin
          example: disabled
        poolCredits:
          type: boolean
          description: Whether credits are pooled on behalf of users
          example: true
        creditAward:
          type: integer
          description: >-
            Credits awarded to new users on registration (when poolCredits is
            false)
          example: 0
        questionType:
          type: string
          description: >-
            Type of personalization question bank (CORPORATE for Digital Twin,
            INSTITUTION for Digital Expert)
          example: CORPORATE
        rtEnabled:
          type: boolean
          description: Enable real-time voice conversations
          example: false
        rtAdminOnly:
          type: boolean
          description: Restrict real-time conversations to admins only
          example: true
    CreateInstitutionResponse:
      type: object
      properties:
        _id:
          type: string
          description: Unique institution identifier
          example: 68793ef2a8a4a5eaff36e7ca
        name:
          type: string
          example: teacher1.domain.edu.instructure
        picture:
          type: string
          format: uri
          example: >-
            https://hiimpria.ai/uploads/6430736fd62d650040420674/Clarkey20Headshot20Animated_1752713782148.gif
        picture_bg:
          type: string
          example: ''
        picture_dark_bg:
          type: string
          example: ''
        picture_animated:
          type: string
          format: uri
          example: >-
            https://hiimpria.ai/uploads/6430736fd62d650040420674/Clarkey20Headshot20Animated_1752713782148.gif
        elevenlabs_agent_id:
          type: string
          description: ElevenLabs Agent ID for Digital Twin Voice
          example: agent_xxxxxxxxxxxxxxxxxxxx
        credits:
          type: number
          description: Total credits allocated
          example: 50
        status:
          type: string
          enum:
            - active
            - inactive
          example: active
        allowJoining:
          type: string
          enum:
            - disabled
            - account
            - public
          example: disabled
        joiningAdminOnly:
          type: boolean
          example: false
        publicId:
          type: string
          format: uuid
          description: Public identifier for the institution
          example: 2e1006ec-5b59-4431-96d2-b0e1b1022a3a
        publicAuthorizedUrls:
          type: array
          items:
            type: string
          example:
            - https://domain.edu
        ainame:
          type: string
          example: Hugo
        prompt:
          type: string
          example: ''
        contactEmail:
          type: string
          format: email
          example: jane.doe@praxis-ai.com
        creditAward:
          type: number
          example: 0
        poolCredits:
          type: boolean
          example: true
        questionType:
          type: string
          description: Personalization question bank type
          example: CORPORATE
        rtEnabled:
          type: boolean
          description: Whether real-time voice conversations are enabled
          example: false
        rtAdminOnly:
          type: boolean
          description: Whether real-time conversations are restricted to admins
          example: true
        created:
          type: string
          format: date-time
          example: '2025-07-17T18:20:34.330Z'
        id:
          type: string
          example: 68793ef2a8a4a5eaff36e7ca

````