---
title: "Subscriptions"
description: "Every operation in this group: what it accepts, what it returns and the errors it can answer with."
url: "https://nextmail.sh/docs/api/reference/subscriptions"
area: "API"
category: "Reference"
---

# Subscriptions

Every operation in this group: what it accepts, what it returns and the errors it can answer with.

## Operations

Newsletters and mailing lists the mailbox receives, found from the `List-Unsubscribe` header of the mail they send, as the Subscriptions page of the app shows them, with how much of their mail you read and which ones you rarely open. Keep the ones you want, unsubscribe from one sender, many at once or a whole domain, or move what they sent and keep moving what they send.

### `GET /subscriptions`

List subscriptions

One row per sender and address it writes to, with how much mail it sent, how much of it is unread, what share of it you read and how much arrived in the last 30 days. `suggested` marks an active sender you rarely read: one that can be unsubscribed, sent at least 5 emails, wrote in the last 30 days and has 10% or less of its mail read. A key or an app limited to particular addresses lists only the subscriptions delivered to them.

Requires the `threads:read` scope.

- Scopes: `threads:read`.

**Query parameters**

- `status` (`string`, one of `"active"`, `"kept"`, `"unsubscribed"`, default `"active"`): `active` lists what still arrives, `kept` the ones you chose to keep, `unsubscribed` what you left.
- `q` (`string`, up to 200 characters): Searches the sender name and address.
- `sort` (`string`, one of `"recent"`, `"most"`, `"emails"`, `"read"`, `"unread"`, `"name"`, default `"recent"`): `recent` puts the newest mail first, `most` the senders with the most mail lately, `emails` the most mail overall, `read` the least read first, `unread` those with the most unread, `name` sorts by sender.
- `suggested` (`boolean`): Only the senders worth unsubscribing from: active, rarely read and still writing.
- `limit` (`integer`, at least 1, at most 200, default `50`): Rows per page.
- `offset` (`integer`, at least 0, default `0`): How many rows to skip, for the next page.
- `address` (`string`, 3 to 320 characters): Only the subscriptions delivered to this address. One the key does not reach lists nothing.

**Returns**

- `200` `SubscriptionList`: A page of subscriptions.

**Errors**

