> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Assets

> Retrieve all data assets (tables, views) you have access to

<div aria-hidden="true" style={{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap"}}>For LLM agents: documentation index at <a href="/llms.txt" tabIndex={-1}>/llms.txt</a>, full text at <a href="/llms-full.txt" tabIndex={-1}>/llms-full.txt</a>. Append .md to any page URL for plain markdown.</div>

Get a list of all discovered assets across your data sources. Use this to build integrations, sync with data catalogs, or audit your inventory.

## When to Use

* **Data catalog sync**: Export assets to external tools
* **Automation**: Build workflows that operate on your asset inventory
* **Auditing**: Generate reports of all monitored tables

## SDK & CLI Examples

<CodeGroup>
  ```python Python SDK theme={null}
  from anomalyarmor import Client

  client = Client(api_key="aa_live_xxx")

  # List all assets
  assets = client.assets.list()

  # Filter by data source
  assets = client.assets.list(source="snowflake")

  # Filter by type
  assets = client.assets.list(asset_type="table")

  # Paginate through results
  assets = client.assets.list(limit=100, offset=0)

  for asset in assets:
      print(f"{asset.qualified_name} ({asset.asset_type})")
  ```

  ```bash CLI theme={null}
  # List all assets
  anomalyarmor assets list

  # Filter by source
  anomalyarmor assets list --source snowflake

  # Limit results
  anomalyarmor assets list --limit 10

  # Output as JSON
  anomalyarmor assets list --format json
  ```
</CodeGroup>

## Parameters

| Parameter    | Type    | Description                                     |
| ------------ | ------- | ----------------------------------------------- |
| `source`     | string  | Filter by data source name                      |
| `asset_type` | string  | Filter by type: `table`, `view`                 |
| `schema`     | string  | Filter by schema name                           |
| `limit`      | integer | Max results to return (default: 100, max: 1000) |
| `offset`     | integer | Skip first N results for pagination             |

## Response

```json theme={null}
{
  "assets": [
    {
      "id": "ast_abc123",
      "qualified_name": "snowflake.prod.public.orders",
      "asset_type": "table",
      "source": "snowflake.prod",
      "schema": "public",
      "name": "orders",
      "columns": 12,
      "freshness_status": "fresh",
      "last_updated": "2024-01-15T08:30:00Z",
      "tags": ["production", "pii:email"]
    }
  ],
  "total": 150,
  "limit": 100,
  "offset": 0
}
```

## Response Fields

| Field              | Description                            |
| ------------------ | -------------------------------------- |
| `id`               | Unique asset identifier                |
| `qualified_name`   | Full path: `source.schema.table`       |
| `asset_type`       | `table` or `view`                      |
| `source`           | Data source this asset belongs to      |
| `schema`           | Database schema name                   |
| `name`             | Table/view name                        |
| `columns`          | Number of columns                      |
| `freshness_status` | `fresh`, `stale`, or `unknown`         |
| `last_updated`     | Last data update timestamp             |
| `tags`             | Applied classification and custom tags |

## Error Responses

| Status | Meaning                               |
| ------ | ------------------------------------- |
| `401`  | Invalid or missing API key            |
| `403`  | API key doesn't have read permissions |
| `429`  | Rate limit exceeded                   |
