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

# Update Expert (PUT)

> Update an existing expert's configuration using PUT. Only available for Agencies and Middleware Partners.

<Note>
  **Permission Required:** This endpoint is only available for **Agencies** and **Middleware Partners**.
</Note>

## Partial Updates Supported

Both `PUT` and `PATCH` methods support partial updates. You only need to include the fields you want to change.

The API automatically validates ownership - you can only update experts you own.


## OpenAPI

````yaml put /v1/experts/{expert_id}
openapi: 3.1.0
info:
  title: LangGraph Platform
  version: 0.1.0
servers:
  - url: https://api.b-bot.space/api/v2/
security:
  - apiKey: []
tags:
  - name: Distribution Channels
    description: >-
      A distribution channel is a configured instance of a graph. Distribution
      channels control where and how your AI agents are deployed (Chat, Embed,
      Template, etc.).
  - name: Experts
    description: >-
      Expert CRUD operations for managing AI experts. Only available for
      Agencies and Middleware Partners.
  - name: Threads
    description: A thread contains the accumulated outputs of a group of runs.
  - name: Thread Runs
    description: >-
      A run is an invocation of a graph / assistant on a thread. It updates the
      state of the thread.
  - name: Stateless Runs
    description: >-
      A run is an invocation of a graph / assistant, with no state or memory
      persistence.
  - name: Crons (Plus tier)
    description: >-
      A cron is a periodic run that recurs on a given schedule. The repeats can
      be isolated, or share state in a thread
  - name: Store
    description: >-
      Store is an API for managing persistent key-value store (long-term memory)
      that is available from any thread.
  - name: A2A
    description: >-
      Agent-to-Agent Protocol related endpoints for exposing assistants as
      A2A-compliant agents.
  - name: MCP
    description: >-
      Model Context Protocol related endpoints for exposing an agent as an MCP
      server.
  - name: System
    description: System endpoints for health checks, metrics, and server information.
paths:
  /v1/experts/{expert_id}:
    put:
      tags:
        - Experts
      summary: Update Expert (PUT)
      description: >-
        Update an existing expert's configuration using PUT. Only available for
        Agencies and Middleware Partners.
      operationId: update_expert_put_v1_experts__expert_id__put
      parameters:
        - name: expert_id
          in: path
          required: true
          schema:
            type: string
            title: Expert ID
            description: The unique identifier of the expert to update
        - name: bbot_api_key
          in: header
          required: true
          schema:
            type: string
            title: B-Bot API Key
            description: API Key for authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExpertUpdate'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Updated expert ID
                  attributes:
                    type: object
                    description: Updated expert attributes
        '400':
          description: No fields to update or invalid data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            Invalid API key, insufficient permissions, or you don't own this
            expert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Expert not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Failed to update expert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ExpertUpdate:
      type: object
      title: Expert Update
      description: Schema for updating an existing expert (all fields optional)
      properties:
        name:
          type: string
          description: Update the expert's name
        description:
          type: string
          description: Update the expert's description
        profession:
          type: string
          description: Update the expert's profession
        system_message:
          type: string
          description: Update the system instructions
        function_description:
          type: string
          description: Update the function description
        function_name:
          type: string
          description: Update the function name
        apps:
          type: array
          description: Update the connected applications
        profile_picture:
          type: integer
          description: Update the profile picture
        abilities:
          type: array
          description: Update the abilities array
        templates:
          type: array
          description: Update the templates array
        experts:
          type: array
          description: Update team member expert IDs
          items:
            type: integer
        expert_llm_models:
          type: array
          description: Update LLM model configurations
        task_assistant_id:
          type: string
          description: Link a task assistant ID
    ErrorResponse:
      type: string
      title: ErrorResponse
      description: Error message returned from the server
  securitySchemes:
    apiKey:
      type: apiKey
      name: bbot-api-key
      in: header
      description: API key for authentication

````