---
title: "Issue links for the handouts in a client message that is sending now (ITE-1590): one response and pinned link each, created exactly as `send` creates them, with no invitation — Orchestrate's message carries the links. Internal only: called by the Orchestrate send path, never by the browser (a preview or render must not create links)."
method: POST
path: "/Questionnaires/handouts/issue-links"
tags: ["Questionnaires"]
---

# Issue links for the handouts in a client message that is sending now (ITE-1590): one response and pinned link each, created exactly as \`send\` creates them, with no invitation — Orchestrate's message carries the links. Internal only: called by the Orchestrate send path, never by the browser (a preview or render must not create links).

`POST /Questionnaires/handouts/issue-links`

## Request

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

## Request body

- IssueHandoutLinksRequestDto: Issue handout links for a message about to send (ITE-1590): one questionnaire response and link per handout, exactly as Send Form creates them, but no invitation message: the caller's own message carries the links. Business API `POST questionnaires/handouts/issue-links`.
  - `clientId` string, required
  - `patientId` string, nullable: The pet the handouts are about, so they show on its record. Must be the client's.
  - `channel` string, required: "Email" or "SMS": stamped on each link, so a reminder goes the same way.
  - `handouts` IssueHandoutRefDto[], required
    - `questionnaireId` string, required
    - `attachPdf` boolean: Also stage the pinned version's PDF as an attachment for the client (email only).

## Response `200`

OK

- IssueHandoutLinksResultDto
  - `success` boolean
  - `errorMessage` string, nullable: Why nothing was issued; staff-facing. Null on success.
  - `links` IssuedHandoutLinkDto[]
    - `questionnaireId` string, required
    - `name` string, required
    - `url` string, required
    - `responseId` string, required
    - `linkId` string, required
    - `handoutVersion` union: The version the link is pinned to.
      - integer
      - string, int32
    - `stagedAttachmentId` string, nullable: The pinned PDF, staged and bound to the client like a record document, when it was asked for and the version has one. The send attaches it by id, as any staged attachment.

## Changes

- **2026-10-28** `099cf36186e0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Questionnaires/handouts/issue-links/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)
