---
title: "Lookup messages sent to a customer"
method: GET
path: "/v1/customers/{customer_id}/messages"
tags: ["Customers"]
---

# Lookup messages sent to a customer

`GET /v1/customers/{customer_id}/messages`

Returns information about the deliveries sent to a person. Provide query parameters to refine the data you want to return.

Use the `start_ts` and `end_ts` to find messages within a time range. If your request doesn't include `start_ts` and `end_ts` parameters, we'll return the most recent 6 months of messages. If your `start_ts` and `end_ts` range is more than 6 months, we'll return 6 months of data from the most recent timestamp in your request. Timestamps reflect when deliveries were created in our system, not when they were actually sent to recipients. There may be a delay between creation and sending.

## Response `200`

Returns an array of message objects. Each object represents a message that you sent a customer.

- object
  - `messages` object[]
    - `id` string — The message identifier.
    - `deduplicate_id` string — A group identifier to deduplicate messages (useful if a customer may have received multiple messages of the same type).
    - `msg_template_id` string — The message template the message was created from.
    - `customer_id` string — The customer the message was sent to.
    - `campaign_id` integer — The automation the message belongs to.
    - `action_id` integer — The identifier for the message action within the automation or broadcast the message belonged to.
    - `recipient` string — The address of the recipient. May be an email address, MSISDN, or a device UUID.
    - `subject` string — The subject line of the message.
    - `metrics` object — Contains information about the send and delivery time of the message.
      - `delivered` integer — The date and time when the customer received the message.
      - `sent` integer — The date and time when the message was sent.
    - `created` integer — The date and time when the message was created.
    - `failure_message` string, nullable — An error, if the message did not make it to the customer.
    - `newsletter_id` integer, nullable — The one-time send that the message was sent as a part of, if applicable.
    - `content_id` integer, nullable — The one-time send variant for the message, if applicable.
    - `broadcast_id` integer, nullable — The broadcast the message was sent as a part of, if applicable.
    - `type` 'email' | 'webhook' | 'twilio' | 'slack' | 'push' | 'in_app' | 'whatsapp' — The type of message.
    - `forgotten` boolean — If true, the message content was forgotten.

## Other responses

- `404` — The `customer_id` does not exist.
- `429` — Your request is over the 10-per-second limit. `Retry-After` tells you how many seconds you must wait before you send the next request.

## Changes

- **2026-09-02** `5da2740beeb5` — 1 info
  - added the media type `application/json` for the response with the status `429`

[Change history](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/changes/v1/customers/:customer_id/messages/get.md)

---

[API](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference.md) · [All operations](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/llms.txt) · [OpenAPI document](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/revisions/d9edec5f938c?raw)
