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

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# List Catalog

> Returns a list of all [CatalogObject](entity:CatalogObject)s of the specified types in the catalog.

`square.listCatalog` returns a list of all [CatalogObject](entity:CatalogObject)s of the specified types in the catalog.

## Example

```ts automations/square-list-catalog.automation.ts theme={null}
import { automation, onDashboardRun } from "automate.ax"
import { square } from "automate.ax/square"

export default automation("List Square Catalog", () => {
  onDashboardRun({ title: "List Square Catalog" })

  square.listCatalog({
    cursor: "cursor",
    types: "types",
    catalogVersion: BigInt("1000000"),
  })
})
```

## Inputs

Every input accepts a compatible signal. It requires `ITEMS_READ`.

| Field            | Type             | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ---------------- | ---------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cursor`         | `string \| null` | No       | —       | The pagination cursor returned in the previous response. Leave unset for an initial request. The page size is currently set to be 100. See [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination) for more information.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `types`          | `string \| null` | No       | —       | An optional case-insensitive, comma-separated list of object types to retrieve. The valid values are defined in the CatalogObjectType enum, for example, `ITEM`, `ITEM_VARIATION`, `CATEGORY`, `DISCOUNT`, `TAX`, `MODIFIER`, `MODIFIER_LIST`, `IMAGE`, etc. If this is unspecified, the operation returns objects of all the top level types at the version of the Square API used to make the request. Object types that are nested onto other object types are not included in the defaults. At the current API version the default object types are: ITEM, CATEGORY, TAX, DISCOUNT, MODIFIER\_LIST, PRICING\_RULE, PRODUCT\_SET, TIME\_PERIOD, MEASUREMENT\_UNIT, SUBSCRIPTION\_PLAN, ITEM\_OPTION, CUSTOM\_ATTRIBUTE\_DEFINITION, QUICK\_AMOUNT\_SETTINGS. |
| `catalogVersion` | `bigint \| null` | No       | —       | The specific version of the catalog objects to be included in the response. This allows you to retrieve historical versions of objects. The specified version value is matched against the CatalogObjects' `version` attribute. If not included, results will be from the current version of the catalog.                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

Use the official [ListCatalog reference](https://developer.squareup.com/reference/square/catalog-api/list-catalog) for provider field semantics and limits.

## Output

Returns the official `Square.ListCatalogResponse` response as a codec-safe object. Square integer money amounts remain `bigint` values.
