---
title: "bird email inbox-insights seed-tests create"
description: "Register a seed test and get its addresses"
canonical: "https://bird.com/docs/cli/reference/email-inbox-insights-seed-tests-create"
---

# `bird email inbox-insights seed-tests create`

## Usage

```bash
bird email inbox-insights seed-tests create [flags]
```

## Description

Register a seed test and get its addresses

Register only when the intended send is ready. Read
`bird email inbox-insights seed-tests configuration get` for supported options.
CLI and MCP registration require OAuth login and browser confirmation: a signed-in
person registers the test from the review page. Direct API and SDK calls register
immediately. Registration spends organization-wide allowance and returns addresses;
it sends no email.
Use a separately authorized send to deliver the intended message to those addresses.
Keep the same explicit Idempotency-Key and body after a lost response. On 409 E27008,
contact support with the request ID and domain before starting another test.
A new CLI or MCP invocation can create another proposal; executing it can register
another batch. registration\_id is for support, not a history lookup. The person
reviewing a CLI or MCP proposal needs write access to the workspace.

Build the request from flags, a JSON EmailInboxInsightsSeedTestCreate body via --body-file ("-" reads
stdin), or both — a flag overrides the matching body field. Run --example to
print a ready-to-edit body, or --dry-run to print the resolved request without
sending it.

Browser confirmation: the review link goes to stderr, not stdout, as next[].url
in a JSON line that also carries confirmation\_id. The command then waits and
prints the result on stdout; --confirmation-id waits on an existing one.

## Procedure

Step 3 of 4 of "Measure a send with seed mailboxes". Previous: bird email inbox-insights seed-tests configuration get. Next: bird email inbox-insights seed-tests list.

## Examples

```bash
# print the body shape (no credentials needed)
bird email inbox-insights seed-tests create --example

# the body it prints:
```

```json
{
  "engagement_profile": "all",
  "label": "Fall preview send",
  "list_type": "private",
  "regions": ["North America - US", "Europe - UK"],
  "sending_domain": "mail.acme.com"
}
```

## Options

#### Request

| Name                | Description                                                  |
| ------------------- | ------------------------------------------------------------ |
| `--body-file`       | Read the JSON request body from this file; "-" reads stdin   |
| `--example`         | Print a complete example request body, then exit             |
| `--dry-run`         | Print the resolved request without sending it, then exit     |
| `--idempotency-key` | Deduplication key; a retry with the same key won't act twice |

#### Options

| Name                   | Description                                                                                                                                                                                                                                |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `--sending-domain`     | The sending domain the test measures: one of the workspace's verified sending domains, exactly as it appears there. (required; or in --body-file)                                                                                          |
| `--list-type`          | Which seed pool to draw addresses from. Use a value the seed-test configuration reports as available for this account. Known values: private, public, exclusive (others may exist). (required; or in --body-file)                          |
| `--engagement-profile` | Which engagement behaviour the seeds should simulate. Mixing both behaviours is what makes the engaged-against-dormant comparison measurable. Known values: all, engaging, non\_engaging (others may exist). (required; or in --body-file) |
| `--regions <value>…`   | The regions to place seeds in, as the seed-test configuration names them. (required; or in --body-file)                                                                                                                                    |
| `--label`              | A name attached to this registration. It is not returned in seed-test history.                                                                                                                                                             |
| `--response-schema`    | Print the fields this command returns, then exit                                                                                                                                                                                           |
| `--confirmation-id`    | Wait for an existing confirmation of this exact request                                                                                                                                                                                    |

## Related

| Name                                                                                                    | Description                         |
| ------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| [`bird email inbox-insights seed-tests list`](/docs/cli/reference/email-inbox-insights-seed-tests-list) | Get seed tests for a sending domain |

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
