---
title: "Get the choices available for a new seed test"
canonical: "https://bird.com/docs/api/reference/get-email-inbox-insights-seed-test-configuration"
---

# Get the choices available for a new seed test

`GET /v1/email/inbox-insights/seed-tests/configuration`

Returns what a new seed test can be configured with for a sending domain:
the seed pools the account can use, the regions seeds can be placed in, and
the engagement behaviours the seeds can simulate.

A seed pool flagged unavailable is one the account has not been provisioned
for, and no self-serve route enables one, so leave it out of the choices you
offer rather than showing it unpickable. This is reference data
that changes only when provisioning does, so it suits being fetched when a
configuration form opens rather than on every page view.

Scoped API keys, OAuth and service accounts require organization preview access.

## Code samples

**TypeScript**

```ts
// Requires Insights preview access for the organization.
let sendingDomain: string | undefined;
for await (const domain of bird.email.inboxInsights.domains.list({ search: "mail.example.com" })) {
  if (domain.domain === "mail.example.com") { sendingDomain = domain.domain; break; }
}
if (!sendingDomain) throw new Error("Verify mail.example.com in this workspace first");
const report = await bird.email.inboxInsights.seedTests.configuration.get({ sending_domain: sendingDomain });
console.log(report);
```

Examples: [TypeScript](/docs/api/reference/get-email-inbox-insights-seed-test-configuration.ts.md) · [Python](/docs/api/reference/get-email-inbox-insights-seed-test-configuration.py.md) · [Go](/docs/api/reference/get-email-inbox-insights-seed-test-configuration.go.md) · [PHP](/docs/api/reference/get-email-inbox-insights-seed-test-configuration.php.md) · [CLI](/docs/api/reference/get-email-inbox-insights-seed-test-configuration.cli.md) · [MCP](/docs/api/reference/get-email-inbox-insights-seed-test-configuration.mcp.md) · [cURL](/docs/api/reference/get-email-inbox-insights-seed-test-configuration.curl.md)

## Example response `200`

```json
{
  "resource": "seed-test-configuration",
  "domain": "mail.acme.com",
  "list_types": [
    {
      "value": "private",
      "available": true
    }
  ],
  "regions": [
    {
      "value": "North America - US"
    }
  ],
  "engagement_profiles": [
    {
      "value": "all",
      "available": true
    }
  ]
}
```

## Query parameters

- `sending_domain` (string): The sending domain a test would be registered for: one of the workspace's verified sending domains, exactly as it appears there. A domain that is not verified in this workspace answers not-found.

## Response body

- `resource` (string, required): Which resource this response is, echoed for self-description.
- `domain` (string, required): The sending domain these choices apply to.
- `list_types` (array of object, required): The seed pools, each flagged with whether the account can use it.
- `list_types.value` (string, required)

  The value to send when registering a test against this pool.

  Possible values (may grow over time): `private`, `public`, `exclusive`
- `list_types.available` (boolean, required): Whether this pool is provisioned for the account. An unavailable pool is one the account has not been set up for rather than one its plan forbids, and there is no self-serve way to enable one, so leave it out of the choices you offer rather than showing it unpickable.
- `regions` (array of object, required): The regions seeds can be placed in. Objects rather than bare strings, to match the two lists beside it: the measurement reports no availability for a region today, and an object can carry one later without a second array.
- `regions.value` (string, required): The value to send when registering a test against this region. Free text rather than an enumeration: the set belongs to the measurement and is wider than the continents it looks like, so send one of these back verbatim rather than composing your own.
- `engagement_profiles` (array of object, required): The engagement behaviours the seeds can simulate, each flagged with whether the account can use it.
- `engagement_profiles.value` (string, required)

  The value to send when registering a test against this behaviour.

  Possible values (may grow over time): `all`, `engaging`, `non_engaging`
- `engagement_profiles.available` (boolean, required): Whether this behaviour is provisioned for the account. As with the seed pools, an unavailable behaviour is one the account has not been set up for rather than one its plan forbids, so leave it out of the choices you offer rather than showing it unpickable.

## 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)
