Create several board tasks in one request
Single round-trip replacement for creating tasks one at a time. Every draft is created in order; per-draft failures are reported inline (`status: 'error'`) and do not abort the batch, so the response is always 200 once validation passes. Any logged-in user may call this; the per-board `canCreate{Creator|Reviewer}BoardTask` permission is checked for each draft (`no_permission`), as is that the board is active and belongs to `projectId` (`board_not_found`). Requires the `boards` workspace capability. Each created task gets the same side effects as `POST /boards/{boardId}/tasks` (event log, notification, `created` task event, topic chat) and, when `tagIds` is supplied, the tags are applied inline. When `announce` is provided and at least one task was created, a single assistant reply carrying every new task is posted in the source chat as a reply to `messageId`; announce failures never fail the request.
Single round-trip replacement for creating tasks one at a time. Every draft is
created in order; per-draft failures are reported inline (status: 'error') and do
not abort the batch, so the response is always 200 once validation passes.
Any logged-in user may call this; the per-board canCreate{Creator|Reviewer}BoardTask
permission is checked for each draft (no_permission), as is that the board is
active and belongs to projectId (board_not_found). Requires the boards
workspace capability.
Each created task gets the same side effects as POST /boards/{boardId}/tasks
(event log, notification, created task event, topic chat) and, when tagIds is
supplied, the tags are applied inline. When announce is provided and at least one
task was created, a single assistant reply carrying every new task is posted in the
source chat as a reply to messageId; announce failures never fail the request.
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/tasks/bulk-create" \ -H "Content-Type: application/json" \ -d '{ "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8", "tasks": [ { "clientId": "string", "boardId": "a654038e-9287-48a2-acfd-90b8cfa8b1f4", "subject": "string" } ] }'{ "results": [ { "clientId": "string", "status": "created", "task": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "creatorId": "688ebf54-d343-4104-8711-82c2feac534a", "creator": "1dccd4a6-75d2-43aa-a088-76d941f1b60a", "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8", "project": "9ec8a81a-31b2-4a83-bcd8-cef9150932d2", "assignedToId": "7a15e53b-1403-4928-9451-d7062c3a8737", "assignedTo": "7869c1a9-a680-4086-b6f5-9e78a651f6f2", "originId": "aae96add-b528-41c7-bc74-5164403b34b2", "origin": "25c01b72-1ac4-4529-8608-f700e1b2b431", "originType": "chatMessage", "relatedToId": "c2b6bd54-2a1c-405f-9ac0-54e3862dbbad", "relatedTo": "378c13a9-e20d-414b-882a-16755f7f0eba", "relatedToType": "project", "status": "pending", "acknowledged": false, "visibility": "creator", "mentions": [ "777c52f7-3433-49cb-b0a3-cd6473c2c951" ], "followers": [ "6021b93c-6a2e-4145-985c-40bb9e171532" ], "subject": "string", "body": "string", "description": "string", "boardId": "a654038e-9287-48a2-acfd-90b8cfa8b1f4", "columnId": "b0676e1a-d8a0-4c5f-99e7-a0ee8909f6dd", "sortOrder": 0, "taskNumber": 0, "tags": [ "a424dc99-d215-4281-ad2d-a3a9bc179925" ], "inheritanceId": "09c886ac-e6e5-4263-a494-a6e14f7e4f46", "inheritance": "6cbbda6a-db01-4bd0-b925-d9ee2f34cc11", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }, "error": { "code": "string", "message": "string" } } ], "announce": { "posted": true, "messageId": "8540d774-4863-4d2b-b788-4ecb19412e85" }}