---
title: "Bulk update shifts (asynchronous)"
method: POST
path: "/management/v2/shifts:bulkUpdate"
tags: ["Shifts"]
---

# Bulk update shifts (asynchronous)

`POST /management/v2/shifts:bulkUpdate`

## Request

- Base URL: `https://your-subdomain.deputy.deputy.com/api`
- URL: `https://your-subdomain.deputy.deputy.com/api/management/v2/shifts:bulkUpdate`
- Auth: API key in header `OAuth`

Updates multiple shifts in bulk with field-level updates. Only fields specified in the fieldMasks array will be updated. This is an asynchronous API that returns immediately with an operation ID in the response metadata.operation.id field. Use the operation ID to poll the /operations/v2/operations/{id} endpoint to check completion status. The operation processes updates in the background.

## Query parameters

- `fieldMasks` string[]

## Request body

- ScheduleShiftBulkUpdateRequestData
  - `fields` BulkUpdateFields
    - `employee` integer
    - `start` string
    - `end` string
    - `mealBreak` integer
    - `restBreak` integer
    - `area` integer
    - `comment` string
    - `publish` boolean
    - `open` boolean
    - `approvalRequired` boolean
  - `shifts` ModelBulkUpdateShift[]: Array of shift IDs to update.
    - `shiftId` integer
    - `override` ModelShiftOverride
      - `shiftValidation` boolean
      - `publishValidation` boolean
      - `compliance` ModelCompliance
        - `reason` string
        - `type` 'ALL'

## Response `200`

A successful response.

- ScheduleShiftBulkUpdateResponse: Response after initiating bulk update operation. Asynchronous API - returns immediately with operation ID.
  - `success` boolean: Indicates whether the bulk update request was accepted.
  - `metadata` ScheduleShiftBulkUpdateResponseMetadata
    - `operation` ScheduleShiftOperation: Operation tracking information for asynchronous APIs.
      - `operationId` string: Unique identifier for the operation. Use this to poll /operations/v2/operations/{id} for status updates.
      - `locks` OperationLock[]: Virtual Locks held by this operation that prevent conflicting operations.
        - `kind` string
        - `ids` object

---

[API](https://skmtc.dev/deputy/apis/deputy-v2-api.md) - [All operations](https://skmtc.dev/deputy/apis/deputy-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/deputy/apis/deputy-v2-api/revisions/78f0278f4608?raw)
