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

# Bulk update issues

> Update multiple issues by IDs, filters, or both.

At least one of `issue_ids` or `filters` is required. When both are provided,
only issues matching both inputs are updated.




## OpenAPI

````yaml https://neo.api.projectdiscovery.io/api/openapi.json patch /api/v1/issues/bulk
openapi: 3.1.0
info:
  contact:
    name: ProjectDiscovery
    url: https://neo.projectdiscovery.io
  description: Neo API Server - Security agent orchestration platform
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  title: Neo API
  version: 1.0.0
servers:
  - description: Production
    url: https://neo.api.projectdiscovery.io
  - description: Local development
    url: http://localhost:8080
security: []
tags:
  - description: Task execution and management
    name: Tasks
  - description: Agent listing and management
    name: Agents
  - description: Public agent directory
    name: Agent Directory
  - description: User file storage management
    name: Files
  - description: User working memory management
    name: Memory
  - description: Scheduled and recurring task management
    name: Schedules
  - description: Knowledge base and semantic search
    name: Knowledge
  - description: Encrypted user credentials and API keys
    name: Secrets
  - description: Neo API key management for programmatic access
    name: API Keys
  - description: User profile and account information
    name: User
  - description: Task and LLM usage tracking
    name: Usage
  - description: Bring Your Own Key provider management
    name: BYOK
  - description: Model discovery and capabilities
    name: Models
  - description: Third-party integrations
    name: Integrations
  - description: Skill knowledge documents for agent prompts
    name: Skills
  - description: Team management and member invitations
    name: Teams
  - description: Prompt library management and discovery
    name: Prompts
  - description: Slack bot integration for workspace installation and OAuth
    name: Slack
  - description: GitHub integration for PR reviews and repository management
    name: GitHub
  - description: Vulnerability issue tracking and management
    name: Issues
  - description: Subscription billing and plans
    name: Billing
  - description: Project management and member assignments
    name: Projects
  - description: SSH key pair generation and management for remote server access
    name: SSH Keys
  - description: Codebase structural analysis and mapping
    name: Codemaps
  - description: AI-generated codebase documentation and security analysis
    name: CodeWiki
  - description: Captured HTTP traffic query and replay
    name: Network Events
paths:
  /api/v1/issues/bulk:
    patch:
      tags:
        - Issues
      summary: Bulk update issues
      description: >
        Update multiple issues by IDs, filters, or both.


        At least one of `issue_ids` or `filters` is required. When both are
        provided,

        only issues matching both inputs are updated.
      operationId: patch-v1-issues-bulk
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpdateIssuesRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkUpdateIssuesResponse'
          description: Bulk update result
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request or empty filters
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
components:
  schemas:
    BulkUpdateIssuesRequest:
      description: >-
        At least one of `issue_ids` or `filters` is required. When both are
        provided, only issues matching both inputs are updated.
      properties:
        comment:
          description: Reason for bulk change (creates a comment on each affected issue)
          type: string
        filters:
          $ref: '#/components/schemas/IssueFilters'
        issue_ids:
          description: Explicit issue IDs to update. Maximum 1000 IDs per request.
          items:
            format: uuid
            type: string
          maxItems: 1000
          type: array
        update:
          $ref: '#/components/schemas/BulkUpdateFields'
      required:
        - update
      type: object
    BulkUpdateIssuesResponse:
      properties:
        issue_ids:
          items:
            format: uuid
            type: string
          type: array
        matched:
          type: integer
        updated:
          type: integer
      required:
        - matched
        - updated
      type: object
    ErrorResponse:
      properties:
        code:
          description: >
            Stable machine-readable error code — branch on this rather than

            matching the human `error`/`message` strings. Domain codes include

            `user_spending_cap_reached`, `project_spending_cap_reached`, and

            `insufficient_neo_credits`; otherwise it mirrors the error kind

            (e.g. `forbidden`, `invalid_request`, `not_exists`,
            `already_exists`).
          example: user_spending_cap_reached
          type: string
        error:
          example: Bad request
          type: string
        error_id:
          description: Correlation id for a specific error instance, when present.
          type: string
        kind:
          description: Coarse error category (e.g. "forbidden request", "invalid request").
          example: forbidden request
          type: string
        message:
          description: |
            Human-readable detail (the kind prefixed to the error). For display,
            not for branching.
          type: string
      required:
        - error
      type: object
    IssueFilters:
      properties:
        affected_host:
          description: Filter to issues that include an affected asset with this host
          type: string
        assignee:
          type: string
        component:
          type: string
        confidence:
          items:
            $ref: '#/components/schemas/IssueConfidence'
          type: array
        created_after:
          format: date-time
          type: string
        created_before:
          format: date-time
          type: string
        cve_id:
          description: Filter issues that contain this CVE ID in their cve_ids array
          type: string
        cwe_id:
          description: Filter issues that contain this CWE ID in their cwe_ids array
          type: string
        host:
          type: string
        ip_address:
          type: string
        max_cvss:
          description: Filter issues with CVSS score <= this value
          format: float
          type: number
        min_affected:
          description: Filter to issues with at least this many affected assets
          type: integer
        min_cvss:
          description: Filter issues with CVSS score >= this value
          format: float
          type: number
        port:
          type: integer
        priority:
          items:
            $ref: '#/components/schemas/IssuePriority'
          type: array
        project_id:
          description: Filter to issues belonging to this project
          format: uuid
          type: string
        search:
          type: string
        severity:
          items:
            $ref: '#/components/schemas/IssueSeverity'
          type: array
        source:
          description: Filter by source (any string value)
          items:
            type: string
          type: array
        status:
          items:
            $ref: '#/components/schemas/IssueStatus'
          type: array
        tags:
          items:
            type: string
          type: array
        target:
          description: Filter by target (partial match)
          type: string
        target_type:
          description: Filter by target_type (exact match)
          type: string
        task_id:
          description: Scope to issues associated with a specific task
          type: string
        template_id:
          type: string
        type:
          items:
            $ref: '#/components/schemas/IssueType'
          type: array
      type: object
    BulkUpdateFields:
      properties:
        assignee:
          type: string
        confidence:
          $ref: '#/components/schemas/IssueConfidence'
        priority:
          $ref: '#/components/schemas/IssuePriority'
        severity:
          $ref: '#/components/schemas/IssueSeverity'
        status:
          $ref: '#/components/schemas/IssueStatus'
        tags:
          items:
            type: string
          type: array
        tags_add:
          items:
            type: string
          type: array
        tags_remove:
          items:
            type: string
          type: array
        type:
          $ref: '#/components/schemas/IssueType'
      type: object
    IssueConfidence:
      enum:
        - confirmed
        - firm
        - tentative
      type: string
    IssuePriority:
      enum:
        - critical
        - high
        - medium
        - low
        - none
      type: string
    IssueSeverity:
      enum:
        - critical
        - high
        - medium
        - low
        - info
        - unknown
      type: string
    IssueStatus:
      enum:
        - unverified
        - open
        - confirmed
        - in_progress
        - resolved
        - false_positive
        - accepted_risk
        - duplicate
      type: string
    IssueType:
      enum:
        - vulnerability
        - misconfiguration
        - exposure
        - information
        - compliance
        - other
      type: string

````