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

> Get all bookings custom attribute definitions.

`square.listBookingCustomAttributeDefinitions` get all bookings custom attribute definitions.

## Example

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

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

    square.listBookingCustomAttributeDefinitions({
      limit: 1,
      cursor: "cursor",
    })
  },
)
```

## Inputs

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

| Field    | Type             | Required | Default | Description                                                                                                                                                                                                                                                                                                                                          |
| -------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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 [ListBookingCustomAttributeDefinitions reference](https://developer.squareup.com/reference/square/booking-custom-attributes-api/list-booking-custom-attribute-definitions) for provider field semantics and limits.

## Output

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