---
title: "List Decision Engine Messages"
method: GET
path: "/decision-engine/flow/{flowId}/messages"
---

# List Decision Engine Messages

`GET /decision-engine/flow/{flowId}/messages`

List messages for a flow

## Path parameters

- `flowId` string, required

## Query parameters

- `limit` number, double
- `offset` number, double

## Response `200`

Ok

- union
  - object
    - `hasMore` boolean, required
    - `data` DecisionEngineMessage[], required
      - `id` string, required
      - `name` string, required
      - `channelId` string, required
      - `config` object, required
      - `tags` object
      - `guardrails` DecisionEngineMessageGuardrails — Guardrail fields on a message (max sends, eligibility dates, etc.)
        - `maxSendsPerUser` number, double
        - `maxSendsPerUserWindowDays` number, double
        - `minOtherMessagesInBetween` number, double
        - `firstEligibleSendDate` string
        - `lastEligibleSendDate` string
      - `variables` DecisionEngineVariable[]
        - `name` string, required — The variable name (must be unique within a message)
        - `config` object
          - `localizationEnabled` boolean — When true, the Decision Engine uses each variant's localeValues to select locale-appropriate content at runtime. When false or omitted, only the default variant value is used, even if localeValues are present.
          - `maxSendsPerUserWindowDays` number, double — Rolling window in days for the maxSendsPerUser limit
          - `maxSendsPerUser` number, double — Maximum number of times this variable's variants can be sent to a single user
        - `variants` DecisionEngineVariableVariant[], required
          - `value` string, required — The default (non-localized) value for this variant
          - `tags` object — Key-value tags for categorizing this variant
          - `firstEligibleSendDate` string — Earliest date this variant is eligible to be sent (ISO 8601)
          - `lastEligibleSendDate` string — Latest date this variant is eligible to be sent (ISO 8601)
          - `userAudienceFilter` unknown
          - `localeValues` object — Localized values for this variant, keyed by locale code (e.g. "en-US", "de-DE"). These are only used at runtime when `localizationEnabled` is true on the parent variable. You can stage translations by providing localeValues while leaving localizationEnabled unset or false.
      - `createdAt` string, date-time
      - `updatedAt` string, date-time
  - ValidateErrorJSON
    - `message` 'Validation failed', required
    - `details` object, required
  - 'Internal Server Error'

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found

---

[API](https://skmtc.net/hightouch/apis/hightouch-api.md) · [All operations](https://skmtc.net/hightouch/apis/hightouch-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hightouch/hightouch-api/revisions/24a8012aa8c8/schema)
