> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-muhammad-kumail-github-mcp-tab.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Create Finding Tasks

> Bulk create tasks for findings.



## OpenAPI

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

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.finding.v1.BulkCreateFindingTasksRequest:
      description: The BulkCreateFindingTasksRequest message.
      properties:
        policyId:
          description: >-
            Optional policy ID to use for the created tasks. Defaults to the
            app's grant policy.
          type: string
        refs:
          description: Individual finding references to create tasks for (by-ID mode).
          items:
            $ref: '#/components/schemas/c1.api.finding.v1.FindingRef'
          type:
            - array
            - 'null'
        searchRequest:
          oneOf:
            - $ref: '#/components/schemas/c1.api.finding.v1.FindingSearchRequest'
            - type: 'null'
      title: Bulk Create Finding Tasks Request
      type: object
      x-speakeasy-name-override: BulkCreateFindingTasksRequest
    c1.api.finding.v1.BulkCreateFindingTasksResponse:
      description: The BulkCreateFindingTasksResponse message.
      properties:
        bulkActionId:
          description: >-
            The ID of the asynchronous bulk action, which can be used to track
            progress.
          type: string
      title: Bulk Create Finding Tasks Response
      type: object
      x-speakeasy-name-override: BulkCreateFindingTasksResponse
    c1.api.finding.v1.FindingRef:
      description: The FindingRef message.
      properties:
        id:
          description: The ID of the finding.
          type: string
      title: Finding Ref
      type: object
      x-speakeasy-name-override: FindingRef
    c1.api.finding.v1.FindingSearchRequest:
      description: The FindingSearchRequest message.
      properties:
        appIds:
          description: Filter by app IDs (OR within field).
          items:
            type: string
          type:
            - array
            - 'null'
        appResourceIds:
          description: |-
            Filter by app resource IDs (OR within field). Matches findings whose
             target.app_resource_target.app_resource_id is in this list. An app resource
             is app-scoped, so pair with app_ids (and app_resource_type_ids) to hit the
             composite (tenant_id, app_id, app_resource_type_id, app_resource_id) index.
          items:
            type: string
          type:
            - array
            - 'null'
        appResourceTraitIds:
          description: >-
            Filter to findings whose target resource's type carries any of these
            traits
             (e.g. the builtin agent / secret trait ids). OR within field; empty = not
             applied.
          items:
            type: string
          type:
            - array
            - 'null'
        appResourceTypeIds:
          description: >-
            Filter by app resource type IDs (OR within field). Matches findings
            whose
             target.app_resource_target.app_resource_type_id is in this list.
          items:
            type: string
          type:
            - array
            - 'null'
        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
          type:
            - array
            - 'null'
        appUserTypes:
          description: >-
            Filter to findings whose target is an app user of these types (OR
            within
             field). Empty = not applied.
          items:
            enum:
              - APP_USER_TYPE_UNSPECIFIED
              - APP_USER_TYPE_USER
              - APP_USER_TYPE_SERVICE_ACCOUNT
              - APP_USER_TYPE_SYSTEM_ACCOUNT
            type: string
            x-speakeasy-unknown-values: allow
          type:
            - array
            - 'null'
        connectorIds:
          description: |-
            Filter by connector IDs (OR within field). Matches findings whose
             target.connector_target.connector_id is in this list.
          items:
            type: string
          type:
            - array
            - 'null'
        customSubTypes:
          description: >-
            Filter by custom sub-type (OR within field). Matches custom findings
            whose
             custom_sub_type equals any listed value.
          items:
            type: string
          type:
            - array
            - 'null'
        decoyIds:
          description: |-
            Filter by decoy IDs (OR within field). Matches findings whose
             target.decoy_target.decoy_id is in this list.
          items:
            type: string
          type:
            - array
            - 'null'
        findingTypes:
          description: Filter by finding type (OR within field).
          items:
            enum:
              - FINDING_TYPE_UNSPECIFIED
              - FINDING_TYPE_SIMILAR_USERNAME_MATCH
              - FINDING_TYPE_SERVICE_ACCOUNT_MISCLASSIFICATION
              - FINDING_TYPE_NHI_UNOWNED
              - FINDING_TYPE_SERVICE_ACCOUNT_UNOWNED
              - FINDING_TYPE_DECOY_CREDENTIAL_USED
              - FINDING_TYPE_CUSTOM
              - FINDING_TYPE_CONNECTOR_ANOMALY_DETECTION_DISABLED
            type: string
            x-speakeasy-unknown-values: allow
          type:
            - array
            - 'null'
        includeUnassigned:
          description: >-
            When true, includes findings with no effective identity-user owner.
            An
             explicit predicate for direct API callers who prefer a bool over the
             "unassigned" sentinel in owner_identity_user_ids; both signals are accepted.
          type: boolean
        nhiTypes:
          description: >-
            Filter to findings whose target resource's nhi_type is one of these
            (OR
             within field). Empty = not applied; pass all NhiType values to match any
             nhi resource.
          items:
            enum:
              - NHI_TYPE_UNSPECIFIED
              - NHI_TYPE_APP_REGISTRATION
              - NHI_TYPE_ASSUMABLE_ROLE
              - NHI_TYPE_MANAGED_IDENTITY
            type: string
            x-speakeasy-unknown-values: allow
          type:
            - array
            - 'null'
        ownerIdentityUserIds:
          description: >-
            Filter by effective owner identity-user IDs (OR within field).
            Matches
             findings whose effective owner (assigned_owner if set, else computed_owner)
             resolves to an identity user in this list. The reserved "unassigned"
             sentinel token selects findings with no effective identity-user owner; real
             identity-user IDs are exactly 27 alphanumerics so the token cannot collide.
          items:
            type: string
          type:
            - array
            - 'null'
        pageSize:
          description: Maximum number of findings to return per page.
          format: int32
          type: integer
        pageToken:
          description: Pagination token from a previous response.
          type: string
        query:
          description: Free text search query.
          type: string
        refs:
          description: >-
            Restrict results to these finding refs by ID (OR within field).
            Backs the
             websocket-notify re-query, which refetches just the changed finding(s) to
             patch a row in place or detect it dropping out of the filter; empty = not
             applied. Hits the (tenant_id, id) primary key.
          items:
            $ref: '#/components/schemas/c1.api.finding.v1.FindingRef'
          type:
            - array
            - 'null'
        scopeToAppOwner:
          description: >-
            When true, restricts results to findings for apps you own. The
            caller is
             resolved from request credentials (no user id is read from the request),
             so results are always limited to your own apps.
          type: boolean
        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
          type:
            - array
            - 'null'
        sourceKinds:
          description: Filter by source kind (OR within field).
          items:
            enum:
              - FINDING_SOURCE_KIND_UNSPECIFIED
              - FINDING_SOURCE_KIND_DETECTOR
              - FINDING_SOURCE_KIND_EXTERNAL
            type: string
            x-speakeasy-unknown-values: allow
          type:
            - array
            - 'null'
        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
          type:
            - array
            - 'null'
      title: Finding Search Request
      type: object
      x-speakeasy-name-override: FindingSearchRequest
  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

````