---
title: "List senders"
method: GET
path: "/v1/email/senders"
tags: ["Email"]
---

# List senders

`GET /v1/email/senders`

## Request

- Base URL: `https://api.samva.dev`
- URL: `https://api.samva.dev/v1/email/senders`
- Auth: API key in header `x-api-key`

Returns senders, newest first. A namespace-scoped key lists only its namespace's senders; an organization-wide caller lists every sender, or one namespace's with `namespaceId`. Optionally filtered by verification status, active state, or default flag. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page. Each row carries `deliverability` (bounce and complaint rates over the last 24 hours) and `series`, the last 14 days of daily email sends from the address, oldest first.

## Query parameters

- `limit` string, nullable
- `cursor` string
- `verificationStatus` 'pending' | 'verified' | 'failed', nullable
- `isActive` string, nullable
- `isDefault` string, nullable
- `namespaceId` string

## Response `200`

EmailSenderPage

- EmailSenderPage
  - `items` object[], required
    - `id` string, required
    - `organizationId` string, required
    - `email` string, required
    - `name` string, nullable, required
    - `domainId` string, required
    - `namespaceId` string, required
    - `verificationStatus` 'pending' | 'verified' | 'failed', required
    - `verifiedAt` string, nullable, required
    - `verificationToken` string, nullable, required
    - `providerLifecycle` 'provisioning' | 'active' | 'deleting' | 'failed', required
    - `providerFailureCode` string, nullable, required
    - `isDefault` boolean, required
    - `replyToEmails` string[], nullable, required
    - `deliverability` DeliverabilityFacts, required: Bounce and complaint rates over the last 24 hours, as fractions between 0 and 1, with `windowSends`, the deliveries they were divided by, plus `sendingStatus`, which says whether the organization can currently send. The window matches the one the sending-pause rule reads. Below 200 sends that rule ignores the window entirely, so a rate over a smaller `windowSends` is a quotient rather than a reading. These are not a lifetime record; an identity with no traffic in the window reports zeroes.
      - `bounceRate` number, required
      - `complaintRate` number, required
      - `windowSends` integer, required
      - `sendingStatus` 'enabled' | 'disabled' | 'reinstated' | 'unknown', required
    - `series` integer[], required: Daily email sends for the last 14 calendar days in the organization's own timezone, oldest first and zero-filled. Always fourteen entries; an entity that has never sent reports fourteen zeroes.
    - `isActive` boolean, required
    - `createdAt` string, required
    - `updatedAt` string, required
  - `nextCursor` string, nullable, required

## Other responses

- `401`: UnauthorizedError
- `403`: ForbiddenError
- `422`: ValidationError
- `500`: InternalError
- `504`: GatewayTimeoutError

---

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