List a resource collection
list_resourceList records of any resource type (e.g., datasource, block, query) to discover UUIDs and metadata before authoring. Supports pagination, field projection, and query parameters.
Instructions
List records of a resource (block, datasource, layout, query, theme, partial, user, group, db_modification, etc.). Use this for discovery — e.g. find a datasource UUID before authoring a block. Always returns the paged envelope { total, offset, limit, returned, truncated, records } (default page size 100, max 500) — check truncated and walk offset for the rest. Optional query adds URL query params. First pages (offset 0) fetch SERVER-SIDE when the portal honors ?limit — total is then null while truncated=true (walk until truncated=false; the portal didn't send a count). Pages are also BYTE-capped (PORTAL_LIST_BYTE_CAP, default 60k chars): an oversized page auto-projects to { id, name } and says so in note — prefer only_names/fields for discovery and get_resource (summary/fields) for detail.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (default 100, max 500; paginates client-side). | |
| query | No | Optional query-string params passed to the portal, e.g. { only_names: true }. | |
| fields | No | Project each record to these top-level fields (+ id) — e.g. ['name','updated_at'] to grab concurrency tokens cheaply. Takes precedence over only_names. | |
| offset | No | Records to skip (pagination). | |
| resource | Yes | Resource type. Call describe_resource for fields and supported verbs. | |
| only_names | No | Project each record to just { id, name } — cheap discovery, works regardless of portal support. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| limit | Yes | ||
| total | Yes | null = unknown (server-side page; the portal sent no count) | |
| offset | Yes | ||
| records | Yes | ||
| resource | Yes | ||
| returned | Yes | ||
| truncated | Yes | ||
| auto_projected | No |