---
title: "List text messages"
method: GET
path: "/text/messages"
---

# List text messages

`GET /text/messages`

## Request

- Base URL: `https://collectwiseapi.com`
- URL: `https://collectwiseapi.com/text/messages`
- Auth: API key in header `collectwise_key`

Returns the message thread for one of your recipients: your outbound sends and the consumer's inbound replies, newest first. Use this to poll for replies if you do not want to run a webhook endpoint, or to backfill replies after a webhook outage. Results are always scoped to your organization. Provide at least one of `messageId`, `debtorId`, `destination`, or `since`.

## Query parameters

- `messageId` string
- `debtorId` string
- `destination` string
- `limit` integer
- `since` string, date-time

## Headers

- `x-cw-timestamp` string
- `x-cw-signature` string

## Response `200`

Matching messages, newest first.

- object
  - `count` integer, required
  - `messages` TextMessage[], required
    - `messageId` string, required: For an outbound message, the id returned by the send endpoint. For an inbound reply, the id of that reply.
    - `direction` 'outbound' | 'inbound', required: `outbound` for messages you sent, `inbound` for the consumer's replies.
    - `status` string: Carrier status. Inbound replies are recorded as Delivered.
    - `message` string: The message body as sent or received.
    - `debtorId` string: Your reference for the recipient.
    - `destination` string: The consumer's phone number, in E.164 format.
    - `conversationId` string, nullable: Thread id. Messages to and from a number group into one conversation, which rolls over after 7 days idle.
    - `templateId` integer, nullable: The template this message was rendered from. Null for free-form sends and for inbound replies.
    - `messageType` 'sms' | 'mms'
    - `mediaUrls` string[], nullable: Attachment URLs. Non-null only for MMS.
    - `createdAt` string, date-time
    - `updatedAt` string, date-time, nullable

## Other responses

- `400`: No filter supplied, an invalid `destination`, a `limit` outside 1–200, or a `since` that is not an ISO 8601 timestamp.
- `403`: Texting not enabled for your organization.
- `404`: The supplied `messageId` is unknown or does not belong to your organization.
- `429`: Your organization's shared rate limit has been exceeded. Wait at least the number of seconds specified in Retry-After before retrying.
- `500`: Unexpected server error.

## Changes

- **2026-11-03** `95fad0d2f369`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/collectwise/apis/collectwise-api/changes/text/messages/get.md)

---

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