---
title: "Apply one set of field values to many prints in a single request."
method: POST
path: "/api/Prints/bulk-update"
tags: ["Prints"]
---

# Apply one set of field values to many prints in a single request.

`POST /api/Prints/bulk-update`

## Request

- Base URL: `https://api.3dprintlog.com`
- URL: `https://api.3dprintlog.com/api/Prints/bulk-update`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://3dprintlog.auth0.com/authorize`, token URL `https://3dprintlog.auth0.com/oauth/token`)
  - API key in header `X-Api-Key`
  - API key in query parameter `api_key`

Every field is optional and omitted fields are left untouched. Enum values are
integers. The request is a 200 even when individual ids could not be acted on;
the response body reports each id as succeeded or failed.

## Request body

- PrintLogApiModelsDTOsPrintBulkUpdatePrintsDto: Applies the same set of field values to many prints in one request. Every field is optional; omitted fields are left untouched. Enum values travel as their integer value, matching the rest of the API.
  - `printIds` integer[], nullable: The prints to update. Must be non-empty, distinct, and at most 200 entries.
  - `status` 1 | 2 | 3 | 4 | 5 | 6: Sent as an integer: `1` = Pending, `2` = Printing, `3` = Success, `4` = Cancelled, `5` = Failed, `6` = PartialSuccess.
  - `projectId` string, uuid, nullable: Assign to an existing project. The project must belong to the caller.
  - `viewStatus` 1 | 2 | 3: Sent as an integer: `1` = Public, `2` = Unlisted, `3` = Private.
  - `printerId` integer, nullable: Reassign to one of the caller's printers.
  - `allowComments` boolean, nullable
  - `allowFileDownloads` boolean, nullable
  - `clear` string[], nullable: Field names to reset to null. Only "projectId" is clearable. A field may not be both set and cleared in one request.

## Response `200`

The per-id outcome of the operation.

- PrintLogApiModelsDTOsPrintBulkPrintResultDto: The per-id outcome of a bulk operation. A bulk request is a 200 even when some ids could not be acted on; the body is what says which.
  - `succeeded` integer[], nullable
  - `failed` PrintLogApiModelsDTOsPrintBulkPrintFailureDto[], nullable
    - `id` integer
    - `reason` string, nullable: Either "NotFound" or "Forbidden".

## Other responses

- `400`: The request as a whole was invalid. Nothing was written.
- `401`: Returned when no user is authenticated.
- `403`: Forbidden

---

[API](https://skmtc.dev/3dprintlog/apis/3d-print-log-api.md) · [All operations](https://skmtc.dev/3dprintlog/apis/3d-print-log-api/llms.txt) · [OpenAPI document](https://skmtc.dev/3dprintlog/apis/3d-print-log-api/revisions/dfc3a4df4e38?raw)
