---
# @generated by sylphx-gen 0.1.0 from contracts@e145cc7cf1bc9605f2b27439e5e17ed76a1a2fd7e7021906a013f7565e4a0cd5. Do not edit.
title: "List assets"
description: "`assets.assets.list` (GET /v1/{parent}/assets): Lists assets."
type: reference
product: assets
summary: "Lists assets."
updated: 2026-09-28
nav: false
---

> **This method is not served on the public API.** `api.sylphx.com` does not route this call: its backend is not deployed behind the public API, or does not implement the call. This page documents the contract. It is kept out of the sidebar and of search engines.

Lists assets. The filter is limited to `kind`, `state`, and `review_state`.

**Not available yet.** Sylphx Generated Assets is declared in the registry but no backend serves it: every call answers `501` with the problem code `UNIMPLEMENTED`.

- **Path** `GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/assets`
- **Scope** `assets:read`
- **Effect** `read` — nothing is written.
- **Collection** [assets](/docs/api/assets)
- **Query** `page_size`, `page_token`, `filter`
- **Pagination** the answer carries `assets` and, when there is more, `next_page_token`

## Request

| Field | Type | What it is |
| --- | --- | --- |
| `parent` | `string` | The parent to list in. Required. |
| `page_size` | `int32` | At most this many; default 50, clamped to 1000. |
| `page_token` | `string` | `next_page_token` of the previous page. |
| `filter` | `string` | AIP-160 filter, limited to `kind`, `state`, and `review_state`; for example `kind = ASSET_KIND_IMAGE AND state = ASSET_STATE_READY`. |

## Response

| Field | Type | What it is |
| --- | --- | --- |
| `assets` | `Asset[]` | The page. |
| `next_page_token` | `string` | The token of the next page; empty on the last page. |

### Asset

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | `orgs/{org}/projects/{project}/envs/{env}/assets/{asset}`, where `{asset}` is the 16-hex logical key. |
| `uid` | `string` | `ast_<cell><ulid>`; never reused. Output only. |
| `meta` | `ResourceMeta` | Resource metadata. |
| `key` | `string` | The logical key: 16 lowercase hex characters computed from the recipe. Output only. |
| `kind` | `AssetKind` | What kind of asset this is. Output only. One of `image`, `sfx`, `music`, `video`, `character`, `voice`. |
| `recipe` | `AssetRecipe` | The recipe the asset was declared with. Output only. |
| `canonical` | `string` | The exact text the key is the hash of. Output only. |
| `variants_wanted` | `int32` | How many variants the recipe asks for. Output only. |
| `state` | `AssetState` | Where the asset is in its life. Output only. One of `pending`, `ready`, `approved`, `failed`, `refused`, `unsupported`. |
| `conditions` | `Condition[]` | Ready, Reconciling, Stalled. Output only. |
| `seed` | `string` | The seed of the asset, a decimal integer as a string. Output only. |
| `variants` | `Variant[]` | The stored variants, ordered by slot. Output only. |
| `create_time` | `timestamp` | When the asset was first generated. Output only. |
| `update_time` | `timestamp` | When the asset last changed. Output only. |

### ResourceMeta

| Field | Type | What it is |
| --- | --- | --- |
| `generation` | `int64` | Increases by one on every change to `spec`. Output only. |
| `etag` | `string` | Strong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as `If-Match` or `etag` to make Update and Delete conditional; a mismatch fails with ABORTED / 409 `ETAG_MISMATCH`. Output only. |
| `create_time` | `timestamp` | When the Resource was created. Output only. |
| `update_time` | `timestamp` | When the Resource last changed. Output only. |
| `delete_time` | `timestamp` | Set while the Resource is being deleted. Output only. |
| `labels` | `map<string, string>` | Caller-writable, indexed labels (AIP-122 label rules). |
| `annotations` | `map<string, string>` | Caller-writable, unindexed annotations. |
| `display_name` | `string` | Caller-writable human-readable name. |
| `creator` | `string` | The principal that created the Resource. Output only. |

### AssetRecipe

