---
title: "List imported code and datasets"
method: GET
path: "/v1/assets"
tags: ["Assets"]
---

# List imported code and datasets

`GET /v1/assets`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/v1/assets`
- Auth: HTTP bearer

Returns the latest 500 nondeleted assets, newest first. Generated workspace_source aliases expose current removability and shared-source references. workspace_source_storage reports their separate included account pool. Ordinary import limits and quota do not include these generated copies. Deleting an alias releases source storage only after the final reference is removed and exact cleanup is confirmed. Limits describe this deployment and may change.

## Response `200`

Asset list and storage limits

- AssetList
  - `assets` Asset[], required
    - `id` string
    - `kind` string: Includes workspace_source for a generated workspace project revision. These copies use their separate included source pool.
    - `name` string
    - `state` string: Current asset state: importing, ready, failed, deleting or deleted.
    - `revision` string
    - `sha256` string
    - `stored_bytes` integer
    - `imported_bytes` integer
    - `created_at` string, date-time
    - `ready_at` string, date-time, nullable
    - `deleted_at` string, date-time, nullable
    - `export` ConnectionExport
      - `id` string
      - `connection_id` string
      - `asset_id` string
      - `query_hash` string
      - `branch` string
      - `format` 'parquet' | 'csv'
      - `row_count` integer
      - `bytes` integer
      - `created_at` string, date-time
      - `state` 'pending' | 'running' | 'cleanup' | 'ready': Durable export state. Failed exports release this record after object cleanup.
    - `error` string: Value-free terminal query export error. Failed assets remain observable after cleanup, with zero stored bytes once their reservation is released.
    - `workspace_source` WorkspaceSourceAlias
      - `source_id` string, required
      - `workspace_id` string, required
      - `source_revision` string, required
      - `exporter_version` string, required
      - `state` string, required
      - `removable` boolean, required: Whether this alias can currently be removed. Active workloads protect their source.
      - `shared_alias_count` integer, required: References sharing this physical source copy. Deleting one alias need not release bytes.
  - `max_import_bytes` integer, required: Maximum source bytes for one import or upload.
  - `storage_quota_bytes` integer, required
  - `staged_bytes` integer, required
  - `stored_bytes` integer, required: Ordinary asset bytes, excluding generated workspace source copies.
  - `billing_enabled` false, required
  - `workspace_source_storage` WorkspaceSourceStorage: Included account storage for generated workload source copies. This pool is separate from billed saved-workspace storage and ordinary asset import limits. Identical captured revisions reuse a physical copy. Reserved bytes can remain until pending writes or deletion are settled.
    - `included_bytes` integer, required: Included source retention limit. Currently 21,073,741,824 bytes, sufficient for two maximum workspace archives including bounded metadata.
    - `retained_bytes` integer, required
    - `reserved_bytes` integer, required
    - `available_bytes` integer, required
    - `billing_enabled` false, required
    - `cleanup_pending_bytes` integer: Bytes awaiting confirmed cleanup of uncertain source writes. Already included in reserved_bytes, not additional quota usage. A local observation timeout does not release them.
  - `upload_idempotency` boolean: True when uploads support persistent request keys bound to exact content hashes. Clients requiring durable upload receipts must check this capability before sending bytes.

## Other responses

- `500`: Asset listing or storage usage unavailable
- `default`: Error. The JSON error and message fields are stable. Additional fields may provide details. Authentication, rate limits, and transient failures apply to all operations.

---

[API](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api.md) - [All operations](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/revisions/a59210899d95?raw)
