---
title: "Admin List Messages"
method: GET
path: "/api/v1/admin/messages"
tags: ["admin"]
---

# Admin List Messages

`GET /api/v1/admin/messages`

## Request

- Base URL: `https://api.nudgelink.co` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nudgelink.co/api/v1/admin/messages`
- Auth: HTTP bearer

Cross-client message viewer (newest first). Join goes Message → Sequence
→ Client + Lead so we can show the client's email and the lead's name. All
filters are optional and AND together.

## Query parameters

- `limit` integer
- `offset` integer
- `client_id` string, uuid, nullable: Filter to one client
- `step` 'pending' | 'warmup_view' | 'warmup_like' | 'warmup_comment' | 'linkedin_invite' | 'linkedin_followup_1' | 'linkedin_followup_2' | 'email_1' | 'email_2' | 'completed'
- `channel` 'linkedin' | 'email'
- `direction` 'outbound' | 'inbound'
- `classification` 'positive' | 'neutral' | 'question' | 'rejection' | 'spam' | 'unclassified'
- `preview_status` 'pending' | 'approved' | 'edited_and_approved' | 'rejected' | 'auto_sent' | 'expired'

## Response `200`

Successful Response

- AdminMessageRow[]
  - `id` string, uuid, required
  - `client_id` string, uuid, required
  - `client_email` string, required
  - `lead_id` string, uuid, required
  - `lead_name` string, required
  - `step` string, required
  - `channel` string, required
  - `direction` string, required
  - `preview_status` string, nullable, required
  - `classification` string, nullable, required
  - `content` string, required
  - `source_post_text` string, nullable, required
  - `source_post_url` string, nullable, required
  - `created_at` string, date-time, required
  - `sent_at` string, date-time, nullable, required

## Other responses

- `422`: Validation Error

---

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