> ## 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 Loyalty Promotions

> Lists the loyalty promotions associated with a [loyalty program](entity:LoyaltyProgram).

`square.listLoyaltyPromotions` lists the loyalty promotions associated with a [loyalty program](entity:LoyaltyProgram).

## Example

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

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

  square.listLoyaltyPromotions({
    programId: "program_id",
    status: "ACTIVE",
    cursor: "cursor",
    limit: 1,
  })
})
```

## Inputs

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

| Field       | Type                                    | Required | Default | Description                                                                                                                                                                                                                                                                                     |
| ----------- | --------------------------------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `programId` | `string`                                | Yes      | —       | The ID of the base loyalty program. To get the program ID, call RetrieveLoyaltyProgram using the `main` keyword.                                                                                                                                                                                |
| `status`    | `Square.LoyaltyPromotionStatus \| null` | No       | —       | The status to filter the results by. If a status is provided, only loyalty promotions with the specified status are returned. Otherwise, all loyalty promotions associated with the loyalty program are returned.                                                                               |
| `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). |
| `limit`     | `number \| null`                        | No       | 30      | The maximum number of results to return in a single paged response. The minimum value is 1 and the maximum value is 30. The default value is 30. For more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).                       |

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

## Output

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