> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-terraform-v2-owner-resources.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Update

> Update mutable fields on a Virtual MCP Server. Renaming preserves the
 previous route as an alias until it is reused; the server ID never changes.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/virtual_mcp_servers/{id}
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/virtual_mcp_servers/{id}:
    post:
      tags:
        - Virtual MCP Servers
      summary: Update
      description: |-
        Update mutable fields on a Virtual MCP Server. Renaming preserves the
         previous route as an alias until it is reused; the server ID never changes.
      operationId: c1.api.ai_governance.v1.VirtualMCPServerService.Update
      parameters:
        - in: path
          name: id
          required: true
          schema:
            description: Immutable unique identifier for this Virtual MCP Server.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPServerServiceUpdateRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.ai_governance.v1.VirtualMCPServerServiceUpdateResponse
          description: >-
            VirtualMCPServerServiceUpdateResponse contains the updated Virtual
            MCP Server.
components:
  schemas:
    c1.api.ai_governance.v1.VirtualMCPServerServiceUpdateRequestInput:
      description: >-
        VirtualMCPServerServiceUpdateRequest updates mutable Virtual MCP Server
        fields.
      properties:
        updateMask:
          type:
            - string
            - 'null'
        virtualMcpServer:
          oneOf:
            - $ref: '#/components/schemas/c1.api.ai_governance.v1.VirtualMCPServer'
            - type: 'null'
      title: Virtual Mcp Server Service Update Request
      type: object
      x-speakeasy-name-override: VirtualMCPServerServiceUpdateRequest
    c1.api.ai_governance.v1.VirtualMCPServerServiceUpdateResponse:
      description: >-
        VirtualMCPServerServiceUpdateResponse contains the updated Virtual MCP
        Server.
      properties:
        virtualMcpServer:
          oneOf:
            - $ref: '#/components/schemas/c1.api.ai_governance.v1.VirtualMCPServer'
            - type: 'null'
      title: Virtual Mcp Server Service Update Response
      type: object
      x-speakeasy-name-override: VirtualMCPServerServiceUpdateResponse
    c1.api.ai_governance.v1.VirtualMCPServer:
      description: >
        VirtualMCPServer is a tenant-managed MCP endpoint backed by one
        composition.


        This message contains a oneof named composition. Only a single field of
        the following list may be set at a time:
          - mappedSource
          - assignedTools
      properties:
        allowPersonalSources:
          description: Permit owner-scoped personal MCP sources on supported compositions.
          type: boolean
        assignedTools:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPAssignedTools
            - type: 'null'
        createdAt:
          format: date-time
          type:
            - string
            - 'null'
        displayName:
          description: Human-readable name shown to administrators and users.
          type: string
        id:
          description: Immutable unique identifier for this Virtual MCP Server.
          type: string
        mappedSource:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPMappedSource
            - type: 'null'
        presentation:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPPresentation
            - type: 'null'
        requireDeviceTrust:
          description: >-
            When true, require an active ConductorOne-managed device in addition
            to
             DPoP. require_device_trust=true requires require_dpop=true.
          type: boolean
        requireDpop:
          description: When true, require DPoP proof-of-possession for OAuth access tokens.
          type: boolean
        slug:
          description: >-
            Current canonical lowercase route segment, unique for the tenant.
            Renaming
             preserves the previous slug as a deprecated alias until it is reused.
          type: string
        state:
          description: Current lifecycle state.
          enum:
            - VIRTUAL_MCP_SERVER_STATE_UNSPECIFIED
            - VIRTUAL_MCP_SERVER_STATE_ACTIVE
            - VIRTUAL_MCP_SERVER_STATE_DISABLED
          type: string
          x-speakeasy-unknown-values: allow
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
        useEntitlementId:
          description: >-
            Identifier of the governed `use` entitlement for this server. This
            is the
             same immutable identifier as id and is returned for access-profile setup.
          type: string
      title: Virtual Mcp Server
      type: object
      x-speakeasy-name-override: VirtualMCPServer
    c1.api.ai_governance.v1.VirtualMCPAssignedTools:
      description: >-
        VirtualMCPAssignedTools marks a Virtual MCP Server composed from
        selected
         Toolsets and individual tools.
      title: Virtual Mcp Assigned Tools
      type: object
      x-speakeasy-name-override: VirtualMCPAssignedTools
    c1.api.ai_governance.v1.VirtualMCPMappedSource:
      description: VirtualMCPMappedSource identifies one app-scoped MCP source.
      properties:
        appId:
          description: Application that owns the MCP source.
          type: string
        connectorId:
          description: Connector that provides the MCP source within the application.
          type: string
      title: Virtual Mcp Mapped Source
      type: object
      x-speakeasy-name-override: VirtualMCPMappedSource
    c1.api.ai_governance.v1.VirtualMCPPresentation:
      description: >
        VirtualMCPPresentation selects one presentation mode and provides a
        stable
         location for mode-specific settings.

        This message contains a oneof named mode. Only a single field of the
        following list may be set at a time:
          - rawTools
          - codeMode
          - dynamicTools
      properties:
        codeMode:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPCodeModePresentation
            - type: 'null'
        dynamicTools:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPDynamicToolsPresentation
            - type: 'null'
        rawTools:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.VirtualMCPRawToolsPresentation
            - type: 'null'
      title: Virtual Mcp Presentation
      type: object
      x-speakeasy-name-override: VirtualMCPPresentation
    c1.api.ai_governance.v1.VirtualMCPCodeModePresentation:
      description: VirtualMCPCodeModePresentation configures code-execution presentation.
      title: Virtual Mcp Code Mode Presentation
      type: object
      x-speakeasy-name-override: VirtualMCPCodeModePresentation
    c1.api.ai_governance.v1.VirtualMCPDynamicToolsPresentation:
      description: >-
        VirtualMCPDynamicToolsPresentation configures a session-specific tool
        registry.
      title: Virtual Mcp Dynamic Tools Presentation
      type: object
      x-speakeasy-name-override: VirtualMCPDynamicToolsPresentation
    c1.api.ai_governance.v1.VirtualMCPRawToolsPresentation:
      description: VirtualMCPRawToolsPresentation configures direct tool presentation.
      title: Virtual Mcp Raw Tools Presentation
      type: object
      x-speakeasy-name-override: VirtualMCPRawToolsPresentation
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````