---
search:
  tags:
    - Printing
    - PUT
seo:
  description: >-
    Admin only. Patches a printer's name, kind, copies, auto print,… Reference
    for the PUT /api/v1/printing/printers/{printerId} endpoint in the PharmaFlow
    API.
sidebar:
  label: Update a printer
  badge: PUT
title: Update a printer
type: openapi-operation
---
Admin only. Patches a printer's name, kind, copies, auto print, drawer, active, or default. Clearing the last default is refused; a branch must keep exactly one default printer.

`PUT /api/v1/printing/printers/{printerId}`

**Request body** (`application/json`, required)

- `name` (string)
- `kind` (string)
- `connection` (string)
- `device_path` (string)
- `copies` (number)
- `auto_print` (boolean)
- `kick_drawer` (boolean)
- `is_active` (boolean)
- `is_default` (boolean)

Request body example:

```json
{
  "name": "string",
  "kind": "string",
  "connection": "string",
  "device_path": "string",
  "copies": 0,
  "auto_print": true,
  "kick_drawer": true,
  "is_active": true,
  "is_default": true
}
```

**Responses**

- `200` — Printer updated
- `400` — The name is blank, a device path is set, a kind or copies value is invalid, no fields were sent, or clearing the default would leave the branch without one
- `401` — Not authenticated
- `403` — Caller is not an admin, or the branch is outside your ownership
- `404` — Printer not found

Response example, 200:

```json
{
  "id": "string",
  "branch_id": "string",
  "name": "string",
  "kind": "string",
  "connection": "string",
  "device_path": "string",
  "is_default": -9007199254740991,
  "copies": -9007199254740991,
  "auto_print": -9007199254740991,
  "kick_drawer": -9007199254740991,
  "is_active": -9007199254740991,
  "is_deleted": -9007199254740991,
  "created_at": "string",
  "updated_at": "string"
}
```
