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

# Get

> Get the tenant's AI governance settings — the controls behind the admin
 /admin/settings/ai-governance page. Returns the full AIGovernanceSettings:
 allowed MCP client types, default client lifecycle, require_tool_approval,
 default tool classification, audit verbosity, auto-discovery toggle +
 interval, prefer_code_mode_over_direct_tools, and surface_requestable_tools.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/settings/ai-governance
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/settings/ai-governance:
    get:
      tags:
        - AI Governance Settings
      summary: Get
      description: |-
        Get the tenant's AI governance settings — the controls behind the admin
         /admin/settings/ai-governance page. Returns the full AIGovernanceSettings:
         allowed MCP client types, default client lifecycle, require_tool_approval,
         default tool classification, audit verbosity, auto-discovery toggle +
         interval, prefer_code_mode_over_direct_tools, and surface_requestable_tools.
      operationId: c1.api.ai_governance.v1.AIGovernanceSettingsService.Get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.ai_governance.v1.GetAIGovernanceSettingsResponse
          description: >-
            GetAIGovernanceSettingsResponse contains the tenant's AI governance
            settings.
      x-codeSamples:
        - lang: go
          label: Get
          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\"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.AIGovernanceSettings.Get(ctx)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.GetAIGovernanceSettingsResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.aiGovernanceSettings.get();

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.ai_governance.v1.GetAIGovernanceSettingsResponse:
      description: >-
        GetAIGovernanceSettingsResponse contains the tenant's AI governance
        settings.
      properties:
        aiGovernanceSettings:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.AIGovernanceSettings
            - type: 'null'
      title: Get Ai Governance Settings Response
      type: object
      x-speakeasy-name-override: GetAIGovernanceSettingsResponse
    c1.api.ai_governance.v1.AIGovernanceSettings:
      description: >-
        AIGovernanceSettings holds the tenant-wide AI governance policy that
        controls
         MCP client access, tool approval, classification defaults, audit detail, and
         automatic tool discovery. There is one settings object per tenant.
      properties:
        allowedClientTypes:
          description: >-
            MCP client types permitted to connect. An empty list allows all
            types.
          items:
            enum:
              - MCP_CLIENT_TYPE_UNSPECIFIED
              - MCP_CLIENT_TYPE_PERSONAL
              - MCP_CLIENT_TYPE_SHARED
              - MCP_CLIENT_TYPE_SERVICE
              - MCP_CLIENT_TYPE_EPHEMERAL
            type: string
            x-speakeasy-unknown-values: allow
          type:
            - array
            - 'null'
        auditVerbosity:
          description: How much detail is captured in the audit log for MCP tool calls.
          enum:
            - AUDIT_VERBOSITY_UNSPECIFIED
            - AUDIT_VERBOSITY_MINIMAL
            - AUDIT_VERBOSITY_STANDARD
            - AUDIT_VERBOSITY_FULL
          type: string
          x-speakeasy-unknown-values: allow
        autoDiscoveryEnabled:
          description: >-
            When true, C1 periodically re-discovers tools from registered MCP
            servers
             on the discovery_interval schedule.
          type: boolean
        c1awAutospillDisabled:
          deprecated: true
          description: |-
            Deprecated. Set QUOTA_REF_TENANT_C1AW_AUTOSPILL_THRESHOLD_KB to 0 to
             disable C1AW autospill.
          type: boolean
        c1awAutospillThresholdBytes:
          deprecated: true
          description: |-
            Deprecated. C1AW autospill is configured with
             QUOTA_REF_TENANT_C1AW_AUTOSPILL_THRESHOLD_KB.
          format: uint32
          type: integer
        codeModeConcurrency:
          description: |-
            Number of pre-warmed Lambda instances for the per-tenant code-mode
             function. 0 (default) leaves the Lambda cold-started on first call;
             > 0 keeps that many execution environments warm via AWS Lambda
             provisioned concurrency, redeploying the function on change.
          format: int32
          type: integer
        createdAt:
          format: date-time
          type:
            - string
            - 'null'
        defaultClientLifecycle:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.MCPClientLifecycleConfig
            - type: 'null'
        defaultToolClassification:
          description: >-
            Classification assigned to newly discovered tools that do not
            declare their
             own classification (for example, read, write, or destructive).
          enum:
            - TOOL_CLASSIFICATION_UNSPECIFIED
            - TOOL_CLASSIFICATION_READ
            - TOOL_CLASSIFICATION_WRITE
            - TOOL_CLASSIFICATION_DESTRUCTIVE
            - TOOL_CLASSIFICATION_SENSITIVE
            - TOOL_CLASSIFICATION_DANGEROUS
          type: string
          x-speakeasy-unknown-values: allow
        discoveryInterval:
          format: duration
          type:
            - string
            - 'null'
        enabled:
          deprecated: true
          description: Legacy master switch.
          type: boolean
        preferCodeModeOverDirectTools:
          description: >-
            When true, the MCP server hides direct tool listings from capable
            clients
             whenever the code-mode entrypoints (describe + execute) are registered, so
             agents discover and invoke MCP tools through TypeScript code mode instead
             of direct tool calls. A small allowlist of high-traffic direct tools
             remains exposed. Incapable clients (e.g. SERVICE, EPHEMERAL) see the
             normal tool set regardless. Defaults to false.
          type: boolean
        requireToolApproval:
          description: >-
            When true, newly discovered tools start in a pending state and must
            be
             approved by an admin before they can be granted or invoked.
          type: boolean
        surfaceRequestableTools:
          description: |-
            When true, MCP discovery surfaces tools the caller could request (no
             active grant, but reachable through a request catalog) alongside granted
             tools — both on the classic tools/list path and inside the code-mode
             describe entrypoint. Invoking such a tool opens (or reuses) an
             access-request ticket and returns a request_created envelope instead of
             executing. Defaults to true.
          type: boolean
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
      title: Ai Governance Settings
      type: object
      x-speakeasy-name-override: AIGovernanceSettings
    c1.api.ai_governance.v1.MCPClientLifecycleConfig:
      description: |-
        MCPClientLifecycleConfig controls how long inactive MCP clients remain
         visible, when their access is closed, and when their records are removed.
         Durations are measured from the client's last activity. Any duration left at
         zero disables that transition.
      properties:
        inactivityCloseAfter:
          format: duration
          type:
            - string
            - 'null'
        inactivityHideAfter:
          format: duration
          type:
            - string
            - 'null'
        retentionDeleteAfter:
          format: duration
          type:
            - string
            - 'null'
      title: Mcp Client Lifecycle Config
      type: object
      x-speakeasy-name-override: MCPClientLifecycleConfig
  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

````