---
title: "Batch reassign tasks"
method: POST
path: "/v3/tasks/batch/assign"
tags: ["Tasks"]
---

# Batch reassign tasks

`POST /v3/tasks/batch/assign`

<small>_Requires the `tasks:write` scope (or a broader one that includes it)._</small>

Reassigns multiple tasks to a user. The target user must be a member of the caller's team.
Non-atomic — some may succeed while others fail.
Items not in the response dictionary succeeded.

## Request body

- object — Request body for batch reassigning tasks.
  - `ids` integer[], required — Task IDs to reassign (1-100).
  - `userId` integer, required — User ID to assign the tasks to. Must be a member of the caller's team.

## Response `200`

Dictionary of failed items keyed by task ID. Empty object `{}` means all succeeded.

Possible per-item error codes:

| code | Meaning |
|------|---------|
| `notFound` | Task does not exist or caller lacks permission to assign it |

- object

## Other responses

- `400` — Validation failure on the request body (missing/unparseable body, `ids` empty or > 100 items, any ID not a positive integer, `userId` not a positive integer).
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — Target user is not a member of the caller's team.
- `429` — Too Many Requests

---

[API](https://skmtc.net/reply/apis/reply-api.md) · [All operations](https://skmtc.net/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
