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

> Update modifies a classifier's mutable fields.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/classifiers/{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/classifiers/{id}:
    post:
      tags:
        - Classifiers
      summary: Update Classifier
      description: Update modifies a classifier's mutable fields.
      operationId: c1.api.ai_governance.v1.ClassifierService.UpdateClassifier
      parameters:
        - in: path
          name: id
          required: true
          schema:
            description: The id field.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.UpdateClassifierRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.ai_governance.v1.UpdateClassifierResponse
          description: Successful response
components:
  schemas:
    c1.api.ai_governance.v1.UpdateClassifierRequestInput:
      description: The UpdateClassifierRequest message.
      properties:
        classifier:
          oneOf:
            - $ref: '#/components/schemas/c1.api.ai_governance.v1.Classifier'
            - type: 'null'
        updateMask:
          type:
            - string
            - 'null'
      required:
        - classifier
      title: Update Classifier Request
      type: object
      x-speakeasy-name-override: UpdateClassifierRequest
    c1.api.ai_governance.v1.UpdateClassifierResponse:
      description: The UpdateClassifierResponse message.
      properties:
        classifier:
          oneOf:
            - $ref: '#/components/schemas/c1.api.ai_governance.v1.Classifier'
            - type: 'null'
      title: Update Classifier Response
      type: object
      x-speakeasy-name-override: UpdateClassifierResponse
    c1.api.ai_governance.v1.Classifier:
      description: Classifier is a named, reusable rule cascade.
      properties:
        applicableType:
          description: The applicableType field.
          enum:
            - CLASSIFIER_TYPE_UNSPECIFIED
            - CLASSIFIER_TYPE_AGENT
            - CLASSIFIER_TYPE_GATEWAY
          type: string
          x-speakeasy-unknown-values: allow
        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
        deletedAt:
          format: date-time
          type:
            - string
            - 'null'
        description:
          description: The description field.
          type: string
        displayName:
          description: The displayName field.
          type: string
        id:
          description: The id field.
          type: string
        managedBy:
          description: The managedBy field.
          enum:
            - MANAGED_BY_UNSPECIFIED
            - MANAGED_BY_TENANT
            - MANAGED_BY_SYSTEM
          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'
        templateRef:
          oneOf:
            - $ref: '#/components/schemas/c1.api.ai_governance.v1.TemplateRef'
            - type: 'null'
        tenantId:
          description: The tenantId field.
          type: string
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
      required:
        - displayName
      title: Classifier
      type: object
      x-speakeasy-name-override: Classifier
    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
    c1.api.ai_governance.v1.TemplateRef:
      description: >-
        TemplateRef links an instantiated guardrail to the template it was
        stamped
         from, for an optional "update available" affordance.
      properties:
        templateId:
          description: The templateId field.
          type: string
        version:
          description: The version field.
          type: string
      title: Template Ref
      type: object
      x-speakeasy-name-override: TemplateRef
  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

````