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

# Update Finding Routing Rule

> Update an existing finding routing rule's match criteria or target policy.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/findings/routing-rules/{routing_rule_id}/update
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/findings/routing-rules/{routing_rule_id}/update:
    post:
      tags:
        - Finding Routing Rules
      summary: Update Finding Routing Rule
      description: >-
        Update an existing finding routing rule's match criteria or target
        policy.
      operationId: c1.api.finding.v1.FindingRoutingRuleService.UpdateFindingRoutingRule
      parameters:
        - in: path
          name: routing_rule_id
          required: true
          schema:
            description: The id field.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.finding.v1.UpdateFindingRoutingRuleRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.finding.v1.UpdateFindingRoutingRuleResponse
          description: Successful response
      x-codeSamples:
        - lang: go
          label: UpdateFindingRoutingRule
          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.FindingRoutingRule.UpdateFindingRoutingRule(ctx, operations.C1APIFindingV1FindingRoutingRuleServiceUpdateFindingRoutingRuleRequest{\n        RoutingRuleID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.UpdateFindingRoutingRuleResponse != 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.findingRoutingRule.updateFindingRoutingRule({
                routingRuleId: "<id>",
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.finding.v1.UpdateFindingRoutingRuleRequestInput:
      description: The UpdateFindingRoutingRuleRequest message.
      properties:
        routingRule:
          oneOf:
            - $ref: '#/components/schemas/c1.api.finding.v1.FindingRoutingRule'
            - type: 'null'
      title: Update Finding Routing Rule Request
      type: object
      x-speakeasy-name-override: UpdateFindingRoutingRuleRequest
    c1.api.finding.v1.UpdateFindingRoutingRuleResponse:
      description: The UpdateFindingRoutingRuleResponse message.
      properties:
        routingRule:
          oneOf:
            - $ref: '#/components/schemas/c1.api.finding.v1.FindingRoutingRule'
            - type: 'null'
      title: Update Finding Routing Rule Response
      type: object
      x-speakeasy-name-override: UpdateFindingRoutingRuleResponse
    c1.api.finding.v1.FindingRoutingRule:
      description: The FindingRoutingRule message.
      properties:
        action:
          oneOf:
            - $ref: '#/components/schemas/c1.api.finding.v1.FindingRoutingRuleAction'
            - type: 'null'
        appId:
          description: The appId field.
          type: string
        condition:
          description: The condition field.
          type: string
        createdAt:
          format: date-time
          type:
            - string
            - 'null'
        description:
          description: The description field.
          type: string
        displayName:
          description: The displayName field.
          type: string
        enabled:
          description: The enabled field.
          type: boolean
        id:
          description: The id field.
          type: string
        priority:
          description: The priority field.
          format: int32
          type: integer
        templateId:
          description: The templateId field.
          type: string
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
      title: Finding Routing Rule
      type: object
      x-speakeasy-name-override: FindingRoutingRule
    c1.api.finding.v1.FindingRoutingRuleAction:
      description: >
        The FindingRoutingRuleAction message.


        This message contains a oneof named action. Only a single field of the
        following list may be set at a time:
          - createTask
          - suppress
          - snooze
          - acceptRisk
      properties:
        acceptRisk:
          oneOf:
            - $ref: '#/components/schemas/c1.api.finding.v1.AcceptRiskRoutingAction'
            - type: 'null'
        createTask:
          oneOf:
            - $ref: '#/components/schemas/c1.api.finding.v1.CreateTaskAction'
            - type: 'null'
        snooze:
          oneOf:
            - $ref: '#/components/schemas/c1.api.finding.v1.SnoozeRoutingAction'
            - type: 'null'
        suppress:
          oneOf:
            - $ref: '#/components/schemas/c1.api.finding.v1.SuppressRoutingAction'
            - type: 'null'
      title: Finding Routing Rule Action
      type: object
      x-speakeasy-name-override: FindingRoutingRuleAction
    c1.api.finding.v1.AcceptRiskRoutingAction:
      description: |-
        AcceptRiskRoutingAction accepts the risk for a matched finding for a
         relative duration (resolved to risk_acceptance_expires_at = now + duration
         at execution time).
      properties:
        duration:
          format: duration
          type:
            - string
            - 'null'
        reason:
          description: The reason field.
          type: string
      title: Accept Risk Routing Action
      type: object
      x-speakeasy-name-override: AcceptRiskRoutingAction
    c1.api.finding.v1.CreateTaskAction:
      description: The CreateTaskAction message.
      properties:
        policyId:
          description: The policyId field.
          type: string
      title: Create Task Action
      type: object
      x-speakeasy-name-override: CreateTaskAction
    c1.api.finding.v1.SnoozeRoutingAction:
      description: |-
        SnoozeRoutingAction snoozes a matched finding for a relative duration
         (resolved to snooze_until = now + duration at execution time).
      properties:
        duration:
          format: duration
          type:
            - string
            - 'null'
        reason:
          description: The reason field.
          type: string
      title: Snooze Routing Action
      type: object
      x-speakeasy-name-override: SnoozeRoutingAction
    c1.api.finding.v1.SuppressRoutingAction:
      description: The SuppressRoutingAction message.
      properties:
        reason:
          description: The reason field.
          type: string
      title: Suppress Routing Action
      type: object
      x-speakeasy-name-override: SuppressRoutingAction
  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

````