---
title: "Get Link template detail"
method: GET
path: "/workspaces/{workspaceId}/link/templates/{templateId}"
tags: ["link"]
---

# Get Link template detail

`GET /workspaces/{workspaceId}/link/templates/{templateId}`

## Request

- Base URL: `https://vetnio.com/api/v2`
- URL: `https://vetnio.com/api/v2/workspaces/{workspaceId}/link/templates/{templateId}`
- Auth: HTTP bearer

Fetches one Link form template and returns the fields Vetnio can write into (`textarea`, `select`, `multiCheckbox`, `internalSample`), in template order. Read-only; nothing is stored in Vetnio. Returns `404 NOT_FOUND` when Link has no template with this id.

## Path parameters

- `workspaceId` string, required: Identifier of the clinic (workspace), as returned by `GET /workspaces`. The key's user must be a member of the clinic, or an admin of the organization it belongs to.
- `templateId` integer, required: Link journal form template id, as returned in `id` by the template list endpoint.

## Response `200`

Template detail with field metadata.

- object: A Link form template with the writable fields Vetnio derives from it. The same field list drives the JSON template created by the resolve endpoint.
  - `id` integer, required: Link form template id.
  - `name` string, required: Template name as shown in Link.
  - `description` string, nullable, required: Template description from Link, or `null`.
  - `fieldMetadata` object[], required: Writable fields in the order they appear in the Link template. An empty array means Vetnio cannot export to this template.
    - `title` string, required: Field label. For a free-text field placed directly under a heading without its own label, the heading text is used. Becomes the field name in the generated Vetnio JSON template.
    - `type` 'textarea' | 'select' | 'multiCheckbox' | 'internalSample', required: How Vetnio writes the field: - `textarea` — free text (Link `textarea` and `input` fields). - `select` — exactly one value from `options`. - `multiCheckbox` — any number of values from `options`. - `internalSample` — a lab or measurement result row (Link `internal_sample` and `milksample*` fields). For `internal_sample`, only the first number in the value is sent (for example `24.5 kg` is written as `24.5`).
    - `apiFieldId` integer, required: Id of the field in the Link template.
    - `options` object[]: Allowed values. Present for `select` and `multiCheckbox` fields, absent otherwise.
      - `value` string, required: Option value Link stores when the option is chosen. Exported structured notes use this value.
      - `label` string, required: Option text shown to the vet in Link.

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `404`: Not found
- `500`: Internal server error

---

[API](https://skmtc.dev/vetnio/apis/vetnio-api.md) - [All operations](https://skmtc.dev/vetnio/apis/vetnio-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vetnio/apis/vetnio-api/revisions/d004afd5617d?raw)
