# List Caller-Owned Hosted Sites (host.withzero.ai)

> List Caller-Owned Hosted Sites (host.withzero.ai) is a paid API for AI agents from host.withzero.ai, paid per call via MPP, metered — billed by usage, status unknown (last checked 2026-10-01).

Returns a list of all static site slugs uploaded and owned by the authenticated caller wallet on host.withzero.ai.

## Facts

- Endpoint: GET https://host.withzero.ai/sites?utm_source=zero.xyz
- Price: metered — billed by usage
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-01
- Activations on Zero: 0
- Provider: host.withzero.ai
- Website: https://host.withzero.ai
- Canonical page: https://www.zero.xyz/c/host-withzero-ai-list-caller-owned-hosted-sites-host-withzero-ai-20b16e01
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fP_rYxrSXqaFuqoRat_Fi

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 host-withzero-ai-list-caller-owned-hosted-sites-host-withzero-ai-20b16e01
```

Example prompt: Show me all the static websites I currently have hosted under my wallet on host.withzero.ai — I want to see every slug I own.

## When to prefer this

Use this endpoint when an authenticated caller needs to enumerate all static sites they own on host.withzero.ai, such as before updating, replacing, or deleting a site, or to audit their hosting inventory. Prefer this over manual slug guessing or external tracking since it authoritatively reads from R2 customMetadata filtered by the caller's wallet identity.

## Known failure modes

- Unauthenticated request returns 401 — caller wallet not identified
- Empty list returned if caller owns no slugs yet
- Slow response if caller has a very large number of slugs (O(N) R2 full scan)
- Service unavailable if R2 backend is down (503)
- Malformed wallet auth token returns 400 or 403

## How this service works

List slugs owned by the caller. R2 list-scan filtered by owner customMetadata (O(N) — fine for the per-wallet upload volumes we expect, but not designed for unbounded scaling).

## Output

A JSON object containing an array of slug identifiers and associated metadata for all static sites owned by the authenticated caller wallet, filtered from R2 storage by owner customMetadata. Includes site URLs and any relevant ownership details.

## Response schema (JSON Schema)

```json
{
 "type": "object"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/host-withzero-ai-list-caller-owned-hosted-sites-host-withzero-ai-20b16e01/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from host.withzero.ai](https://www.zero.xyz/host/host.withzero.ai/llms.txt)
