---
title: "List a project’s shared volumes (optionally with the organization’s org-shared volumes)"
method: GET
path: "/v1/projects/{project_id}/volumes"
tags: ["Volumes"]
---

# List a project’s shared volumes (optionally with the organization’s org-shared volumes)

`GET /v1/projects/{project_id}/volumes`

## Request

- Base URL: `https://api.shardflux.dev`
- URL: `https://api.shardflux.dev/v1/projects/{project_id}/volumes`
- Auth: HTTP bearer

## Path parameters

- `project_id` string, uuid, required

## Query parameters

- `limit` integer
- `cursor` string
- `include_org_shared` boolean
- `include_deleted` boolean

## Response `200`

Default Response

- object
  - `data` Volume[], required
    - `id` string, uuid, required: UUIDv7, lowercase canonical form.
    - `organization_id` string, uuid, required: UUIDv7, lowercase canonical form.
    - `project_id` string, uuid, required: UUIDv7, lowercase canonical form.
    - `name` string, required
    - `kind` 'shared' | 'project_space': shared: customer storage; project_space: platform-managed conversation storage.
    - `quota_gib` integer, required: Requested size limit (GiB). Enforcement of the quota on the file system is the cell’s; `usage.quota_exceeded` reports it.
    - `org_shared` boolean, required: Attachable to workspaces of every project of the organization (otherwise only its own project).
    - `backup_policy` 'filesystem', required: filesystem: covered by the environment file system’s daily AWS Backup plan; a restore creates a new volume.
    - `state` 'creating' | 'available' | 'deleting' | 'deleted' | 'failed', required: creating -> available -> deleting -> deleted; failed (see `error`). Executed by the cell.
    - `state_reason` string, nullable, required
    - `error` object, nullable, required: Closed snake_case code and a safe message reported by the cell.
      - `code` string, required
      - `message` string
    - `usage` object, required: Storage is metered as volume_storage_gib_seconds from these measurements.
      - `used_bytes` integer, nullable, required: Last measured stored bytes (null until the cell first measures).
      - `measured_at` string, date-time, nullable, required: RFC 3339 UTC timestamp with Z.
      - `quota_bytes` integer, required
      - `quota_exceeded` boolean, nullable, required: Whether used_bytes is over quota_bytes; null until the first measurement. Volumes the platform manages (the project space and the setup cache) are sized by the platform and report false.
    - `live_attachments` integer, required: Attachments in attaching|attached|detaching.
    - `active_operation` Operation, required
      - `id` string, uuid, required: UUIDv7, lowercase canonical form.
      - `kind` 'open' | 'suspend' | 'resume' | 'fork' | 'snapshot' | 'restore' | 'delete' | 'move' | 'resize' | 'upgrade' | 'volume_create' | 'volume_attach' | 'volume_detach' | 'volume_delete' | 'reset' | 'layer_snapshot', required
      - `state` 'queued' | 'capacity_pending' | 'running' | 'succeeded' | 'failed' | 'canceled', required
      - `workspace_id` string, uuid, nullable, required: UUIDv7, lowercase canonical form.
      - `volume_id` string, uuid, nullable: UUIDv7, lowercase canonical form.
      - `created_at` string, date-time, required: RFC 3339 UTC timestamp with Z.
      - `updated_at` string, date-time, required: RFC 3339 UTC timestamp with Z.
      - `started_at` string, date-time, nullable: RFC 3339 UTC timestamp with Z.
      - `completed_at` string, date-time, nullable: RFC 3339 UTC timestamp with Z.
      - `state_reason` string, nullable: Closed reason code while waiting (e.g. capacity_pending: no_ready_host).
      - `input` object
      - `error` object
      - `result` object
        - `durable` boolean: suspend and fork: whether the capture is in durable storage. false while `durability.state` is pending (the suspend completed on its host) or lost; true once it committed. Absent on other kinds.
        - `suspend_path` string: suspend: `local_commit` when the suspend completed on its host and the durable copy followed in the background.
        - `durability` object
          - `state` 'pending' | 'durable' | 'lost', required: pending: sealed on its host, the durable copy is being written; durable: the copy committed; lost: the copy could not be made and the previous recovery point stays current.
          - `checkpoint_id` string: The checkpoint being made durable.
          - `generation_id` string: Its generation on the host.
          - `local_commit_at` string: RFC 3339: when the suspend (or fork) completed on its host.
          - `durable_by` string: RFC 3339: when the durable copy is expected to have committed (local_commit_at + the deadline).
          - `durable_at` string: RFC 3339 (state durable): when the durable copy committed.
          - `local_commit_to_durable_ms` number: State durable: local_commit_at to durable_at, in milliseconds.
          - `overdue_at` string: RFC 3339: set once durable_by passed while the copy was still pending; it keeps retrying.
          - `reason` string: State lost: why, e.g. host_lost.
          - `code` string: State lost: the error code of the failed copy.
          - `recovery_point_checkpoint_id` string, nullable: State lost: the durable checkpoint that stays the recovery point (null when there is none).
        - `lost_suspend` object
          - `checkpoint_id` string, required: The suspend checkpoint whose durable copy was lost.
          - `generation_id` string: Its generation on the host.
          - `reason` string: Why it was lost, e.g. host_lost.
          - `suspended_at` string: RFC 3339: when that suspend captured the workspace.
          - `restored_checkpoint_id` string: The earlier durable checkpoint this resume restored.
          - `state_as_of` string: RFC 3339: when the restored checkpoint committed; the workspace state is as of then.
        - `host_lost` object
          - `detected_at` string, required: RFC 3339: when the host failure was detected; the workspace was suspended then.
          - `restored_from` 'disk' | 'checkpoint': resume and open: disk when the workspace booted from its disk (files kept, processes and memory not); checkpoint when it was restored from its newest checkpoint (see state_as_of). Absent on a suspend.
          - `restored_checkpoint_id` string: restored_from checkpoint: the checkpoint this resume restored.
          - `state_as_of` string: restored_from checkpoint, RFC 3339: when that checkpoint committed; the workspace state is as of then.
      - `progress` SuspendProgress
        - `operation_id` string, uuid, required: UUIDv7, lowercase canonical form.
        - `state` 'queued' | 'capacity_pending' | 'running' | 'succeeded' | 'failed' | 'canceled', required
        - `workspace_state` 'creating' | 'starting' | 'running' | 'suspending' | 'suspended' | 'resuming' | 'forking' | 'stopping' | 'failed' | 'deleting' | 'deleted', required
        - `phase` string, required: Actual snapshot preparation/capture phase, or an explicitly unavailable control status.
        - `cancelable` boolean, required: True only while the host can acknowledge cancellation before its capture cut.
        - `supported` boolean, required
        - `safe_action` 'wait_for_terminal' | 'resume' | 'retry_tools' | 'inspect_failure', required
        - `phase_started_at` string, date-time: RFC 3339 UTC timestamp with Z.
        - `deadline_at` string, date-time: RFC 3339 UTC timestamp with Z.
        - `accepted` boolean
    - `created_by` object, required
      - `type` 'user' | 'api_key', required
      - `id` string, uuid, required: UUIDv7, lowercase canonical form.
    - `created_at` string, date-time, required: RFC 3339 UTC timestamp with Z.
    - `updated_at` string, date-time, required: RFC 3339 UTC timestamp with Z.
    - `delete_requested_at` string, date-time, nullable, required: RFC 3339 UTC timestamp with Z.
    - `deleted_at` string, date-time, nullable, required: RFC 3339 UTC timestamp with Z.
  - `next_cursor` string, nullable, required

## Other responses

- `4XX`: Default Response
- `5XX`: Default Response

---

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