---
updatedAt: 2026-08-04T08:42:50.000Z
agentTools:
  projectIndex: https://docs.mesh.complyadvantage.com/llms.txt
---

# Bulk risk status update

Update the status of multiple risks in one request, by risk identifier. Outcomes are reported per-item (partial success): well-formed identifiers that do not resolve within the account scope are reported as success=false / NOT_FOUND rather than failing the whole request. Returns 207 Multi-Status for every well-formed, processed batch.


You need "Access to base payment screening functionality" enabled to use this endpoint.

# OpenAPI definition

```json
{
  "components": {
    "schemas": {
      "ps_BulkRiskStatusUpdateRequest": {
        "properties": {
          "risk_identifiers": {
            "description": "The identifiers of the risks to update. Must be non-empty; each element must be a UUID. Duplicates are de-duplicated (first occurrence wins for result ordering).",
            "example": [
              "019e1c18-90d0-709e-8561-23ea3ab2cb0d",
              "019e1b9d-346c-7686-9b89-178f18ad40b6"
            ],
            "items": {
              "description": "The identifiers of the risks to update. Must be non-empty; each element must be a UUID. Duplicates are de-duplicated (first occurrence wins for result ordering).",
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 1,
            "type": "array"
          },
          "status": {
            "description": "The new status applied to every supplied risk",
            "enum": [
              "NOT_REVIEWED",
              "IN_REVIEW",
              "FALSE_POSITIVE",
              "TRUE_POSITIVE"
            ],
            "type": "string"
          }
        },
        "required": [
          "risk_identifiers",
          "status"
        ],
        "type": "object"
      },
      "ps_BulkRiskStatusUpdateResponse": {
        "properties": {
          "results": {
            "description": "One entry per distinct requested identifier, in request order",
            "items": {
              "$ref": "#/components/schemas/ps_RiskStatusUpdateResult"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object"
      },
      "ps_ItemError": {
        "description": "Describes a single reason why a risk status update failed.",
        "properties": {
          "code": {
            "description": "Machine-readable reason. Currently only NOT_FOUND.",
            "example": "NOT_FOUND",
            "type": "string"
          },
          "message": {
            "description": "Human-readable explanation",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "type": "object"
      },
      "ps_RiskStatusUpdateResult": {
        "description": "One entry per distinct requested identifier, in request order",
        "properties": {
          "errors": {
            "default": null,
            "description": "List of failure reasons; null when all risk updates are successful.",
            "items": {
              "$ref": "#/components/schemas/ps_ItemError"
            },
            "nullable": true,
            "type": "array"
          },
          "identifier": {
            "description": "The risk identifier this outcome refers to",
            "example": "019e1c18-90d0-709e-8561-23ea3ab2cb0d",
            "format": "uuid",
            "type": "string"
          },
          "success": {
            "default": false,
            "description": "true if the risk was updated (status set, audit written, event published)",
            "type": "boolean"
          }
        },
        "required": [
          "identifier",
          "success"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "description": "HTTP Bearer Token Authentication",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "title": "Mesh API",
    "version": "v2.0"
  },
  "openapi": "3.0.3",
  "paths": {
    "/v2/payment-screening/risks/bulk": {
      "patch": {
        "description": "Update the status of multiple risks in one request, by risk identifier. Outcomes are reported per-item (partial success): well-formed identifiers that do not resolve within the account scope are reported as success=false / NOT_FOUND rather than failing the whole request. Returns 207 Multi-Status for every well-formed, processed batch.\n\n\nYou need \"Access to base payment screening functionality\" enabled to use this endpoint.",
        "operationId": "paymentScreeningBulkUpdateRiskStatus",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ps_BulkRiskStatusUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "207": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ps_BulkRiskStatusUpdateResponse"
                }
              }
            },
            "description": "Multi-Status"
          }
        },
        "summary": "Bulk risk status update",
        "tags": [
          "Payment Screening"
        ]
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "servers": [
    {
      "description": "ComplyAdvantage Mesh API",
      "url": "https://api.mesh.complyadvantage.com"
    }
  ],
  "tags": [
    {
      "name": "Payment Screening"
    }
  ]
}
```