- The errors every operation can return: `400`, `401`, `403`, `404`, `422`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.subscriptions.list()`](https://nextmail.sh/docs/sdk/reference/subscriptions#list); Python [`subscriptions.list()`](https://nextmail.sh/docs/python/reference/subscriptions#list); Ruby [`subscriptions.list`](https://nextmail.sh/docs/ruby/reference/subscriptions#list); PHP [`subscriptions->list`](https://nextmail.sh/docs/php/reference/subscriptions#list); Go [`Subscriptions.List`](https://nextmail.sh/docs/go/reference/subscriptions#list); Java [`subscriptions().list`](https://nextmail.sh/docs/java/reference/subscriptions#list); C# [`Subscriptions.ListAsync`](https://nextmail.sh/docs/csharp/reference/subscriptions#list); CLI [`nextmail subscriptions list`](https://nextmail.sh/docs/cli/reference/subscriptions#subscriptions-list); MCP [`listSubscriptions`](https://nextmail.sh/docs/mcp/tools/subscriptions#listSubscriptions).

### `GET /subscriptions/domains`

List subscriptions by domain

The same subscriptions, one row per sender domain with the counts of its senders added up, so a company that writes from several addresses is one row.

Requires the `threads:read` scope.

- Scopes: `threads:read`.

**Query parameters**

- `status` (`string`, one of `"active"`, `"kept"`, `"unsubscribed"`, default `"active"`): `active` lists what still arrives, `kept` the ones you chose to keep, `unsubscribed` what you left.
- `q` (`string`, up to 200 characters): Searches the sender name and address.
- `sort` (`string`, one of `"recent"`, `"most"`, `"emails"`, `"read"`, `"unread"`, `"name"`, default `"recent"`): `recent` puts the newest mail first, `most` the senders with the most mail lately, `emails` the most mail overall, `read` the least read first, `unread` those with the most unread, `name` sorts by sender.
- `suggested` (`boolean`): Only the senders worth unsubscribing from: active, rarely read and still writing.
- `limit` (`integer`, at least 1, at most 200, default `50`): Rows per page.
- `offset` (`integer`, at least 0, default `0`): How many rows to skip, for the next page.
- `address` (`string`, 3 to 320 characters): Only the subscriptions delivered to this address. One the key does not reach lists nothing.

**Returns**

- `200` `SubscriptionDomainList`: A page of sender domains.

**Errors**

- The errors every operation can return: `400`, `401`, `403`, `404`, `422`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.subscriptions.listDomains()`](https://nextmail.sh/docs/sdk/reference/subscriptions#listDomains); Python [`subscriptions.list_domains()`](https://nextmail.sh/docs/python/reference/subscriptions#listDomains); Ruby [`subscriptions.list_domains`](https://nextmail.sh/docs/ruby/reference/subscriptions#listDomains); PHP [`subscriptions->listDomains`](https://nextmail.sh/docs/php/reference/subscriptions#listDomains); Go [`Subscriptions.ListDomains`](https://nextmail.sh/docs/go/reference/subscriptions#listDomains); Java [`subscriptions().listDomains`](https://nextmail.sh/docs/java/reference/subscriptions#listDomains); C# [`Subscriptions.ListDomainsAsync`](https://nextmail.sh/docs/csharp/reference/subscriptions#listDomains); CLI [`nextmail subscriptions list-domains`](https://nextmail.sh/docs/cli/reference/subscriptions#subscriptions-list-domains); MCP [`listSubscriptionDomains`](https://nextmail.sh/docs/mcp/tools/subscriptions#listSubscriptionDomains).

### `POST /subscriptions/domains/{domain}/unsubscribe`

Unsubscribe from a whole domain

Unsubscribes from every sender on the domain that can be unsubscribed without a person opening a page, with one-click or by email. `skipped` counts the senders that only offer a page, and `failed` the ones that did not accept it. Unsubscribing works the way the sender asks for it: a one-click request to its unsubscribe address when it offers one, an unsubscribe email from the address the mail arrived at when it gives a mailto, and otherwise the sender's own unsubscribe page in `url`, which a person has to open. `method` says which.

Requires the `threads:write` scope.

- Scopes: `threads:write`.

**Path parameters**

- `domain` (`string`, required): The sender domain, as `GET /subscriptions/domains` returns it.

**Request body**

- `bin` (`boolean`, default `false`): Also move every conversation from the senders to the Bin.
- `archive` (`boolean`, default `false`): Also archive every conversation from the senders. `bin` wins when both are true.
- `address` (`string`, 3 to 320 characters): Only the subscriptions delivered to this address.

**Returns**

- `200` `DomainUnsubscribeResult`: What happened to each sender, counted.

**Errors**

- The errors every operation can return: `400`, `401`, `403`, `404`, `422`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.subscriptions.unsubscribeDomain()`](https://nextmail.sh/docs/sdk/reference/subscriptions#unsubscribeDomain); Python [`subscriptions.unsubscribe_domain()`](https://nextmail.sh/docs/python/reference/subscriptions#unsubscribeDomain); Ruby [`subscriptions.unsubscribe_domain`](https://nextmail.sh/docs/ruby/reference/subscriptions#unsubscribeDomain); PHP [`subscriptions->unsubscribeDomain`](https://nextmail.sh/docs/php/reference/subscriptions#unsubscribeDomain); Go [`Subscriptions.UnsubscribeDomain`](https://nextmail.sh/docs/go/reference/subscriptions#unsubscribeDomain); Java [`subscriptions().unsubscribeDomain`](https://nextmail.sh/docs/java/reference/subscriptions#unsubscribeDomain); C# [`Subscriptions.UnsubscribeDomainAsync`](https://nextmail.sh/docs/csharp/reference/subscriptions#unsubscribeDomain); CLI [`nextmail subscriptions unsubscribe-domain`](https://nextmail.sh/docs/cli/reference/subscriptions#subscriptions-unsubscribe-domain); MCP [`unsubscribeSubscriptionDomain`](https://nextmail.sh/docs/mcp/tools/subscriptions#unsubscribeSubscriptionDomain).

### `POST /subscriptions/{id}/unsubscribe`

Unsubscribe from a sender

Unsubscribing works the way the sender asks for it: a one-click request to its unsubscribe address when it offers one, an unsubscribe email from the address the mail arrived at when it gives a mailto, and otherwise the sender's own unsubscribe page in `url`, which a person has to open. `method` says which. With `bin`, every conversation from the sender also moves to the Bin, and with `archive` to the archive.

Requires the `threads:write` scope.

- Scopes: `threads:write`.

**Path parameters**

- `id` (`string`, required): The subscription, as `GET /subscriptions` returns it.

**Request body**

- `bin` (`boolean`, default `false`): Also move every conversation from the sender to the Bin.
- `archive` (`boolean`, default `false`): Also archive every conversation from the sender. `bin` wins when both are true.

**Returns**

- `200` `UnsubscribeResult`: How it was unsubscribed.

**Errors**

- `422`: `unsubscribe_unsupported`: the sender gives no way to unsubscribe.
- `502`: `unsubscribe_refused`: the sender did not accept the one-click request and gives no address to write to.
- The errors every operation can return: `400`, `401`, `403`, `404`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.subscriptions.unsubscribe()`](https://nextmail.sh/docs/sdk/reference/subscriptions#unsubscribe); Python [`subscriptions.unsubscribe()`](https://nextmail.sh/docs/python/reference/subscriptions#unsubscribe); Ruby [`subscriptions.unsubscribe`](https://nextmail.sh/docs/ruby/reference/subscriptions#unsubscribe); PHP [`subscriptions->unsubscribe`](https://nextmail.sh/docs/php/reference/subscriptions#unsubscribe); Go [`Subscriptions.Unsubscribe`](https://nextmail.sh/docs/go/reference/subscriptions#unsubscribe); Java [`subscriptions().unsubscribe`](https://nextmail.sh/docs/java/reference/subscriptions#unsubscribe); C# [`Subscriptions.UnsubscribeAsync`](https://nextmail.sh/docs/csharp/reference/subscriptions#unsubscribe); CLI [`nextmail subscriptions unsubscribe`](https://nextmail.sh/docs/cli/reference/subscriptions#subscriptions-unsubscribe); MCP [`unsubscribeSubscription`](https://nextmail.sh/docs/mcp/tools/subscriptions#unsubscribeSubscription).

### `POST /subscriptions/batch-unsubscribe`

Unsubscribe from several senders

Unsubscribes from each subscription in `ids` that can be unsubscribed without a person, with one-click or by email, and lists the rest. `links` holds the senders that only unsubscribe on their own page, with the page a person has to open; they stay active until somebody does. `skipped` holds the ones already unsubscribed or that give no way to unsubscribe, `failed` the ones whose sender did not accept it and `missing` the ids that are unknown or delivered to an address the key does not reach. With `archive` or `bin`, every conversation from the senders that were unsubscribed also moves. Unsubscribing works the way the sender asks for it: a one-click request to its unsubscribe address when it offers one, an unsubscribe email from the address the mail arrived at when it gives a mailto, and otherwise the sender's own unsubscribe page in `url`, which a person has to open. `method` says which.

Requires the `threads:write` scope.

- Scopes: `threads:write`.

**Request body**

- `ids` (`string[]`, required, 1 to 100 items): 1 to 100 subscription ids from `GET /subscriptions`. A repeated id counts once.
- `bin` (`boolean`, default `false`): Also move every conversation from the senders to the Bin.
- `archive` (`boolean`, default `false`): Also archive every conversation from the senders. `bin` wins when both are true.

**Returns**

- `200` `SubscriptionBatchUnsubscribeResult`: What happened to each subscription.

**Errors**

- The errors every operation can return: `400`, `401`, `403`, `404`, `422`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.subscriptions.unsubscribeMany()`](https://nextmail.sh/docs/sdk/reference/subscriptions#unsubscribeMany); Python [`subscriptions.unsubscribe_many()`](https://nextmail.sh/docs/python/reference/subscriptions#unsubscribeMany); Ruby [`subscriptions.unsubscribe_many`](https://nextmail.sh/docs/ruby/reference/subscriptions#unsubscribeMany); PHP [`subscriptions->unsubscribeMany`](https://nextmail.sh/docs/php/reference/subscriptions#unsubscribeMany); Go [`Subscriptions.UnsubscribeMany`](https://nextmail.sh/docs/go/reference/subscriptions#unsubscribeMany); Java [`subscriptions().unsubscribeMany`](https://nextmail.sh/docs/java/reference/subscriptions#unsubscribeMany); C# [`Subscriptions.UnsubscribeManyAsync`](https://nextmail.sh/docs/csharp/reference/subscriptions#unsubscribeMany); CLI [`nextmail subscriptions unsubscribe-many`](https://nextmail.sh/docs/cli/reference/subscriptions#subscriptions-unsubscribe-many); MCP [`unsubscribeSubscriptions`](https://nextmail.sh/docs/mcp/tools/subscriptions#unsubscribeSubscriptions).

### `POST /subscriptions/batch-keep`

Keep subscriptions

Marks active subscriptions as ones you want, so they move to `kept` and are never `suggested` again. `kept: false` puts kept subscriptions back to `active`. A subscription you unsubscribed from stays as it is and is listed in `skipped`.

Requires the `threads:write` scope.

- Scopes: `threads:write`.

**Request body**

- `ids` (`string[]`, required, 1 to 100 items): 1 to 100 subscription ids from `GET /subscriptions`. A repeated id counts once.
- `kept` (`boolean`, default `true`): `true` keeps active subscriptions, `false` puts kept ones back to active.

**Returns**

- `200` `SubscriptionBatchKeepResult`: Which subscriptions changed.

**Errors**

- The errors every operation can return: `400`, `401`, `403`, `404`, `422`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.subscriptions.keep()`](https://nextmail.sh/docs/sdk/reference/subscriptions#keep); Python [`subscriptions.keep()`](https://nextmail.sh/docs/python/reference/subscriptions#keep); Ruby [`subscriptions.keep`](https://nextmail.sh/docs/ruby/reference/subscriptions#keep); PHP [`subscriptions->keep`](https://nextmail.sh/docs/php/reference/subscriptions#keep); Go [`Subscriptions.Keep`](https://nextmail.sh/docs/go/reference/subscriptions#keep); Java [`subscriptions().keep`](https://nextmail.sh/docs/java/reference/subscriptions#keep); C# [`Subscriptions.KeepAsync`](https://nextmail.sh/docs/csharp/reference/subscriptions#keep); CLI [`nextmail subscriptions keep`](https://nextmail.sh/docs/cli/reference/subscriptions#subscriptions-keep); MCP [`keepSubscriptions`](https://nextmail.sh/docs/mcp/tools/subscriptions#keepSubscriptions).

### `POST /subscriptions/batch-move`

Move what several senders sent

Moves every conversation from each subscription in `ids` to the archive, the Bin or a label, as `POST /subscriptions/{id}/move` does for one. With `future`, the default, a rule per sender keeps doing it to new mail, which also needs `rules:write`.

Requires the `threads:write` scope.

- Scopes: `threads:write`.

**Request body**

- `ids` (`string[]`, required, 1 to 100 items): 1 to 100 subscription ids from `GET /subscriptions`. A repeated id counts once.
- `destination` (`string`, required, one of `"archive"`, `"bin"`, `"label"`): `archive`, `bin` or `label`.
- `labelId` (`string`, nullable, 1 to 200 characters): The label to file under when `destination` is `label`.
- `future` (`boolean`, default `true`): Also keep doing it to new mail from each sender, with a rule. Needs `rules:write`.

**Returns**

- `200` `SubscriptionBatchMoveResult`: How many conversations moved, and for which subscriptions.

**Errors**

- The errors every operation can return: `400`, `401`, `403`, `404`, `422`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.subscriptions.moveMany()`](https://nextmail.sh/docs/sdk/reference/subscriptions#moveMany); Python [`subscriptions.move_many()`](https://nextmail.sh/docs/python/reference/subscriptions#moveMany); Ruby [`subscriptions.move_many`](https://nextmail.sh/docs/ruby/reference/subscriptions#moveMany); PHP [`subscriptions->moveMany`](https://nextmail.sh/docs/php/reference/subscriptions#moveMany); Go [`Subscriptions.MoveMany`](https://nextmail.sh/docs/go/reference/subscriptions#moveMany); Java [`subscriptions().moveMany`](https://nextmail.sh/docs/java/reference/subscriptions#moveMany); C# [`Subscriptions.MoveManyAsync`](https://nextmail.sh/docs/csharp/reference/subscriptions#moveMany); CLI [`nextmail subscriptions move-many`](https://nextmail.sh/docs/cli/reference/subscriptions#subscriptions-move-many); MCP [`moveSubscriptions`](https://nextmail.sh/docs/mcp/tools/subscriptions#moveSubscriptions).

### `POST /subscriptions/{id}/move`

Move what a sender sent

Moves every conversation from the sender to the archive, the Bin or a label. With `future`, the default, a rule keeps doing it to new mail from the sender to that address, which also needs `rules:write`. `future: false` drops a rule made that way before.

Requires the `threads:write` scope.

- Scopes: `threads:write`.

**Path parameters**

- `id` (`string`, required): The subscription, as `GET /subscriptions` returns it.

**Request body**

- `destination` (`string`, required, one of `"archive"`, `"bin"`, `"label"`): `archive`, `bin` or `label`.
- `labelId` (`string`, nullable, 1 to 200 characters): The label to file under when `destination` is `label`.
- `future` (`boolean`, default `true`): Also keep doing it to new mail from the sender, with a rule. Needs `rules:write`.
- `ruleName` (`string`, nullable, up to 100 characters): A name for that rule.

**Returns**

- `200` `SubscriptionMoveResult`: How many conversations moved, and the rule.

**Errors**

- The errors every operation can return: `400`, `401`, `403`, `404`, `422`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.subscriptions.move()`](https://nextmail.sh/docs/sdk/reference/subscriptions#move); Python [`subscriptions.move()`](https://nextmail.sh/docs/python/reference/subscriptions#move); Ruby [`subscriptions.move`](https://nextmail.sh/docs/ruby/reference/subscriptions#move); PHP [`subscriptions->move`](https://nextmail.sh/docs/php/reference/subscriptions#move); Go [`Subscriptions.Move`](https://nextmail.sh/docs/go/reference/subscriptions#move); Java [`subscriptions().move`](https://nextmail.sh/docs/java/reference/subscriptions#move); C# [`Subscriptions.MoveAsync`](https://nextmail.sh/docs/csharp/reference/subscriptions#move); CLI [`nextmail subscriptions move`](https://nextmail.sh/docs/cli/reference/subscriptions#subscriptions-move); MCP [`moveSubscription`](https://nextmail.sh/docs/mcp/tools/subscriptions#moveSubscription).

### `POST /threads/{id}/unsubscribe`

Unsubscribe from the sender of a thread

The Unsubscribe button of the reading pane: finds the subscription behind the newest message of the thread that carries a `List-Unsubscribe` header and unsubscribes from it. Unsubscribing works the way the sender asks for it: a one-click request to its unsubscribe address when it offers one, an unsubscribe email from the address the mail arrived at when it gives a mailto, and otherwise the sender's own unsubscribe page in `url`, which a person has to open. `method` says which.

Requires the `threads:write` scope.

- Scopes: `threads:write`.

**Path parameters**

- `id` (`string`, required): The thread, as `GET /threads` returns it.

**Returns**

- `200` `UnsubscribeResult`: How it was unsubscribed.

**Errors**

- `422`: `unsubscribe_unsupported`: the sender gives no way to unsubscribe.
- `502`: `unsubscribe_refused`: the sender did not accept the one-click request and gives no address to write to.
- The errors every operation can return: `400`, `401`, `403`, `404`, `429`, `500`, described in the [error catalog](https://nextmail.sh/docs/api/errors).

Also available in: TypeScript [`nextmail.threads.unsubscribe()`](https://nextmail.sh/docs/sdk/reference/threads#unsubscribe); Python [`threads.unsubscribe()`](https://nextmail.sh/docs/python/reference/threads#unsubscribe); Ruby [`threads.unsubscribe`](https://nextmail.sh/docs/ruby/reference/threads#unsubscribe); PHP [`threads->unsubscribe`](https://nextmail.sh/docs/php/reference/threads#unsubscribe); Go [`Threads.Unsubscribe`](https://nextmail.sh/docs/go/reference/threads#unsubscribe); Java [`threads().unsubscribe`](https://nextmail.sh/docs/java/reference/threads#unsubscribe); C# [`Threads.UnsubscribeAsync`](https://nextmail.sh/docs/csharp/reference/threads#unsubscribe); CLI [`nextmail threads unsubscribe`](https://nextmail.sh/docs/cli/reference/threads#threads-unsubscribe); MCP [`unsubscribeThread`](https://nextmail.sh/docs/mcp/tools/subscriptions#unsubscribeThread).

### Objects

#### `DomainUnsubscribeResult`

`object`

- `object` (`string`, one of `"domain_unsubscribe"`)
- `domain` (`string`)
- `unsubscribed` (`integer`)
- `skipped` (`integer`): Senders that only offer a page.
- `failed` (`integer`)
- `binned` (`integer`)
- `archived` (`integer`)

#### `Subscription`

`object`

- `object` (`string`, one of `"subscription"`)
- `id` (`string`)
- `senderEmail` (`string`)
- `senderName` (`string`, nullable)
- `recipient` (`string`): The address the mail arrives at.
- `status` (`string`, one of `"active"`, `"kept"`, `"unsubscribed"`)
- `method` (`string`, nullable, one of `"one-click"`, `"email"`, `"link"`): How the sender lets you unsubscribe, or null when it gives no way.
- `linkUrl` (`string`, nullable): Its unsubscribe page, when it has one.
- `unread` (`integer`)
- `recent` (`integer`): Mail in the last 30 days.
- `total` (`integer`)
- `readPercent` (`integer`): The share of its mail you read, from 0 to 100.
- `suggested` (`boolean`): An active sender you rarely read, worth unsubscribing from.
- `sinceUnsubscribed` (`integer`): Mail that still arrived after you unsubscribed.
- `lastSeenAt` (`string`, format `date-time`)
- `unsubscribedAt` (`string`, nullable, format `date-time`)
- `unsubscribedWith` (`string`, nullable, one of `"one-click"`, `"email"`, `"link"`)
- `future` (`object`, nullable): The rule that keeps moving its new mail, when there is one.
  - `ruleId` (`string`)
  - `destination` (`string`, one of `"archive"`, `"bin"`, `"label"`)
  - `labelId` (`string`, nullable)

#### `SubscriptionBatchKeepResult`

`object`

- `object` (`string`, one of `"subscription_batch_keep"`)
- `kept` (`boolean`): What was asked: keep, or put back to active.
- `updated` (`string[]`): Subscriptions that changed.
- `skipped` (`string[]`): Subscriptions already in that state, or unsubscribed.
- `missing` (`string[]`): Ids that are unknown or delivered to an address the key does not reach.

#### `SubscriptionBatchMoveResult`

`object`

- `object` (`string`, one of `"subscription_batch_move"`)
- `moved` (`integer`): Conversations moved, across every sender.
- `updated` (`string[]`): Subscriptions whose mail moved.
- `failed` (`string[]`): Subscriptions that could not be moved.
- `missing` (`string[]`): Ids that are unknown or delivered to an address the key does not reach.

#### `SubscriptionBatchUnsubscribeResult`

`object`

- `object` (`string`, one of `"subscription_batch_unsubscribe"`)
- `unsubscribed` (`string[]`): Subscriptions unsubscribed with one-click or by email.
- `links` (`object[]`): Senders that only unsubscribe on their own page, which a person has to open.
  - `id` (`string`)
  - `url` (`string`)
- `skipped` (`object[]`): Subscriptions left as they were, and why.
  - `id` (`string`)
  - `reason` (`string`, one of `"already_unsubscribed"`, `"no_method"`)
- `failed` (`string[]`): Subscriptions whose sender did not accept the request.
- `missing` (`string[]`): Ids that are unknown or delivered to an address the key does not reach.
- `binned` (`integer`): Conversations moved to the Bin.
- `archived` (`integer`): Conversations archived.

#### `SubscriptionDomain`

`object`

- `object` (`string`, one of `"subscription_domain"`)
- `domain` (`string`)
- `name` (`string`)
- `sampleEmail` (`string`): One sender address on the domain.
- `senders` (`integer`)
- `unsubscribable` (`integer`): Senders that can be unsubscribed without a person opening a page.
- `unread` (`integer`)
- `recent` (`integer`)
- `total` (`integer`)
- `readPercent` (`integer`): The share of its mail you read, from 0 to 100.
- `sinceUnsubscribed` (`integer`)
- `lastSeenAt` (`string`, format `date-time`)

#### `SubscriptionDomainList`

`object`

- `object` (`string`, one of `"list"`)
- `data` (`SubscriptionDomain[]`)
- `total` (`integer`)
- `counts` (`object`)
  - `active` (`integer`)
  - `kept` (`integer`)
  - `unsubscribed` (`integer`)
- `hasMore` (`boolean`)

#### `SubscriptionList`

`object`

- `object` (`string`, one of `"list"`)
- `data` (`Subscription[]`)
- `total` (`integer`): Rows that match, across every page.
- `counts` (`object`)
  - `active` (`integer`)
  - `kept` (`integer`)
  - `unsubscribed` (`integer`)
- `hasMore` (`boolean`)

#### `SubscriptionMoveResult`

`object`

- `object` (`string`, one of `"subscription_move"`)
- `subscriptionId` (`string`)
- `moved` (`integer`): Conversations moved.
- `ruleId` (`string`, nullable): The rule that keeps moving new mail.

#### `UnsubscribeResult`

`object`

- `object` (`string`, one of `"unsubscribe"`)
- `subscriptionId` (`string`)
- `threadId` (`string`): Present when it was asked for through a thread.
- `method` (`string`, one of `"one-click"`, `"email"`, `"link"`)
- `url` (`string`, nullable): The page to open when `method` is `link`, since that one needs a person.
- `binned` (`integer`): Conversations moved to the Bin.
- `archived` (`integer`): Conversations archived.
