---
title: "List workspaces"
method: GET
path: "/workspaces"
tags: ["workspaces"]
---

# List workspaces

`GET /workspaces`

## Request

- Base URL: `https://vetnio.com/api/v2`
- URL: `https://vetnio.com/api/v2/workspaces`
- Auth: HTTP bearer

Returns every workspace (veterinary clinic) the authenticated user is a direct member of, with their role in each. Use it to find the `workspaceId` for workspace-scoped endpoints and to decide which of them the user may call. The list is not paginated and not sorted; sort client-side if needed. Organization admins can also open their organization's clinics without being members, but those clinics are not listed here. Accepts a session or a personal API key; organization and workspace keys get 403.

## Response `200`

The workspaces the caller belongs to. An empty array means the user has not joined or created a workspace yet.

- WorkspaceList: The veterinary clinic workspaces the authenticated user is a member of, with the user's role in each.
  - `workspaces` WorkspaceListItemOutput[], required: Workspaces where the user is a direct member, in no guaranteed order. Clinics the user can only reach as an organization admin, locked clinics, clinics being deleted or merged, and clinics blocked by an IP allowlist for the caller's address are not included.
    - `id` string, required: Identifier of the workspace (veterinary clinic), generated by Vetnio as three lowercase words joined by hyphens. Pass it as the `workspaceId` path parameter of every workspace-scoped endpoint.
    - `name` string, required: Display name of the clinic, as set by its admins. An empty string if no name was ever set.
    - `role` 'member' | 'admin' | 'superadmin', required: The authenticated user's own membership role in this workspace. Roles are cumulative and decide which endpoints the user may call: - `member` — clinician access: consultations, recordings, notes, patients and VetsGPT. - `admin` — everything a member can do, plus member management, billing, workspace settings and the workspace data-export endpoints. - `superadmin` — everything an admin can do, plus deleting the workspace and changing other superadmins' roles. The creator of a workspace starts as its superadmin, and a workspace always keeps at least one.
    - `phoneCallIntegrationEnabled` boolean: Whether the clinic receives phone calls into Vetnio through a telephony integration. Use it to show phone-call features only for clinics that have them. Always present in practice.
    - `revenueRecoveryEnabled` boolean: Whether revenue recovery (suggestions for billable items missed in a consultation) is enabled for the clinic. Use it to show those features only where they are switched on. Always present in practice.

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