---
title: "List Walrus storage uploads"
method: GET
path: "/v4/data/storage/uploads"
tags: ["Storage API"]
---

# List Walrus storage uploads

`GET /v4/data/storage/uploads`

/v4/data/storage/uploads

**0 credits per API call**

List all upload jobs for the current API key, ordered by most recently created. Use `limit` and `offset` to paginate through results.

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

List of upload jobs.

- WalrusStorageJobStatusResponse[]
  - `jobId` string, required — Unique identifier for the upload job.
  - `status` 'PENDING' | 'UPLOADING' | 'CERTIFIED' | 'FAILED', required — Lifecycle status of a Walrus storage upload job.
  - `filename` string, required — Stored file name on Walrus.
  - `mimeType` string — MIME type of the uploaded file.
  - `sizeBytes` integer, required — File size in bytes.
  - `errorMessage` string — Human-readable error message when status is `FAILED`.
  - `blobId` string — Walrus blob ID. Present after the upload is staged.
  - `quiltPatchId` string — Walrus quilt patch ID. Present after on-chain certification.
  - `suiObjectId` string — Sui on-chain Blob object ID. Use SuiScan to inspect storage state.
  - `walrusStartEpoch` integer — Walrus epoch when storage begins.
  - `walrusEndEpoch` integer — Walrus epoch at which storage expires. Renewal window opens one epoch before.
  - `renewalBillingStatus` 'active' | 'pending_initial_charge' | 'pending_renewal_credit' | 'pending_decommission' | 'pending_instant_delete' | 'decommissioned' — Billing and renewal lifecycle of a certified Walrus blob. - `active` — blob is live; renewal credits applied on schedule. - `pending_initial_charge` — certified but first-period credits not yet charged. - `pending_renewal_credit` — on-chain extend succeeded; scanner posts renewal credits. - `pending_decommission` — blob past its end epoch; worker will decommission. - `pending_instant_delete` — immediate on-chain delete queued by user. - `decommissioned` — blob has been removed from Walrus storage.
  - `noRenewal` boolean — When `true`, the worker will never extend this blob. It expires naturally at `walrusEndEpoch`.
  - `storageEvents` WalrusStorageEvent[] — Chronological on-chain history — register → certify → renewals/deletions.
    - `type` 'registered' | 'certified' | 'renewed' | 'deleted', required — Event type.
    - `txDigest` string, required — Sui transaction digest for this event.
    - `at` integer — Approximate Unix timestamp (ms) when the transaction was persisted.
    - `epochs` integer — Walrus epochs purchased in this transaction (present for `registered` and `renewed`).
  - `downloadUrlByQuiltId` string — Walrus aggregator URL to download the file by blob ID and filename. Present only when status is `CERTIFIED` and the blob is not decommissioned.
  - `downloadUrlByQuiltPatchId` string — Walrus aggregator URL to download the file by quilt patch ID. Present only when status is `CERTIFIED` and the blob is not decommissioned.
  - `createdAt` integer, required — Unix timestamp (ms) when the upload job was created.
  - `updatedAt` integer, required — Unix timestamp (ms) when the job was last updated.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403` — Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `500` — Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.net/tatum/apis/blockchain-data.md) · [All operations](https://skmtc.net/tatum/apis/blockchain-data/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tatum/blockchain-data/revisions/8622ee4b8fae/schema)
