---
title: "openemail sending"
description: "Every command in this namespace, with its arguments, flags and examples."
url: "https://openemail.uk/docs/cli/reference/sending"
area: "CLI"
category: "Reference"
---

# openemail sending

Every command in this namespace, with its arguments, flags and examples.

## Commands

### `openemail sending list-streams`

List the sending lanes

```bash
openemail sending list-streams [flags]
```

Resolves the two lanes mail travels in, `transactional` for app mail such as password resets, receipts and codes, and `broadcast` for newsletters, each with its state and its numbers for the last 7 days: `recipients`, `bounced` and `complained`, the two rates, and the `limits` the broadcast lane is held to. The lanes have their own queues and their own reputation, so a newsletter never holds up or harms app mail.

The broadcast lane pauses itself when more than 4% of its recipients bounced or more than 0.2% reported the mail as spam over those 7 days, once it reached enough recipients to judge. A paused lane says when and why in `pausedAt` and `pausedReason`, and app mail keeps going out. The count starts again when a lane is resumed, which `resumedAt` gives.

- Scopes: `emails:read`.
- Needs a sign-in.

**Examples**

```bash
openemail sending list-streams
```

Print the raw JSON

```bash
openemail sending list-streams --json
```

Also available in: API [`GET /sending/streams`](https://openemail.uk/docs/api/reference/sending#get-sending-streams); TypeScript [`sending.listStreams()`](https://openemail.uk/docs/sdk/reference/sending#listStreams); Python [`sending.list_streams()`](https://openemail.uk/docs/python/reference/sending#listStreams); Ruby [`sending.list_streams`](https://openemail.uk/docs/ruby/reference/sending#listStreams); PHP [`sending->listStreams`](https://openemail.uk/docs/php/reference/sending#listStreams); Go [`Sending.ListStreams`](https://openemail.uk/docs/go/reference/sending#listStreams); Java [`sending().listStreams`](https://openemail.uk/docs/java/reference/sending#listStreams); C# [`Sending.ListStreamsAsync`](https://openemail.uk/docs/csharp/reference/sending#listStreams).

### `openemail sending resume-stream`

Resume a paused lane

```bash
openemail sending resume-stream <stream> [flags]
```

Resumes the broadcast lane after it was paused for too many bounces or complaints, as Resume does on the Analytics page of the app. Broadcasts and messages that were on hold continue at once, and the 7 day count starts again from now, so clean the audience first: a lane resumed onto the same list pauses again.

Only the workspace owner may do it: an API key acts for the owner, and an access token that acts for a member is 403 `owner_only`.

- Scopes: `domains:write`.
- Needs a sign-in.
- Asks you to confirm.

**Arguments**

- `<stream>` (required): The lane to resume, `broadcast`. The transactional lane never pauses.

**Examples**

```bash
openemail sending resume-stream broadcast
```

Skip the confirmation, for scripts

```bash
openemail sending resume-stream broadcast --yes
```

Also available in: API [`POST /sending/streams/{stream}/resume`](https://openemail.uk/docs/api/reference/sending#post-sending-streams-stream-resume); TypeScript [`sending.resumeStream()`](https://openemail.uk/docs/sdk/reference/sending#resumeStream); Python [`sending.resume_stream()`](https://openemail.uk/docs/python/reference/sending#resumeStream); Ruby [`sending.resume_stream`](https://openemail.uk/docs/ruby/reference/sending#resumeStream); PHP [`sending->resumeStream`](https://openemail.uk/docs/php/reference/sending#resumeStream); Go [`Sending.ResumeStream`](https://openemail.uk/docs/go/reference/sending#resumeStream); Java [`sending().resumeStream`](https://openemail.uk/docs/java/reference/sending#resumeStream); C# [`Sending.ResumeStreamAsync`](https://openemail.uk/docs/csharp/reference/sending#resumeStream).

### `openemail sending list-dedicated-ips`

List dedicated IPs

```bash
openemail sending list-dedicated-ips [flags]
```

Resolves the dedicated sending IPs of the workspace, bought as an add-on with `billing.startAddOnCheckout`. A new IP is warmed up over several weeks: `warmupPercent` says how far it is, and until it reaches 100 part of the mail still leaves through the shared IPs, so nothing is held back while it warms. `status` is `warming` until then and `ready` after.

A workspace without the add-on gets an empty list and sends through the shared IPs.

- Scopes: `domains:read`.
- Needs a sign-in.

**Examples**

```bash
openemail sending list-dedicated-ips
```

Print the raw JSON

```bash
openemail sending list-dedicated-ips --json
```

Also available in: API [`GET /sending/dedicated-ips`](https://openemail.uk/docs/api/reference/sending#get-sending-dedicated-ips); TypeScript [`sending.listDedicatedIps()`](https://openemail.uk/docs/sdk/reference/sending#listDedicatedIps); Python [`sending.list_dedicated_ips()`](https://openemail.uk/docs/python/reference/sending#listDedicatedIps); Ruby [`sending.list_dedicated_ips`](https://openemail.uk/docs/ruby/reference/sending#listDedicatedIps); PHP [`sending->listDedicatedIps`](https://openemail.uk/docs/php/reference/sending#listDedicatedIps); Go [`Sending.ListDedicatedIPs`](https://openemail.uk/docs/go/reference/sending#listDedicatedIps); Java [`sending().listDedicatedIps`](https://openemail.uk/docs/java/reference/sending#listDedicatedIps); C# [`Sending.ListDedicatedIpsAsync`](https://openemail.uk/docs/csharp/reference/sending#listDedicatedIps).

### `openemail sending get-dedicated-ip`

Read a dedicated IP

```bash
openemail sending get-dedicated-ip <ip> [flags]
```

Resolves one dedicated IP of the workspace with its status and how far its warm-up has come.

- Scopes: `domains:read`.
- Needs a sign-in.

**Arguments**

- `<ip>` (required): The IP address, as `listDedicatedIps` returns it, such as `203.0.113.24`.

**Examples**

```bash
openemail sending get-dedicated-ip 203.0.113.24
```

Print the raw JSON

```bash
openemail sending get-dedicated-ip 203.0.113.24 --json
```

Also available in: API [`GET /sending/dedicated-ips/{ip}`](https://openemail.uk/docs/api/reference/sending#get-sending-dedicated-ips-ip); TypeScript [`sending.getDedicatedIp()`](https://openemail.uk/docs/sdk/reference/sending#getDedicatedIp); Python [`sending.get_dedicated_ip()`](https://openemail.uk/docs/python/reference/sending#getDedicatedIp); Ruby [`sending.get_dedicated_ip`](https://openemail.uk/docs/ruby/reference/sending#getDedicatedIp); PHP [`sending->getDedicatedIp`](https://openemail.uk/docs/php/reference/sending#getDedicatedIp); Go [`Sending.GetDedicatedIP`](https://openemail.uk/docs/go/reference/sending#getDedicatedIp); Java [`sending().getDedicatedIp`](https://openemail.uk/docs/java/reference/sending#getDedicatedIp); C# [`Sending.GetDedicatedIpAsync`](https://openemail.uk/docs/csharp/reference/sending#getDedicatedIp).
