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

# Instantiate Classifier Template

> Instantiate creates a tenant-owned, editable classifier from a template
 revision. It binds supplied tenant parameters, resolves required tool gates
 and hooks, rewrites their references, and records the source template.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/classifier_templates/{template_id}/instantiate
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/classifier_templates/{template_id}/instantiate:
    post:
      tags:
        - Classifier Templates
      summary: Instantiate Classifier Template
      description: |-
        Instantiate creates a tenant-owned, editable classifier from a template
         revision. It binds supplied tenant parameters, resolves required tool gates
         and hooks, rewrites their references, and records the source template.
      operationId: >-
        c1.api.ai_governance.v1.ClassifierTemplateService.InstantiateClassifierTemplate
      parameters:
        - in: path
          name: template_id
          required: true
          schema:
            description: The templateId field.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.ai_governance.v1.InstantiateClassifierTemplateRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.ai_governance.v1.InstantiateClassifierTemplateResponse
          description: Successful response
components:
  schemas:
    c1.api.ai_governance.v1.InstantiateClassifierTemplateRequestInput:
      description: The InstantiateClassifierTemplateRequest message.
      properties:
        displayName:
          description: Optional display name override for the created Classifier.
          type: string
        params:
          additionalProperties:
            type: string
          description: >-
            Bind-time param values keyed by TemplateParam.key (e.g.
            grant_policy_id).
          type: object
        templateVersion:
          description: Optional; empty instantiates the latest version.
          type: string
      title: Instantiate Classifier Template Request
      type: object
      x-speakeasy-name-override: InstantiateClassifierTemplateRequest
    c1.api.ai_governance.v1.InstantiateClassifierTemplateResponse:
      description: The InstantiateClassifierTemplateResponse message.
      properties:
        classifier:
          oneOf:
            - $ref: '#/components/schemas/c1.api.ai_governance.v1.Classifier'
            - type: 'null'
      title: Instantiate Classifier Template Response
      type: object
      x-speakeasy-name-override: InstantiateClassifierTemplateResponse
    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

````