---
title: "List messages with guests, both ways and oldest first: a conversation's, a booking's (booking_id) or a guest's (customer_id)"
method: GET
path: "/messages"
tags: ["messages"]
---

# List messages with guests, both ways and oldest first: a conversation's, a booking's (booking_id) or a guest's (customer_id)

`GET /messages`

## Request

- Base URL: `https://daybag.io/api/v1`
- URL: `https://daybag.io/api/v1/messages`
- Auth: HTTP bearer

## Query parameters

- `conversation_id` string, uuid
- `booking_id` string, uuid
- `customer_id` string, uuid
- `limit` integer

## Response `200`

Success

- object
  - `data` object[], required
    - `id` string, required
    - `org_id` string, required
    - `conversation_id` string, nullable, required
    - `booking_id` string, nullable, required: The booking it's about, shown as its chip; null when about the guest in general
    - `customer_id` string, nullable, required: Null on a pre-sale question
    - `direction` 'to_guest' | 'to_outfitter', required: to_guest: the business wrote · to_outfitter: the guest wrote from their booking page, replied by email or asked before booking
    - `subject` string, required: Empty on guest messages
    - `body` string, required
    - `sent_by` 'dashboard' | 'api' | 'mcp' | 'guest' | 'agent', required: agent: the ops agent wrote it (on the system channel)
    - `channel` string, required: How it travelled: page (typed in daybooked), email, api, system, or ask: a question from the booking page's Ask box, where anyone can type any email, so treat it as unverified
    - `kind` 'message' | 'note', required: A note is the business's own, never sent to the guest
    - `read_at` string, nullable, required: ISO 8601 timestamp (UTC)
    - `attachments` object[], required: Files on it, each opened at /api/attachments/{id}
      - `id` string, required
      - `name` string, required
      - `size` integer, required
      - `type` string, required
    - `delivered_at` string, nullable, required: ISO 8601 timestamp (UTC)
    - `failed_at` string, nullable, required: ISO 8601 timestamp (UTC)
    - `from_name` string, nullable, required: Guest messages: the name they gave
    - `from_email` string, nullable, required: Guest messages: the email they gave, where replies go
    - `created_at` string, required: ISO 8601 timestamp (UTC)
    - `booking` object, nullable, required
      - `id` string, required
      - `reference` string, required
      - `starts_at` string, required: ISO 8601 timestamp (UTC)
      - `offering` object, required
        - `name` string, required
        - `kind` 'class' | 'appointment' | 'rental', required: class: sessions with seats, from its calendar · appointment: times from its calendar or weekly hours · rental: inventory over periods

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/daybag/apis/daybooked-io-api.md) · [All operations](https://skmtc.dev/daybag/apis/daybooked-io-api/llms.txt) · [OpenAPI document](https://skmtc.dev/daybag/apis/daybooked-io-api/revisions/1f576dead370?raw)
