---
title: "Assign or lease-safely move a cloud printer to a paired Hive Link Host"
method: POST
path: "/v1/hive-link/printers/{printerId}/reassign"
tags: ["Hive Link"]
---

# Assign or lease-safely move a cloud printer to a paired Hive Link Host

`POST /v1/hive-link/printers/{printerId}/reassign`

## Path parameters

- `printerId` string, required

## Request body

- object
  - `hostId` string, required
  - `printerConfig` object
    - `ipAddress` string, required
    - `name` string, required
    - `serial` string
    - `model` string
    - `protocol` 'bambu' | 'klipper' | 'octoprint' | 'prusa_connect' | 'snapmaker', required
    - `credential` string, required
    - `port` integer
    - `secure` boolean
    - `timeout` integer

## Response `200`

Default Response

- object
  - `cloudPrinterId` string, required
  - `ownership` object, required
    - `status` 'available' | 'unknown' | 'owned-by-this-host' | 'owned-by-another-host', required
    - `cloudPrinterId` string
    - `authoritativeHostId` string
    - `authoritativeHostName` string
    - `assignment` object
      - `id` string
      - `hostId` string
      - `hostName` string
      - `hostHostname` string
      - `leaseHostId` string
      - `leaseHostName` string
      - `assignmentEpoch` integer
      - `leaseExpiresAt` string
      - `connectionState` string
      - `lastKnownPrinterStatus` string
      - `recoveryRequired` boolean
      - `recoveryReason` string
      - `errorCode` string
      - `errorMessage` string
      - `retryCount` integer
      - `lastAttemptAt` string
      - `uploadInProgress` boolean
      - `outcome` string
      - `fromHostId` string
      - `toHostId` string
      - `state` string
      - `error` string
  - `assignment` object, required
    - `id` string
    - `hostId` string
    - `hostName` string
    - `hostHostname` string
    - `leaseHostId` string
    - `leaseHostName` string
    - `assignmentEpoch` integer
    - `leaseExpiresAt` string
    - `connectionState` string
    - `lastKnownPrinterStatus` string
    - `recoveryRequired` boolean
    - `recoveryReason` string
    - `errorCode` string
    - `errorMessage` string
    - `retryCount` integer
    - `lastAttemptAt` string
    - `uploadInProgress` boolean
    - `outcome` string
    - `fromHostId` string
    - `toHostId` string
    - `state` string
    - `error` string

## Other responses

- `401` — Default Response
- `403` — Default Response
- `404` — Default Response
- `409` — Default Response
- `422` — Default Response
- `502` — Default Response
- `503` — Default Response

---

[API](https://skmtc.net/printhiv3d/apis/hive-api-documentation.md) · [All operations](https://skmtc.net/printhiv3d/apis/hive-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/printhiv3d/hive-api-documentation/revisions/6fe5e0368cb0/schema)
