---
title: "List a page of animals for a Link customer"
method: GET
path: "/workspaces/{workspaceId}/link/customers/{customerId}/animals/page"
tags: ["link"]
---

# List a page of animals for a Link customer

`GET /workspaces/{workspaceId}/link/customers/{customerId}/animals/page`

## Request

- Base URL: `https://vetnio.com/api/v2`
- URL: `https://vetnio.com/api/v2/workspaces/{workspaceId}/link/customers/{customerId}/animals/page`
- Auth: HTTP bearer

Lists one page of active animals (not deceased, removed or marked duplicate) owned by the given Link customer, optionally filtered by a partial animal name. Vetnio checks Link's paging metadata and fails with `500` rather than return an inconsistent page.

## 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.
- `customerId` integer, required: Link customer (animal owner) id, as returned in `customers[].id` by the customer search endpoint.

## Query parameters

- `name` string: Optional partial, case-insensitive match on the animal name, applied by Link. Leading and trailing whitespace is ignored.
- `page` integer: 1-based page number.
- `perPage` integer: Animals per page, 1 to 100.

## Response `200`

Paginated animal results.

- object: One page of a Link customer's active animals.
  - `animals` LinkAnimal[], required: Animals on this page, in Link's order (most recently updated first).
    - `id` integer, required: Link animal id. Pass it as `animalId` to the compatible-entries and export endpoints.
    - `name` string, required: Animal name from Link.
    - `kindName` string, nullable, required: Species name from Link (Link calls it kind), or `null`.
    - `breedName` string, nullable, required: Breed name from Link, or `null`.
    - `genderName` string, nullable, required: Sex name from Link, or `null`.
    - `birthdate` string, nullable, required: Date of birth (YYYY-MM-DD) from Link, or `null`.
    - `deceased` boolean, required: Whether Link marks the animal as deceased. Only active animals are requested from Link, so this is normally `false`.
  - `total` integer, required: Total number of matching animals across all pages.
  - `page` integer, required: The page that was returned (1-based).
  - `perPage` integer, required: Page size used.
  - `hasNextPage` boolean, required: `true` when more animals exist after this page.

## 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)
