---
title: "Get Volume Connections"
method: GET
path: "/volume_connections"
tags: ["Volume Connections"]
---

# Get Volume Connections

`GET /volume_connections`

## Request

- Base URL: `https://am1.portal.api.nasuni.com`
- URL: `https://am1.portal.api.nasuni.com/volume_connections`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nasuni/apis/portal-api/docs/volume_connections/get.ts> (a function with typed inputs; its response is checked against the schema)

Flat volume-appliance connection list from Portal DB.

One ``(volume, appliance)`` row per mount. Supports ``search``,
multi-value filters, and ``sort_by`` + ``sort_order``. Unpaginated —
caller does client-side search/sort/paging.

## Query parameters

- `cloud_providers` NocCloudProvider[], nullable
- `protocols` Protocol[], nullable
- `roles` PortalApiDtoVolumesRole[], nullable
- `security_modes` SecurityMode[], nullable
- `permission_policies` PermissionPolicy[], nullable
- `connection_permissions` ConnectionPermission[], nullable
- `cloud_regions` string[], nullable
- `appliance_names` string[], nullable
- `volume_names` string[], nullable
- `sort_by` 'volume_name' | 'cloud_provider' | 'cloud_region' | 'accessible_data' | 'unprotected_data' | 'last_snapshot_utc' | 'appliance_name': Allowlist for volume-centric sort keys. Invalid values → 422. All sorts produce a volume-cohesive ordering (mounts of the same volume stay grouped). Per-mount keys are rolled up so they make sense as a single value per volume: ``last_snapshot_utc`` → MAX across mounts; ``appliance_name`` → master mount edge name.
- `sort_order` 'asc' | 'desc': Short-form sort direction used by list APIs (asc/desc).
- `search` string, nullable
- `volume_id` string, nullable

## Response `200`

Flat volume-appliance connection list from Portal DB with search, filters, and sort.

- VolumeConnectionsResponseDto: GET /volume_connections response — all matching mounts (no pagination).
  - `items` VolumeConnectionItemDto[]
    - `cloud_provider` 'amazons3' | 'amazons3gov' | 'azure' | 'google' | 'googles3' | 'atmos' | 'ironmountain' | 'rackspace' | 'nirvanix' | 'synaptic' | 'castor' | 'delldx' | 'cloudone' | 'hp' | 'cleversafe' | 'vipr' | 'ibmcos' | 'hcp' | 's3_compatible': Cloud provider identity as used by NOC (shortname).
    - `cloud_region` string, nullable
    - `protocol` Protocol[]
    - `accessible_data` integer, nullable
    - `unprotected_data` integer, nullable
    - `volume_id` string, required
    - `volume_name` string, required
    - `status` string, nullable
    - `permission_policy` 'POSIX Mixed Mode' | 'UNIX/NFS Permissions Only Mode' | 'Unauthenticated Access Mode' | 'NTFS Compatible Mode' | 'NTFS Exclusive Mode' | 'NTFS Multiprotocol Mode'
    - `security_mode` 'Publicly Available' | 'Active Directory' | 'LDAP Directory'
    - `appliance_id` string, required
    - `appliance_name` string, required
    - `last_snapshot_utc` string, date-time, nullable
    - `current_snapshot_status` 'idle' | 'pending' | 'in_progress' | 'succeeded' | 'failed' | 'cancelling' | 'cancelled' | 'cancel_rejected' | 'up_to_date': Public snapshot lifecycle vocabulary surfaced by the snapshot APIs. The persisted column (``VolumeEdgeState.current_snapshot_status``) has a single writer: the EventHub ``VolumeSnapshotStatusProcessor``, which translates filer ``volume_snapshot_status`` events. No other code path — API request handlers, heartbeat upserts, background services — writes to that column. ``cancelling`` never reaches the DB: it exists as a FE-optimistic wire value only (clients render it between the cancel dispatch and the filer's ``cancelled`` / ``cancel_rejected`` ack). ``pending`` is a real filer-reported state.
    - `connection_permission` 'READONLY' | 'READWRITE' | 'Custom'
    - `role` 'owner' | 'connected', required
    - `appliance_hostname` string, nullable
    - `is_readonly` boolean, nullable
    - `share_count` integer, nullable
    - `export_count` integer, nullable
    - `ftp_dir_count` integer, nullable
    - `snapshot_start` integer, nullable
    - `snapshot_stop` integer, nullable
    - `snapshot_days` string[]
    - `snapshot_frequency` integer, nullable
    - `sync_schedule` object, nullable
    - `pinned_folders_count` integer, nullable
    - `autofault_folders_count` integer, nullable

## Other responses

- `401`: Not authenticated
- `403`: Insufficient permissions
- `422`: Invalid input data
- `500`: Internal server error

---

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