---
title: "Everyone who wrote back, account-wide"
method: GET
path: "/api/v1/inbox/replies"
---

# Everyone who wrote back, account-wide

`GET /api/v1/inbox/replies`

## Request

- Base URL: `https://www.easeclaw.com`
- URL: `https://www.easeclaw.com/api/v1/inbox/replies`
- Auth: HTTP bearer

Newest first, each with their campaign, their timeline stamps, and the person's name, headline and profile link. A reply ends that person's sequence automatically. No plan floor. This reads the account's own finished history and costs nothing. Requires an outreach-scope API key.

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

One page of replies

- object
  - `replies` InboxReply[]
    - `id` string, uuid
    - `campaign_id` string, uuid
    - `campaign_name` string
    - `state` 'sourced' | 'qualified' | 'rejected' | 'awaiting_approval' | 'invite_approved' | 'invite_sent' | 'accepted' | 'dm_awaiting_approval' | 'dm_approved' | 'dm_sent' | 'done' | 'stale' | 'withdrawn' | 'stopped' | 'failed': Where one person stands in a campaign.
    - `score` integer, nullable
    - `invite_note` string, nullable
    - `first_message` string, nullable
    - `state_changed_at` string, date-time, nullable
    - `invite_sent_at` string, date-time, nullable
    - `replied_at` string, date-time, nullable
    - `email_handoff_at` string, date-time, nullable
    - `meeting_at` string, date-time, nullable
    - `has_chat_ref` boolean: The reply was matched by an exact conversation id rather than by a fallback. Not a confidence score. A false is still a real reply.
    - `contact` ContactIdentity: The person, as this surface may see them. Email and phone are deliberately absent.
      - `id` string, uuid
      - `full_name` string, nullable
      - `headline` string, nullable
      - `profile_url` string, nullable
      - `platform_uid` string, nullable
  - `total` integer
  - `limit` integer
  - `offset` integer
  - `hasMore` boolean
  - `nextOffset` integer, nullable

## Other responses

- `401`: Error
- `402`: Error
- `403`: The key is not outreach-scoped (code outreach_scope_required). Campaign paths need a key minted with the outreach scope at https://www.easeclaw.com/leads/api. The scope cannot be widened on an existing key.
- `429`: Rate limited (300/hour per account; drafting also 30/hour + daily AI budget). Retry-After header set when known.
- `500`: Error

---

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