---
title: "Create assignments for multiple monitoring workflows"
method: POST
path: "/monitoring-workflows/assignments"
tags: ["MonitoringWorkflow"]
---

# Create assignments for multiple monitoring workflows

`POST /monitoring-workflows/assignments`

Creates assignments for multiple monitoring workflows in a single operation. Workflows are evenly distributed across the provided user IDs using round-robin distribution. Each workflow is processed independently, and results include both successful and failed assignments.

## Headers

- `tenant-id` string, required

## Request body

- BulkAssignMonitoringWorkflowRequest — Request to assign multiple monitoring workflows
  - `workflowIds` string[] — List of monitoring workflow IDs to assign. Either workflowIds or filter must be provided.
  - `assignTo` string[], required — List of user IDs to assign workflows to. Workflows will be evenly distributed across these users
  - `filter` string — Filter criteria as JSON string (URL encoded). Used to fetch workflow IDs when workflowIds is not provided. See GET /monitoring-workflows endpoint documentation for filter format.

## Response `200`

Bulk assignment operation completed. Check successful and failed arrays for individual results.

- BulkAssignMonitoringWorkflowResponse — Response containing results of bulk assignment of monitoring workflows
  - `successful` AssignmentResult2[] — List of successful assignments
    - `workflowId` string — ID of the credentialing workflow
    - `assignment` AssignmentEntry2
      - `assignedTo` string — User ID the assignment changed to
      - `assignedBy` string — User ID who made the assignment change
      - `assignedAt` string — Timestamp when the assignment was changed
    - `error` string — Error message if assignment failed
  - `failed` AssignmentResult2[] — List of failed assignments with error details
    - `workflowId` string — ID of the credentialing workflow
    - `assignment` AssignmentEntry2
      - `assignedTo` string — User ID the assignment changed to
      - `assignedBy` string — User ID who made the assignment change
      - `assignedAt` string — Timestamp when the assignment was changed
    - `error` string — Error message if assignment failed
  - `totalProcessed` integer — Total number of workflows processed
  - `successCount` integer — Number of successful assignments
  - `failureCount` integer — Number of failed assignments

## Other responses

- `400` — Invalid request data
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - User does not have required permissions
- `500` — Internal Server Error - An unexpected error occurred

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/3d27e9019c7b/schema)
