---
title: "Participant messages"
method: GET
path: "/api/v1/initiatives/{id}/participants/{participantId}/messages"
tags: ["Initiatives"]
---

# Participant messages

`GET /api/v1/initiatives/{id}/participants/{participantId}/messages`

The participant's full conversation transcript for this initiative, in order.

## Path parameters

- `id` string, required — Initiative id.
- `participantId` string, required — Participant id, as returned when adding or listing.

## Response `200`

Success

- object
  - `participantId` string, required
  - `phoneNumber` string, nullable, required
  - `channel` string, required
  - `data` object[], required
    - `id` string, required
    - `direction` 'outbound' | 'inbound', required
    - `author` 'agent' | 'participant', required
    - `type` 'text' | 'media' | 'template', required
    - `text` string, required
    - `mediaUrl` string, nullable, required
    - `sentAt` string, required — ISO 8601 timestamp.
  - `next_cursor` unknown, required

## Other responses

- `400` — Validation failed or the request cannot proceed.
- `401` — Missing, malformed, or revoked API key.
- `404` — The resource does not exist in this organization.
- `409` — Conflicts with the current state (duplicates, wrong lifecycle state).
- `422` — The request is well-formed but semantically invalid.
- `429` — Rate limit exceeded — retry after `Retry-After`.
- `500` — Internal server error.
- `503` — Transient error — retry with a narrower request.

---

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