> ## 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 Merchant Custom Attribute Definitions

> Lists the merchant-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.

`square.listMerchantCustomAttributeDefinitions` lists the merchant-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.

## Example

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

export default automation(
  "List Square Merchant Custom Attribute Definitions",
  () => {
    onDashboardRun({
      title: "List Square Merchant Custom Attribute Definitions",
    })

    square.listMerchantCustomAttributeDefinitions({
      visibilityFilter: "ALL",
      limit: 1,
      cursor: "cursor",
    })
  },
)
```

## Inputs

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

| Field              | Type                              | Required | Default | Description                                                                                                                                                                                                                                                                                                                                          |
| ------------------ | --------------------------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `visibilityFilter` | `Square.VisibilityFilter \| null` | No       | —       | Filters the `CustomAttributeDefinition` results by their `visibility` values.                                                                                                                                                                                                                                                                        |
| `limit`            | `number \| null`                  | No       | 20      | The maximum number of results to return in a single paged response. This limit is advisory. The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100. The default value is 20. For more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination). |
| `cursor`           | `string \| null`                  | No       | —       | The cursor returned in the paged response from the previous call to this endpoint. Provide this cursor to retrieve the next page of results for your original request. For more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).                                                      |

Use the official [ListMerchantCustomAttributeDefinitions reference](https://developer.squareup.com/reference/square/merchant-custom-attributes-api/list-merchant-custom-attribute-definitions) for provider field semantics and limits.

## Output

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