Sign inGet Started

Register a seed test and get its addresses

POST
/v1/email/inbox-insights/seed-tests
// Requires Insights preview access for the organization.
const idempotencyKey = process.env.IDEMPOTENCY_KEY;
if (!idempotencyKey) throw new Error("Set IDEMPOTENCY_KEY to a unique key for this registration and retain it for retries");
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 configuration = await bird.email.inboxInsights.seedTests.configuration.get({ sending_domain: sendingDomain });
const pool = configuration.list_types.find(choice => choice.available);
const profile = configuration.engagement_profiles.find(choice => choice.available);
const region = configuration.regions[0];
if (!pool || !profile || !region) throw new Error("No seed-test options available");

const report = await bird.email.inboxInsights.seedTests.create({ sending_domain: sendingDomain, list_type: pool.value, engagement_profile: profile.value, regions: [region.value] }, { idempotencyKey });
console.log(report);
Reactie201
{
  "registration_id": "43ea66c8-6837-48a4-b81b-26fdf5cc8cd8",
  "seed_addresses": [
    {
      "address": "sd8241.hk@example-seeds.net",
      "mailbox_provider": "gmail",
      "region": "North America - US",
      "engaging": true
    }
  ],
  "seed_count": 212,
  "expires_at": "2026-08-27T09:12:00Z"
}

Registers a seed test for a sending domain and returns the seed addresses it measures.

Registering a test does not add the addresses to a send. Include them in the recipients of the send you want measured, and results appear as the seed mail arrives. A test that receives no seed mail before it expires never produces results.

The test appears in the seed-test list for the domain once its seed mail has been measured, carrying the subject and the date of the send it rode on. Those two fields are what tell you the send has happened.

Registering spends one of the organization's seed-test allowance whether or not the send goes out, and an expired test does not return it, so register when the send you want measured is ready. The configuration endpoint reports which seed pools, regions, and engagement behaviours this domain's account can use.

Send an Idempotency-Key and reuse it with the unchanged request when retrying a lost response. Before running the curl example, set IDEMPOTENCY_KEY to a unique key for this registration and retain it for retries of the same intent. If registration cannot be confirmed, the API returns 409 E27008 and retains that outcome for keyed retries while the replay result remains available. The allowance may have been used. Contact support before starting another test; a new key or a request without a key can register another batch. A replay does not recover addresses from an uncertain result.

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

Verzoekpayload

sending_domain
string
verplicht

The sending domain the test measures: one of the workspace's verified sending domains, exactly as it appears there.

list_type
string
verplicht

Which seed pool to draw addresses from. Use a value the seed-test configuration reports as available for this account.

Possible values (may grow over time): private, public, exclusive

engagement_profile
string
verplicht

Which engagement behaviour the seeds should simulate. Mixing both behaviours is what makes the engaged-against-dormant comparison measurable.

Possible values (may grow over time): all, engaging, non_engaging

regions
array of string
verplicht

The regions to place seeds in, as the seed-test configuration names them.

label
string

A name attached to this registration. It is not returned in seed-test history.

Response Payload

registration_id
string
verplicht

Identifies this registration. It is not the identifier the seed-test list reports for the resulting test.

It is here so a registration can be quoted in a support conversation, and so a client can tell two registrations apart. To read the results, find the test in the seed-test list for this domain.

seed_addresses
array of object
verplicht

Every address to include in the tested send. Copy them into the send's recipients; results are measured from mail these addresses receive.

Onderliggende attributen tonen
seed_count
integer
verplicht

How many seed addresses the test issued.

expires_at
string
verplicht

When the test expires if no seed mail has arrived. An expired test never produces results, and the allowance it spent is not returned, so send before this time.

Ga verder met de documentatie, handleidingen en voorbeelden voor dit onderwerp.