---
title: "List the org's connected sending accounts (cursor-paginated)"
method: GET
path: "/senders"
tags: ["Senders"]
---

# List the org's connected sending accounts (cursor-paginated)

`GET /senders`

## Request

- Base URL: `https://origami.chat/api/v2`
- URL: `https://origami.chat/api/v2/senders`
- Auth: HTTP bearer

Every connected email + LinkedIn account with its stable `id` - the
same id sequence objects carry as `senderId` and webhook payloads
carry as `sender.id`. Senders are org-level (a mailbox is not homed
in a workspace); `campaignId` narrows to the senders bound to that
campaign's live sequences ("who does this campaign send from?").
Defaults to every status except `disconnected` (removed accounts);
pass an explicit `status` list to override.

## Query parameters

- `cursor` string
- `limit` integer
- `channel` 'email' | 'linkedin'
- `campaignId` string, uuid
- `status` string

## Response `200`

A page of senders in the canonical list envelope.

- object: The canonical v2 list envelope. Every list endpoint returns this shape; per-endpoint `items` element types (and documented extras like `total`) are declared on each operation.
  - `object` 'list', required
  - `items` Sender[], required: The page of objects. Element type is per-endpoint.
    - `object` 'sender', required
    - `id` string, uuid, required
    - `channel` 'email' | 'linkedin', required
    - `displayName` string, nullable, required: Human name where known (from-name / LinkedIn profile name); falls back to the email address / slug.
    - `email` string, email, nullable, required: Mailbox address. Null for LinkedIn senders.
    - `linkedinSlug` string, nullable, required: LinkedIn vanity slug (public identifier). Null for email senders.
    - `linkedinUrl` string, uri, nullable, required: Full LinkedIn profile URL derived from the slug.
    - `source` string, required: Normalized provider: gmail | outlook | smtp | linkedin.
    - `origamiOrigin` boolean, required: True when Origami provisioned this account (done-for-you inboxes); false for accounts the user connected themselves.
    - `status` string, required: active | needs_reauth | provisioning | reconnecting | error | disconnected.
    - `createdAt` string, date-time, required
  - `nextCursor` string, nullable, required: Cursor for the next page; `null` means this is the last page.
  - `url` string, required: The path this list was fetched from (query string excluded).

## Other responses

- `400`: VALIDATION_ERROR.
- `404`: CAMPAIGN_NOT_FOUND (unknown `campaignId`).

## Changes

- **2026-11-03** `8c6b16fe0a3b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/origami/apis/origami-agent-api/changes/senders/get.md)

---

[API](https://skmtc.dev/origami/apis/origami-agent-api.md) - [All operations](https://skmtc.dev/origami/apis/origami-agent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/origami/apis/origami-agent-api/revisions/8c6b16fe0a3b?raw)
