# PayWeave Storage List Files

> PayWeave Storage List Files is a paid API for AI agents from storage.payweave.services, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-13).

Lists all files stored in PayWeave Storage, returning metadata including URLs, sizes, content types, and expiry info, with cursor-based pagination.

## Facts

- Endpoint: GET https://storage.payweave.services/list
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/payweave-storage-list-files-7e25e2a1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_78cp4eiPCMNb-_3vh810t

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability payweave-storage-list-files-7e25e2a1
```

Example prompt: Show me all the files I currently have in my PayWeave Storage — I want to see their URLs, sizes, and when they expire. Start from the beginning and filter for files with a 30-day TTL.

## When to prefer this

Use this endpoint when you need to enumerate or audit all files stored in PayWeave Storage, retrieve their permanent URLs, check expiration dates, or paginate through large file sets. Prefer this over direct file access when you don't know the exact file key or URL in advance.

## Known failure modes

- Invalid or expired cursor returns an error or empty result
- Unknown ttl_days enum value (must be one of 1, 7, 30, 90, 365) causes validation failure
- Payment not received (x402 payment required) returns 402 status
- No files stored returns empty items array with count 0
- Network timeout returns no response

## How this service works

Pay-once file storage with permanent URLs.

## Output

Returns a paginated list of stored file objects, each containing a permanent URL, storage key, byte size, content type, TTL in days, upload timestamp, and expiry timestamp, plus a count, truncation flag, and cursor for fetching the next page.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "anyOf": [
      {
       "not": {}
      },
      {
       "type": "object",
       "properties": {
        "cursor": {
         "type": "string"
        },
        "ttl_days": {
         "enum": [
          1,
          7,
          30,
          90,
          365
         ],
         "type": "number"
        }
       },
       "additionalProperties": false
      }
     ]
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "const": "GET"
    },
    "bodyType": {
     "type": "string",
     "const": "json"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "example"
   ],
   "properties": {
    "example": {
     "type": "object",
     "required": [
      "items",
      "count",
      "truncated",
      "cursor"
     ],
     "properties": {
      "count": {
       "type": "integer",
       "minimum": 0
      },
      "items": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "url",
         "key",
         "bytes",
         "content_type",
         "ttl_days",
         "uploaded_at",
         "expires_at"
        ],
        "properties": {
         "key": {
          "type": "string"
         },
         "url": {
          "type": "string",
          "format": "uri"
         },
         "bytes": {
          "type": "integer",
          "minimum": 0
         },
         "ttl_days": {
          "type": "integer"
         },
         "expires_at": {
          "type": "string"
         },
         "uploaded_at": {
          "type": "string"
         },
         "content_type": {
          "type": "string"
         }
        },
        "additionalProperties": false
       }
      },
      "cursor": {
       "type": [
        "string",
        "null"
       ]
      },
      "truncated": {
       "type": "boolean"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/payweave-storage-list-files-7e25e2a1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from storage.payweave.services](https://www.zero.xyz/host/storage.payweave.services/llms.txt)
