consultations

Get a page of consultations

Returns a paginated list of the consultations the authenticated user created in this workspace. Colleagues' consultations are never listed, even when the workspace lets members see each other's consultations in the Vetnio app; they can still be read by ID. Archived consultations and consultations deleted in the app are excluded.

Each item carries metadata (name, dates, audio duration, template IDs, generation flags) and searchableContent, a plain-text copy of the latest clinical note. Use GET .../records for the formatted note.

Results are ordered by creation date, newest first. Consultations linked in a timeline (follow-up visits) are kept together and count as one entry toward consultationsPerPage and count. Use searchQuery to filter by name, clinical note text, external ID or patient name/identifier (case-insensitive substring match). Pagination is offset-based, so items can shift between pages while consultations are being created.

get/workspaces/{workspaceId}/consultations

Request

  • Base URL
    https://vetnio.com/api/v2
  • URL
    https://vetnio.com/api/v2/workspaces/{workspaceId}/consultations
  • Auth
    HTTP bearer

Path parameters

workspaceIdstring 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.

Example:furunculotic-loud-chihuahua

Query parameters

currentPagenumber

Page to return, starting at 1. Defaults to 1. Must be 1 or greater; lower values cause a server error.

Example:1
consultationsPerPagenumber

Page size, counted in entries (a timeline of linked consultations is one entry). Defaults to 10. No maximum is enforced, but large pages are slow because each row checks for stored notes.

Example:10
searchQuerystring

Case-insensitive substring filter matched against the consultation name, the plain text of its clinical note, its externalId, and the linked patient's name or identifier. Surrounding whitespace is ignored; omit or send an empty value for no filter.

Example:Bella

Response

Paginated consultation list with total count for the current user.

countnumber required

Number of matching entries across all pages, where a timeline of linked consultations counts once.

itemsPerPagenumber required

Echo of the requested consultationsPerPage.

totalPagesnumber required

Number of pages, ceil(count / itemsPerPage); 0 when nothing matches.

Example response

{
  "consultations": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "workspaceId": "furunculotic-loud-chihuahua",
      "creatorId": "b8c9d0e1-f2a3-4456-bcde-678901234567",
      "name": "Bella - annual checkup",
      "aiTitle": "Annual vaccination and dental check",
      "createdAt": "2026-09-14T08:30:00.000Z",
      "recordingLanguageCode": "en",
      "recordingDurationInMilliseconds": 754000,
      "uploadedRecordingDurationInMilliseconds": 754000,
      "hasClinicalNote": true,
      "discussionStatus": "missing",
      "clinicalNoteTemplateId": "6a4dd7d0-0fe8-4f73-8e05-8898748da1ce",
      "lastTranscribedRecordingId": "1726302600000-en",
      "lastSubmittedRecordingId": "1726302600000-en",
      "uploadedRecordingDurationInMillisecondsExcludingSilence": 612400,
      "patientId": "c3d4e5f6-a7b8-4c9d-8e0f-1a2b3c4d5e6f",
      "recordingDurationInMillisecondsExcludingSilence": 612400,
      "searchableContent": "Bella, 6-year-old Labrador, presented for annual vaccination. Weight 31 kg. Mild tartar on upper premolars.",
      "externalId": "123456"
    }
  ],
  "count": 42,
  "itemsPerPage": 10,
  "totalPages": 5
}

Changes

No recorded changes to this operation across all 1 revision of this API.