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

# Resync Tools

> ResyncTools requests tool discovery for an external MCP server using the
 caller's own credential for per-user servers, or the configured shared
 credential for callers with MCP management permission for the app.
 Requires external MCP discovery decoupling to be enabled for the tenant.
 Discovery runs asynchronously; accepting this request does not mean that
 tools have finished loading or grant the caller access to execute them.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/apps/{app_id}/mcp_servers/{connector_id}/resync_tools
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/apps/{app_id}/mcp_servers/{connector_id}/resync_tools:
    post:
      tags:
        - MCP Servers
      summary: Resync Tools
      description: |-
        ResyncTools requests tool discovery for an external MCP server using the
         caller's own credential for per-user servers, or the configured shared
         credential for callers with MCP management permission for the app.
         Requires external MCP discovery decoupling to be enabled for the tenant.
         Discovery runs asynchronously; accepting this request does not mean that
         tools have finished loading or grant the caller access to execute them.
      operationId: c1.api.ai_governance.v1.MCPServerService.ResyncTools
      parameters:
        - in: path
          name: app_id
          required: true
          schema:
            description: App identifier.
            type: string
        - in: path
          name: connector_id
          required: true
          schema:
            description: MCP server identifier (connector ID).
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.MCPServerServiceResyncToolsRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.ai_governance.v1.MCPServerServiceResyncToolsResponse
          description: MCPServerServiceResyncToolsResponse is empty on success.
      x-codeSamples:
        - lang: go
          label: ResyncTools
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.MCPServer.ResyncTools(ctx, operations.C1APIAiGovernanceV1MCPServerServiceResyncToolsRequest{\n        AppID: \"<id>\",\n        ConnectorID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.MCPServerServiceResyncToolsResponse != nil {\n        // handle response\n    }\n}"
components:
  schemas:
    c1.api.ai_governance.v1.MCPServerServiceResyncToolsRequestInput:
      description: >-
        MCPServerServiceResyncToolsRequest re-runs tool discovery for an
        external MCP
         server using the caller's own credential, or the configured shared credential
         when the caller has MCP management permission for the app.
      title: Mcp Server Service Resync Tools Request
      type: object
      x-speakeasy-name-override: MCPServerServiceResyncToolsRequest
    c1.api.ai_governance.v1.MCPServerServiceResyncToolsResponse:
      description: MCPServerServiceResyncToolsResponse is empty on success.
      title: Mcp Server Service Resync Tools Response
      type: object
      x-speakeasy-name-override: MCPServerServiceResyncToolsResponse
  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

````