---
title: "GET /public/form-handoffs/{token}"
method: GET
path: "/public/form-handoffs/{token}"
tags: ["PublicFormHandoffs"]
---

# GET /public/form-handoffs/{token}

`GET /public/form-handoffs/{token}`

## Request

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

## Path parameters

- `token` string, required

## Response `200`

OK

- QrFormHandoffDto: What the QR page on the client's phone renders (ITE-1090): form titles, pet names, fill tokens and submitted flags — nothing about the client (no name at all, the same exposure as an emailed form link) and nothing the page doesn't use. A completed handoff resolves until its deadline, every item submitted and no fill tokens, so a refresh after the last form shows "all done".
  - `status` 'Pending' | 'Opened' | 'Completed' | 'Cancelled' | 'Expired', required
  - `expiresAt` string, date-time, required
  - `items` QrFormHandoffItemDto[], required
    - `order` union, required
      - integer
      - string, int32
    - `questionnaireName` string, required
    - `patientName` string, nullable, required
    - `token` string, nullable, required: The form's single-use fill token; null once the handoff is completed.
    - `submitted` boolean, required

## Other responses

- `404`: Not Found

## Changes

- **2026-10-21** `85ee96c0bb96`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/public/form-handoffs/:token/get.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)
