> ## Documentation Index
> Fetch the complete documentation index at: https://www.c1.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Update Finding State

> Bulk update finding states.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/findings/bulk/state
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/bulk/state:
    post:
      tags:
        - Findings
      summary: Bulk Update Finding State
      description: Bulk update finding states.
      operationId: c1.api.finding.v1.FindingService.BulkUpdateFindingState
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.finding.v1.BulkUpdateFindingStateRequest
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.finding.v1.BulkUpdateFindingStateResponse
          description: Successful response
      x-codeSamples:
        - lang: go
          label: BulkUpdateFindingState
          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.Finding.BulkUpdateFindingState(ctx, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.BulkUpdateFindingStateResponse != 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.finding.bulkUpdateFindingState();

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.finding.v1.BulkUpdateFindingStateRequest:
      description: >
        The BulkUpdateFindingStateRequest message.


        This message contains a oneof named action. Only a single field of the
        following list may be set at a time:
          - snooze
          - suppress
          - acceptRisk
          - unsuppress
          - assignOwner
          - reopen
      properties:
        acceptRisk:
          $ref: '#/components/schemas/c1.api.finding.v1.BulkAcceptRiskAction'
        assignOwner:
          $ref: '#/components/schemas/c1.api.finding.v1.BulkAssignOwnerAction'
        refs:
          description: 'By-ID mode: specify individual finding refs.'
          items:
            $ref: '#/components/schemas/c1.api.finding.v1.FindingRef'
          nullable: true
          readOnly: false
          type: array
        reopen:
          $ref: '#/components/schemas/c1.api.finding.v1.BulkReopenAction'
        searchRequest:
          $ref: '#/components/schemas/c1.api.finding.v1.FindingSearchRequest'
        snooze:
          $ref: '#/components/schemas/c1.api.finding.v1.BulkSnoozeAction'
        suppress:
          $ref: '#/components/schemas/c1.api.finding.v1.BulkSuppressAction'
        unsuppress:
          $ref: '#/components/schemas/c1.api.finding.v1.BulkUnsuppressAction'
      title: Bulk Update Finding State Request
      type: object
      x-speakeasy-name-override: BulkUpdateFindingStateRequest
    c1.api.finding.v1.BulkUpdateFindingStateResponse:
      description: The BulkUpdateFindingStateResponse message.
      properties:
        bulkActionId:
          description: >-
            The ID of the asynchronous bulk action, which can be used to track
            progress.
          readOnly: false
          type: string
      title: Bulk Update Finding State Response
      type: object
      x-speakeasy-name-override: BulkUpdateFindingStateResponse
    c1.api.finding.v1.BulkAcceptRiskAction:
      description: The BulkAcceptRiskAction message.
      nullable: true
      properties:
        expiresAt:
          format: date-time
          readOnly: false
          type: string
        justification:
          description: The justification field.
          readOnly: false
          type: string
      title: Bulk Accept Risk Action
      type: object
      x-speakeasy-name-override: BulkAcceptRiskAction
    c1.api.finding.v1.BulkAssignOwnerAction:
      description: The BulkAssignOwnerAction message.
      nullable: true
      properties:
        owner:
          $ref: '#/components/schemas/c1.api.finding.v1.FindingOwnerRef'
      title: Bulk Assign Owner Action
      type: object
      x-speakeasy-name-override: BulkAssignOwnerAction
    c1.api.finding.v1.FindingRef:
      description: The FindingRef message.
      properties:
        id:
          description: The ID of the finding.
          readOnly: false
          type: string
      title: Finding Ref
      type: object
      x-speakeasy-name-override: FindingRef
    c1.api.finding.v1.BulkReopenAction:
      description: The BulkReopenAction message.
      nullable: true
      title: Bulk Reopen Action
      type: object
      x-speakeasy-name-override: BulkReopenAction
    c1.api.finding.v1.FindingSearchRequest:
      description: The FindingSearchRequest message.
      properties:
        appIds:
          description: Filter by app IDs (OR within field).
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        appUserIds:
          description: |-
            Filter by app user IDs (OR within field). Matches findings whose
             target.app_user_target.app_user_id is in this list.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        findingTypes:
          description: Filter by finding type discriminators (OR within field).
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        pageSize:
          description: Maximum number of findings to return per page.
          format: int32
          readOnly: false
          type: integer
        pageToken:
          description: Pagination token from a previous response.
          readOnly: false
          type: string
        query:
          description: Free text search query.
          readOnly: false
          type: string
        severities:
          description: Filter by severities (OR within field).
          items:
            enum:
              - FINDING_SEVERITY_UNSPECIFIED
              - FINDING_SEVERITY_INFO
              - FINDING_SEVERITY_LOW
              - FINDING_SEVERITY_MEDIUM
              - FINDING_SEVERITY_HIGH
              - FINDING_SEVERITY_CRITICAL
            type: string
            x-speakeasy-unknown-values: allow
          nullable: true
          readOnly: false
          type: array
        states:
          description: Filter by states (OR within field).
          items:
            enum:
              - FINDING_STATE_UNSPECIFIED
              - FINDING_STATE_OPEN
              - FINDING_STATE_IN_PROGRESS
              - FINDING_STATE_RESOLVED
              - FINDING_STATE_SNOOZED
              - FINDING_STATE_RISK_ACCEPTED
              - FINDING_STATE_SUPPRESSED
            type: string
            x-speakeasy-unknown-values: allow
          nullable: true
          readOnly: false
          type: array
      title: Finding Search Request
      type: object
      x-speakeasy-name-override: FindingSearchRequest
    c1.api.finding.v1.BulkSnoozeAction:
      description: The BulkSnoozeAction message.
      nullable: true
      properties:
        reason:
          description: The reason field.
          readOnly: false
          type: string
        snoozeUntil:
          format: date-time
          readOnly: false
          type: string
      title: Bulk Snooze Action
      type: object
      x-speakeasy-name-override: BulkSnoozeAction
    c1.api.finding.v1.BulkSuppressAction:
      description: The BulkSuppressAction message.
      nullable: true
      properties:
        reason:
          description: The reason field.
          readOnly: false
          type: string
      title: Bulk Suppress Action
      type: object
      x-speakeasy-name-override: BulkSuppressAction
    c1.api.finding.v1.BulkUnsuppressAction:
      deprecated: true
      description: The BulkUnsuppressAction message.
      nullable: true
      title: Bulk Unsuppress Action
      type: object
      x-speakeasy-name-override: BulkUnsuppressAction
    c1.api.finding.v1.FindingOwnerRef:
      description: >
        The FindingOwnerRef message.


        This message contains a oneof named owner. Only a single field of the
        following list may be set at a time:
          - identityUserId
          - appOwnerAppId
          - managerOfUserId
          - userSetId
      properties:
        appOwnerAppId:
          description: >-
            The appOwnerAppId field.

            This field is part of the `owner` oneof.

            See the documentation for `c1.api.finding.v1.FindingOwnerRef` for
            more details.
          nullable: true
          readOnly: false
          type: string
        identityUserId:
          description: >-
            The identityUserId field.

            This field is part of the `owner` oneof.

            See the documentation for `c1.api.finding.v1.FindingOwnerRef` for
            more details.
          nullable: true
          readOnly: false
          type: string
        managerOfUserId:
          description: >-
            The managerOfUserId field.

            This field is part of the `owner` oneof.

            See the documentation for `c1.api.finding.v1.FindingOwnerRef` for
            more details.
          nullable: true
          readOnly: false
          type: string
        userSetId:
          description: >-
            The userSetId field.

            This field is part of the `owner` oneof.

            See the documentation for `c1.api.finding.v1.FindingOwnerRef` for
            more details.
          nullable: true
          readOnly: false
          type: string
      title: Finding Owner Ref
      type: object
      x-speakeasy-name-override: FindingOwnerRef
  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

````