# Remove many people from shifts

Queues the work of removing a set of assignments and returns a token for the
queued job. **Nothing is removed by the time the response comes back**, and the
token is not something you can poll - confirm the outcome by listing the shift's
assignments.
Choose the assignments either by naming them in `selected`, or by sending
`applyTo` with a `filter` describing them. `selected` holds shift assignment IDs
- the `id` on a listing row - not user IDs.

Note this returns a **201**, where the other queued endpoints in the API return a
200. The body is the same either way.

Endpoint: POST /api/v2/event/shift/user/mass-delete
Version: 2.0.0
Security: default

## Header parameters:

  - `Rosterfy-Platform` (string)

## Request fields (application/json):

  - `applyTo` (string, required)
    Send `selected` to act only on the records named in `selected`. Any other value acts on everything the caller can see, narrowed by `filter` if one is sent. The value is not checked against a list, so a typo is accepted and treated as "everything".

  - `selected` (array)
    The IDs to act on. On the mass add these are user IDs; on the mass delete they are shift assignment IDs. Required in practice when `applyTo` is `selected`, but nothing validates that: omitting it still returns a queue token and the background work then does nothing.

  - `filter` (array)
    The same filter object the listings take, used to choose the records to act on when `applyTo` is not `selected`.

## Response 201 fields (application/json):

  - `queue` (string)

