> ## 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.

# Get Agent Classifier Policy

> Get returns the tenant's classifier policy with its ordered rules. A tenant
 that has never written a policy receives an empty policy.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/settings/ai-governance/agent-classifier-policy
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/agent-classifier-policy:
    get:
      tags:
        - AI Governance Settings
      summary: Get Agent Classifier Policy
      description: >-
        Get returns the tenant's classifier policy with its ordered rules. A
        tenant
         that has never written a policy receives an empty policy.
      operationId: c1.api.ai_governance.v1.AgentClassifierService.GetAgentClassifierPolicy
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.ai_governance.v1.GetAgentClassifierPolicyResponse
          description: Successful response
components:
  schemas:
    c1.api.ai_governance.v1.GetAgentClassifierPolicyResponse:
      description: The GetAgentClassifierPolicyResponse message.
      properties:
        policy:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.AgentClassifierPolicy
            - type: 'null'
      title: Get Agent Classifier Policy Response
      type: object
      x-speakeasy-name-override: GetAgentClassifierPolicyResponse
    c1.api.ai_governance.v1.AgentClassifierPolicy:
      description: >-
        AgentClassifierPolicy is the tenant's full classifier policy: the
        ordered
         rule cascade plus the no-match default.
      properties:
        agentId:
          description: Optional agent scoping. Empty is the tenant-wide default policy.
          type: string
        createdAt:
          format: date-time
          type:
            - string
            - 'null'
        defaultDenyReason:
          description: The defaultDenyReason field.
          type: string
        defaultOutcome:
          description: The defaultOutcome field.
          enum:
            - AGENT_CLASSIFIER_RULE_OUTCOME_UNSPECIFIED
            - AGENT_CLASSIFIER_RULE_OUTCOME_ALLOWED
            - AGENT_CLASSIFIER_RULE_OUTCOME_DENIED
          type: string
          x-speakeasy-unknown-values: allow
        rules:
          description: The rules field.
          items:
            $ref: '#/components/schemas/c1.api.ai_governance.v1.AgentClassifierRule'
          type:
            - array
            - 'null'
        tenantId:
          description: The tenantId field.
          type: string
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
      title: Agent Classifier Policy
      type: object
      x-speakeasy-name-override: AgentClassifierPolicy
    c1.api.ai_governance.v1.AgentClassifierRule:
      description: AgentClassifierRule is one entry in the ordered cascade.
      properties:
        action:
          description: The action field.
          enum:
            - AGENT_CLASSIFIER_RULE_ACTION_UNSPECIFIED
            - AGENT_CLASSIFIER_RULE_ACTION_EVALUATE_HOOKS
            - AGENT_CLASSIFIER_RULE_ACTION_BLOCK
          type: string
          x-speakeasy-unknown-values: allow
        celCondition:
          description: Empty matches every tool call.
          type: string
        denyReason:
          description: The denyReason field.
          type: string
        description:
          description: The description field.
          type: string
        displayName:
          description: The displayName field.
          type: string
        id:
          description: >-
            Stable rule identifier. Leave empty on a rule being added; the
            server
             assigns one.
          type: string
        mode:
          description: The mode field.
          enum:
            - AGENT_CLASSIFIER_RULE_MODE_UNSPECIFIED
            - AGENT_CLASSIFIER_RULE_MODE_ENFORCE
            - AGENT_CLASSIFIER_RULE_MODE_OBSERVE
            - AGENT_CLASSIFIER_RULE_MODE_DISABLED
          type: string
          x-speakeasy-unknown-values: allow
        outcome:
          description: The outcome field.
          enum:
            - AGENT_CLASSIFIER_RULE_OUTCOME_UNSPECIFIED
            - AGENT_CLASSIFIER_RULE_OUTCOME_ALLOWED
            - AGENT_CLASSIFIER_RULE_OUTCOME_DENIED
          type: string
          x-speakeasy-unknown-values: allow
        postHookIds:
          description: The postHookIds field.
          items:
            type: string
          type:
            - array
            - 'null'
        preHookIds:
          description: The preHookIds field.
          items:
            type: string
          type:
            - array
            - 'null'
        preOutputHookIds:
          description: >-
            Hook ids of event type HOOK_EVENT_TYPE_PRE_OUTPUT curated by this
            rule,
             evaluated against the assistant's outgoing response rather than a tool
             call. Parallel to pre_hook_ids/post_hook_ids.
          items:
            type: string
          type:
            - array
            - 'null'
        sourceTemplateId:
          description: >-
            Rule template this rule was composed from via
            AddClassifierRuleFromTemplate.
             Empty for hand-authored rules; drives the "from template / Custom"
             provenance chip. Cleared once the rule diverges from its template.
          type: string
        systemManaged:
          description: |-
            system_managed is true for rules the platform inserts and manages
             (currently: the baseline fallback rule appended at the end of every
             policy's rule list). system-managed rules cannot be created, updated, or
             deleted through the admin API — the frontend renders them read-only.
             Persisted user rules always serialize with system_managed = false.
          type: boolean
        toolGateIds:
          description: The toolGateIds field.
          items:
            type: string
          type:
            - array
            - 'null'
      required:
        - displayName
      title: Agent Classifier Rule
      type: object
      x-speakeasy-name-override: AgentClassifierRule
  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

````