---
title: "Moves the forms to another tablet, or to QR. The previous target can no longer submit."
method: POST
path: "/form-handoffs/{id}/retarget"
tags: ["FormHandoffs"]
---

# Moves the forms to another tablet, or to QR. The previous target can no longer submit.

`POST /form-handoffs/{id}/retarget`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/form-handoffs/{id}/retarget`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/form-handoffs/:id/retarget/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `id` string, required

## Request body

- FormHandoffTargetRequest
  - `kind` 'Device' | 'Qr', required
  - `deviceId` string, nullable, required

## Response `200`

OK

- FormHandoffDto
  - `id` string, required
  - `appointmentId` string, required
  - `clientId` string, required
  - `status` 'Pending' | 'Opened' | 'Completed' | 'Cancelled' | 'Expired', required
  - `targetKind` 'Device' | 'Qr', required
  - `targetDeviceId` string, nullable, required
  - `targetDeviceName` string, nullable, required
  - `launchedByUserId` string, nullable, required
  - `expiresAt` string, date-time, required
  - `createdAt` string, date-time, required
  - `openedAt` string, date-time, nullable, required
  - `completedAt` string, date-time, nullable, required
  - `cancelledAt` string, date-time, nullable, required
  - `items` FormHandoffItemDto[], required
    - `id` string, required
    - `order` union, required
      - integer
      - string, int32
    - `questionnaireId` string, required
    - `questionnaireName` string, required
    - `questionnaireType` 'Intake' | 'PreVisit' | 'PostVisit' | 'Satisfaction' | 'Custom' | 'NewClient' | 'AppointmentConfirmation' | 'Consent' | 'Handout', required
    - `patientId` string, nullable, required
    - `patientName` string, nullable, required
    - `questionnaireResponseId` string, required
    - `submittedAt` string, date-time, nullable, required
  - `qr` FormHandoffQrDto: The code staff show the client for a live QR handoff (ITE-1090): the page URL, carrying the handoff's bearer token, and when it stops working. Returned by create and retarget to QR, and by `GET /form-handoffs/{id}/qr`; never in the list.
    - `url` string, required
    - `expiresAt` string, date-time, required
  - `cancelledByUserId` string, nullable

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `409`: Conflict

## Changes

- **2026-10-28** `099cf36186e0`: 3 warning
  - added the new `Handout` enum value to the `items/items/questionnaireType` response property for the response status `200` (media type: text/plain)
  - added the new `Handout` enum value to the `items/items/questionnaireType` response property for the response status `200` (media type: application/json)
  - added the new `Handout` enum value to the `items/items/questionnaireType` response property for the response status `200` (media type: text/json)
- **2026-10-21** `85ee96c0bb96`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/form-handoffs/:id/retarget/post.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
