---
title: "List a contact's in-app messages"
method: GET
path: "/in-app/messages"
tags: ["In-app"]
---

# List a contact's in-app messages

`GET /in-app/messages`

## Request

- Base URL: `https://api.sequenzy.com/api/v1`
- URL: `https://api.sequenzy.com/api/v1/in-app/messages`
- Auth: HTTP bearer

Lists a contact's in-app messages and content cards, created by in_app sequence steps. With status open (default) it returns what the app should show now: messages not yet displayed, clicked or dismissed, and cards not dismissed, excluding expired items, messages first, then pinned cards, then newest. With status all it returns history, newest first. Identify the contact with email, externalId or subscriberId. Requires the subscribers:read scope.

## Query parameters

- `email` string
- `externalId` string
- `subscriberId` string
- `kind` 'message' | 'card'
- `status` 'open' | 'all'
- `limit` integer

## Response `200`

The contact's items

- object
  - `success` boolean
  - `subscriberId` string
  - `status` 'open' | 'all'
  - `messages` InAppMessage[]
    - `id` string
    - `kind` 'message' | 'card': message: modal, banner or fullscreen, shown once. card: stays in the card feed until dismissed.
    - `format` 'modal' | 'banner' | 'fullscreen' | 'null', nullable: How a message is shown; null for cards.
    - `position` 'top' | 'bottom' | 'center' | 'null', nullable: Banners: top or bottom. Modals: bottom (a sheet rising from the bottom edge) or center. Null for full screens and cards.
    - `eyebrow` string: Short line above the title, such as "3 days left"; empty when the step has none.
    - `title` string
    - `body` string: Plain text; may contain line breaks.
    - `imageUrl` string, nullable
    - `imagePlacement` 'top' | 'background' | 'null', nullable: Modals and full screens with an image: top (image above the text) or background (image fills the message, text on a dark scrim over it). Null otherwise.
    - `buttons` object[]
      - `label` string
      - `action` 'open_url' | 'dismiss'
      - `url` string, nullable: https URL or app deep link for open_url buttons; null for dismiss.
    - `data` object: String key/values set on the step for your app's own logic.
    - `style` InAppStyle: Colors, corners and font to draw the item with. Resolved from the step's style preset and overrides against your brand (Email design settings) when the item was created. Colors are
      - `preset` 'brand' | 'soft' | 'bold' | 'dark'
      - `backgroundColor` string
      - `textColor` string: Title color.
      - `mutedTextColor` string: Body text color.
      - `buttonColor` string: Fill of the first link button. Other buttons are outlined in the text color.
      - `buttonTextColor` string
      - `cornerRadius` integer
      - `buttonRadius` integer
      - `fontFamily` string: CSS font stack from your brand settings.
    - `pinned` boolean: Cards only. Pinned cards sort first.
    - `sequenceId` string, nullable
    - `stepId` string, nullable: The sequence step (node) that created it.
    - `createdAt` string, date-time
    - `expiresAt` string, date-time, nullable: After this the item leaves the open feed. Messages default to 30 days; cards never expire unless the step sets it.
    - `displayedAt` string, date-time, nullable
    - `clickedAt` string, date-time, nullable
    - `clickCount` integer
    - `dismissedAt` string, date-time, nullable
    - `readAt` string, date-time, nullable

## Other responses

- `400`: No contact identifier, or an invalid email
- `401`: Unauthorized
- `403`: Missing subscribers:read scope
- `404`: Contact not found
- `500`: Server error

## Changes

- **2026-10-20** `54f67ac2d016`: 1 warning, 2 info
  - added the new `center` enum value to the `messages/items/position` response property for the response status `200`
  - added the optional property `messages/items/eyebrow` to the response with the `200` status
  - added the optional property `messages/items/imagePlacement` to the response with the `200` status
- **2026-10-16** `db3873ca3d4d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/in-app/messages/get.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) - [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sequenzy/apis/sequenzy-api/revisions/8156dc12d8b4?raw)