| Field | Type | What it is |
| --- | --- | --- |
| `kind` | `AssetKind` | What kind of asset to make. Required. One of `image`, `sfx`, `music`, `video`, `character`, `voice`. |
| `prompt` | `string` | What to make, at most 8000 bytes. Empty only for `ASSET_KIND_CHARACTER`. Required. |
| `locale` | `string` | The locale of the asset, a BCP 47 tag; empty for images. |
| `character_id` | `string` | The character this asset shows; only for `ASSET_KIND_CHARACTER`, encoded in the canonical text as `id=`. |
| `params` | `map<string, string>` | Kind-specific parameters in canonical text form, such as `"2"`, `"1024x768"`, `"true"` or a 16-hex key. At most 16 pairs; keys are `[a-z_]` up to 32 characters, values up to 256 characters. |
| `key` | `string` | The key the caller computed, 16 lowercase hex characters. When it differs from the server's, the call is refused with `INVALID_FIELD` and the problem carries the server's canonical text, which catches encoder drift. |

### Condition

| Field | Type | What it is |
| --- | --- | --- |
| `type` | `string` | The condition type, for example `Ready`. |
| `status` | `ConditionStatus` | Whether the condition holds. One of `true`, `false`, `unknown`. |
| `observed_generation` | `int64` | The generation this observation was made against. |
| `reason` | `string` | A machine-readable UpperCamelCase reason. |
| `message` | `string` | A customer-safe human-readable message. |
| `severity` | `Severity` | How severe a FALSE condition is. One of `info`, `warning`, `error`. |
| `transition_time` | `timestamp` | When `status` last changed. |

### Variant

| Field | Type | What it is |
| --- | --- | --- |
| `slot` | `int32` | The slot the variant fills, from 0. Output only. |
| `content_hash` | `string` | The SHA-256 of the file's bytes, 64 lowercase hex characters. Output only. |
| `url` | `string` | The immutable public URL: the project's base URL, then the content hash and extension. Output only. |
| `media_type` | `string` | The file's media type, such as `image/png`. Output only. |
| `ext` | `string` | The file's extension without the dot, such as `png`. Output only. |
| `width` | `int32` | Width in pixels. Output only. |
| `height` | `int32` | Height in pixels. Output only. |
| `bytes` | `int64` | The file's size in bytes. Output only. |
| `model` | `string` | The model that made this variant. Output only. |
| `seed` | `string` | The seed this variant was made with, a decimal integer as a string. Output only. |
| `review_state` | `ReviewState` | The human review of the variant. Output only. One of `unreviewed`, `approved`, `rejected`, `retired`. |
| `qa_state` | `QaState` | The result of QA on the file. Output only. One of `passed`, `warning`, `failed`. |
| `findings` | `QaFinding[]` | What QA found. Output only. |
| `content_credentials` | `bool` | Whether the file carries content credentials. Output only. |
| `approved_by` | `string` | The principal that approved the variant; empty until it is approved. Output only. |
| `create_time` | `timestamp` | When the variant was stored. Output only. |

### QaFinding

| Field | Type | What it is |
| --- | --- | --- |
| `check` | `QaCheck` | The check that found it. Output only. One of `format`, `size`, `content_credentials`, `moderation`. |
| `severity` | `QaSeverity` | How serious it is. Output only. One of `error`, `warning`. |
| `message` | `string` | What is wrong. Output only. |

## Errors

- [`UNAUTHENTICATED`](/docs/api/errors/UNAUTHENTICATED) — No valid key or token was presented.
- [`PERMISSION_DENIED`](/docs/api/errors/PERMISSION_DENIED) — The key lacks the method's permission.
- [`INVALID_FIELD`](/docs/api/errors/INVALID_FIELD) — A field failed validation.
- [`PAGE_TOKEN_MISMATCH`](/docs/api/errors/PAGE_TOKEN_MISMATCH) — A page token was reused with different parameters.

Every error arrives in the body [Errors](/docs/platform/errors) describes.

## Examples

**cURL**

```curl
curl "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/assets" \
  -H "Authorization: Bearer $SYLPHX_API_KEY"
```

**TypeScript**

```ts
const response = await sylphx.assets.assets.list({ parent: 'orgs/acme/projects/shop/envs/production' })
```

**Rust**

```rust
let mut req = sylphx::assets::ListAssetsRequest::default();
req.parent = "orgs/acme/projects/shop/envs/production".to_string();
let response = sx.assets().assets().list(req).await?;
```

**CLI**

```bash
sylphx assets assets list orgs/acme/projects/shop/envs/production
```

**MCP**

```json
{ "method_id": "assets.assets.list", "args": {"parent":"orgs/acme/projects/shop/envs/production"} }
```
