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

# Update Tenant



## OpenAPI

````yaml patch /v1/tenants/{tenant_id}
openapi: 3.1.0
info:
  title: WxO Server API
  summary: API for the next gen watsonx Orchestrate stack
  description: >+

    The watsonx Orchestrate Server provides a set of APIs to power the watsonx
    Orchestrate AI assistant. This includes the following core services:


    * Orchestrate Assistant - a built-in AI assistant that powers the
    Orchestrate end-user experience.

    * Custom Assistants - a service layer for interacting with existing AI
    assistatns (such as those in watsonx Assistant).

    * Message Threads - a chat history and async message tracking store.

    * Document Store - manage collections of documents in nearly any format
    including text, pdf, html and many more.

    * Information Extraction - automatically extract clean text and images from
    any document in the Document Store.  Also extract other useful metadata like
    questions answered, keywords, and named entities.

    * Embedding - generate vector embeddings for text and images in the Document
    Store.

    * Vector Index and Retrieval - automatically index documents with rich
    metadata for vector search or hybrid search.

    * Search Engine - create a Gen AI powered search engine that works like Bing
    or Google.

    * Query Engine - configure your own RAG (Retrieval Augmented Generation)
    engine supporting advanced retrieval patterns and automated data management.

    * Model Proxy - create your own LLM model endpoints for chat completions and
    embeddings.  Supports IBM watsonx.ai, IBM BAM, OpenAI, MistralAI, or Ollama
    for local models.


    WxO API Server utilizes the following open source projects:


    * [PostgreSQL](https://www.postgresql.org/)

    * [PGVector](https://github.com/pgvector/pgvector)

    * [LlamaIndex](https://docs.llamaindex.ai/en/stable/)

    * [LangChain](https://python.langchain.com/docs/get_started/introduction)

    * [FastAPI](https://fastapi.tiangolo.com/)

    * [Unstructured](https://unstructured.io/)

    * [Celery](https://docs.celeryproject.org/en/stable/)

  version: 0.1.0
servers:
  - url: https://{api_endpoint}
    description: version
security: []
paths:
  /v1/tenants/{tenant_id}:
    patch:
      tags:
        - Tenant Management
      summary: Update Tenant
      operationId: Update_Tenant_v1_tenants__tenant_id__patch
      parameters:
        - name: tenant_id
          in: path
          required: true
          schema:
            type: string
            title: Tenant Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantPatch'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    TenantPatch:
      properties:
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        tags:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Tags
        settings:
          anyOf:
            - $ref: '#/components/schemas/Settings-Input'
            - type: 'null'
        wxg_service_instance_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Wxg Service Instance Id
      type: object
      title: TenantPatch
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Settings-Input:
      properties:
        model_settings:
          anyOf:
            - $ref: '#/components/schemas/ModelSettings-Input'
            - type: 'null'
          description: >-
            Model settings used to define the base LLM and other base models
            used by Orchestrate.
        router_settings:
          anyOf:
            - $ref: '#/components/schemas/RouterSettings'
            - type: 'null'
          description: Configuration of the Router used by Orchestrate.
        user_settings:
          anyOf:
            - $ref: '#/components/schemas/UserSettings'
            - type: 'null'
          description: Default user settings.
        slot_filling_settings:
          anyOf:
            - $ref: '#/components/schemas/SlotFillerSettings'
            - type: 'null'
          description: Configuration of the Slot filler used by Orchestrate.
      additionalProperties: false
      type: object
      title: Settings
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ModelSettings-Input:
      properties:
        base_llm:
          anyOf:
            - $ref: '#/components/schemas/BaseLLMSettings-Input'
            - type: 'null'
          description: >-
            The base LLM model used by Orchestrate. By default, Orchestrate will
            use the system configured base LLM.
        embeddings:
          anyOf:
            - $ref: '#/components/schemas/EmbeddingsModelSettings'
            - type: 'null'
          description: >-
            The base embeddings model used by Orchestrate.  By default,
            Orchestrate will use the system configured base embeddings model.
        is_base_llm_enabled:
          type: boolean
          title: Is Base Llm Enabled
          description: >-
            The is_base_llm_enabled flag is used to switch the route between
            LLM`s. By default the value for the flag will be False
          default: true
      additionalProperties: false
      type: object
      title: ModelSettings
    RouterSettings:
      properties:
        router_type:
          type: string
          title: Router Type
          default: unified
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: >-
            Name of the model to use for routing. Must be a valid model name
            available on watsonx.ai.
        model_id:
          anyOf:
            - type: string
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
          description: The ID of a custom configured model to use for routing.
        model_params:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Model Params
          description: Default models params to use.
        routing_prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: Routing Prompt
          description: Override the routing prompt used by the Orchestrate routing LLM.
        router_config:
          anyOf:
            - $ref: '#/components/schemas/RouterConfig'
            - type: 'null'
          description: Additonal router specific configuration properties.
      additionalProperties: false
      type: object
      title: RouterSettings
    UserSettings:
      properties:
        confirm_routing:
          type: boolean
          title: Confirm Routing
          description: >-
            Should Orchestrate confirm routing decisions explicity with the
            user. Enabled by default.
          default: true
        clear_watsonx_assistant_context:
          type: boolean
          title: Clear Watsonx Assistant Context
          description: >-
            If set to `True` AND the last turn event was from a Dialog Assistant
            where `branch_exited` was set to `True` and
            `branch_completion_reason` is `completed`, then the prior context is
            cleared
          default: false
        clientside_shortlisting:
          type: boolean
          title: Clientside Shortlisting
          description: >-
            if clientside shortlisting is enabled, we would expect
            custom_routing_table in the message. Default to False.
          default: false
      additionalProperties: false
      type: object
      title: UserSettings
    SlotFillerSettings:
      properties:
        slot_filler_type:
          type: string
          title: Slot Filler Type
          default: unified
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: >-
            Name of the model to use for slot filling. Must be a valid model
            name available on watsonx.ai.
        model_id:
          anyOf:
            - type: string
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
          description: The ID of a custom configured model to use for slot filling.
        model_params:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Model Params
          description: Default models params to use.
      additionalProperties: false
      type: object
      title: SlotFillerSettings
    BaseLLMSettings-Input:
      properties:
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: >-
            Name of the model to use as the base LLM. Must be a valid model name
            available on watsonx.ai.
        model_id:
          anyOf:
            - type: string
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
          description: >-
            The ID of a custom configured model to use as the base LLM model
            used by Orchestrate.
        model_params:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Model Params
          description: Default models params to use.
        guardrails:
          anyOf:
            - $ref: '#/components/schemas/Guardrails-Input'
            - type: 'null'
          description: Default AI safety guardrails settings.
        system_prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: System Prompt
          description: Override the system prompt used by the Orchestrate base LLM.
        prompt_templates:
          anyOf:
            - $ref: '#/components/schemas/PromptTemplates'
            - type: 'null'
          description: LLM specific prompt templates using Jinja2 format.
      additionalProperties: false
      type: object
      title: BaseLLMSettings
    EmbeddingsModelSettings:
      properties:
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
          description: >-
            Name of the model to use for embeddings. Must be a valid model name
            available on watsonx.ai.
        model_id:
          anyOf:
            - type: string
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
          description: The ID of a custom configured model to use for embeddings.
      additionalProperties: false
      type: object
      title: EmbeddingsModelSettings
    RouterConfig:
      properties:
        continue_journey_on_none:
          type: boolean
          title: Continue Journey On None
          default: true
        confidence_threshold:
          anyOf:
            - type: number
            - type: 'null'
          title: Confidence Threshold
        confidence_method:
          type: string
          title: Confidence Method
          default: perplexity
      additionalProperties: false
      type: object
      title: RouterConfig
    Guardrails-Input:
      properties:
        hap:
          anyOf:
            - $ref: '#/components/schemas/Guardrail'
            - type: 'null'
        social_bias:
          anyOf:
            - $ref: '#/components/schemas/Guardrail'
            - type: 'null'
        pii:
          anyOf:
            - $ref: '#/components/schemas/Guardrail'
            - type: 'null'
      additionalProperties: false
      type: object
      title: Guardrails
    PromptTemplates:
      properties:
        chat_template:
          type: string
          title: Chat Template
          description: Prompt template for chat using Jinja2 template language.
        chat_template_params:
          additionalProperties: true
          type: object
          title: Chat Template Params
          description: Default values for chat template params.
      type: object
      required:
        - chat_template
        - chat_template_params
      title: PromptTemplates
    Guardrail:
      properties:
        input:
          anyOf:
            - $ref: '#/components/schemas/GuardrailConfig'
            - type: 'null'
        output:
          anyOf:
            - $ref: '#/components/schemas/GuardrailConfig'
            - type: 'null'
        mask:
          anyOf:
            - $ref: '#/components/schemas/MaskProperties'
            - type: 'null'
      additionalProperties: false
      type: object
      title: Guardrail
    GuardrailConfig:
      properties:
        enabled:
          type: boolean
          title: Enabled
          default: false
        threshold:
          type: number
          title: Threshold
          default: 0.5
      additionalProperties: false
      type: object
      title: GuardrailConfig
    MaskProperties:
      properties:
        remove_entity_value:
          type: boolean
          title: Remove Entity Value
          default: false
      additionalProperties: false
      type: object
      title: MaskProperties
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````