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

# Bulk dismiss rule results

> Dismisses many data rule results (alerts) in a single request, across any rules in the project. Each result is identified by its rule-result friendly ID (`dpres_...` for data point results, `mrres_...` for model run results); data point and model run results can be mixed in one call. The same dismissal reason is applied to every result. The operation is all-or-nothing: if the reason is blank, the list is empty, or any ID is unknown to the project or points at a passing result, nothing is dismissed and a 422 is returned. Already-dismissed results are a no-op, so retries are idempotent. Requires the rules engine feature on the account.



## OpenAPI

````yaml POST /projects/{project_id}/rule_results/bulk_dismiss
openapi: 3.1.0
info:
  title: Mangrove - API
  version: 1.1.0
servers:
  - url: https://app.gomangrove.com/api/v1
security:
  - sec0: []
paths:
  /projects/{project_id}/rule_results/bulk_dismiss:
    post:
      summary: Bulk dismiss rule results
      description: >-
        Dismisses many data rule results (alerts) in a single request, across
        any rules in the project. Each result is identified by its rule-result
        friendly ID (`dpres_...` for data point results, `mrres_...` for model
        run results); data point and model run results can be mixed in one call.
        The same dismissal reason is applied to every result. The operation is
        all-or-nothing: if the reason is blank, the list is empty, or any ID is
        unknown to the project or points at a passing result, nothing is
        dismissed and a 422 is returned. Already-dismissed results are a no-op,
        so retries are idempotent. Requires the rules engine feature on the
        account.
      operationId: bulk-dismiss-rule-results
      parameters:
        - name: project_id
          in: path
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - result_ids
                - reason
              properties:
                result_ids:
                  type: array
                  description: >-
                    Rule-result friendly IDs to dismiss. These are the `id` on
                    each entry in a data point's or model run's `rule_results`
                    array (e.g. `dpres_...`, `mrres_...`) — not data point,
                    event, or model run IDs. Duplicate IDs are de-duplicated.
                  items:
                    type: string
                reason:
                  type: string
                  description: >-
                    Dismissal reason applied to every result in the batch.
                    Cannot be blank.
            examples:
              Request Example:
                value:
                  result_ids:
                    - dpres_8XF1QtGs79oX9A6k
                    - dpres_7nxaDUf65c36v6mz
                    - mrres_AIKqFEtr5OpAqram
                  reason: >-
                    Reviewed with site engineer — sensor recalibrated, readings
                    are expected.
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    data:
                      - id: dpres_8XF1QtGs79oX9A6k
                        status: dismissed
                        entered_value: '-2.5'
                        rule_id: rule_Qb3k9TzdL0pWnXyz
                        rule_version: 3
                        rule_name: Negative Temp Alert
                        data_point_id: in_JuGzRS08MbVSEkCj
                        data_point_slug: ambient-temperature-c
                        dismissed_at: '2026-06-18T19:43:11.000Z'
                        dismissed_by: Aaron Rosenberg
                        dismissal_reason: >-
                          Reviewed with site engineer — sensor recalibrated,
                          readings are expected.
                        evaluated_at: '2026-06-18T19:43:11.000Z'
                      - id: mrres_AIKqFEtr5OpAqram
                        status: dismissed
                        checked_value: '1450.2'
                        node_ids:
                          - node_total_emissions
                        rule_id: rule_Lp7m2XcQd0RtVbnm
                        rule_version: 1
                        rule_name: Emissions Ceiling
                        model_run_id: mr_c3krFTxCxJSQR5Rc
                        dismissed_at: '2026-06-18T19:43:11.000Z'
                        dismissed_by: Aaron Rosenberg
                        dismissal_reason: >-
                          Reviewed with site engineer — sensor recalibrated,
                          readings are expected.
                        evaluated_at: '2026-06-18T19:43:11.000Z'
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: >-
                            Rule-result friendly ID (`dpres_...` or
                            `mrres_...`).
                        status:
                          type: string
                          enum:
                            - pass
                            - fail
                            - dismissed
                        rule_id:
                          type: string
                        rule_version:
                          type: integer
                        rule_name:
                          type: string
                        dismissed_at:
                          type: string
                          format: date-time
                          nullable: true
                        dismissed_by:
                          type: string
                          nullable: true
                          description: Name of the user who dismissed the result.
                        dismissal_reason:
                          type: string
                          nullable: true
                        evaluated_at:
                          type: string
                          format: date-time
                        entered_value:
                          type: string
                          description: >-
                            Data point results only — the value that was
                            evaluated.
                        data_point_id:
                          type: string
                          description: Data point results only.
                        data_point_slug:
                          type: string
                          description: Data point results only.
                        checked_value:
                          type: string
                          description: >-
                            Model run results only — the value that was
                            evaluated.
                        node_ids:
                          type: array
                          items:
                            type: string
                          description: >-
                            Model run results only — the model node(s) the rule
                            checked.
                        model_run_id:
                          type: string
                          description: Model run results only.
        '403':
          description: '403'
          content:
            application/json:
              examples:
                Result:
                  value:
                    status: error
                    statusCode: 403
                    errors:
                      - message: Rules engine feature is not enabled
        '404':
          description: '404'
          content:
            application/json:
              examples:
                Result:
                  value:
                    status: error
                    statusCode: 404
                    errors:
                      - message: record not found
        '422':
          description: '422'
          content:
            application/json:
              examples:
                Unknown ids:
                  value:
                    status: error
                    statusCode: 422
                    errors:
                      - message: 'Unknown result ids: dpres_doesNotExist01'
                Passing result:
                  value:
                    status: error
                    statusCode: 422
                    errors:
                      - message: 'Cannot dismiss passing results: dpres_8XF1QtGs79oX9A6k'
                Blank reason:
                  value:
                    status: error
                    statusCode: 422
                    errors:
                      - message: Dismissal reason can't be blank
      deprecated: false
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      name: Authorization
      x-bearer-format: ''

````