---
title: "Run the free test-mode demo (test-mode accounts only)."
method: POST
path: "/demo/run"
tags: ["sandbox"]
---

# Run the free test-mode demo (test-mode accounts only).

`POST /demo/run`

## Request

- Base URL: `https://api.coldrig.dev`
- URL: `https://api.coldrig.dev/demo/run`
- Auth: HTTP bearer

On a trial account, a campaign you launch plays out by itself as a simulation, with no demo step and whatever its sending hours, and no email reaches a real inbox. Its sends, replies, bounces and follow-ups show in `campaign_results`, `metrics` and `inbox`. A short list is fully played out when the launch answers; a longer list answers with part of it played and finishes by itself, with no further call, and reading the results again shows the counts grow. Contacts you add and a campaign you resume play out the same way. A campaign launched before `setup_infrastructure` waits and starts by itself once setup has made the mailboxes. The launch, add-contacts and resume answers of a trial account carry `simulation` (`sent`, `replies`, `bounces`, `complaints`, `waiting` and, when `waiting` is above zero, `reason`), counting what that call played; a paid account's answers have no `simulation`. Among the contacts whose address has no marker word, the 2nd replies and, from three contacts up, the last one bounces; an address whose part before the `@` contains `complaint` (a complaint), `softbounce` (a soft bounce), `bounce` (a hard bounce) or `reply` (a reply) gets that outcome instead. Nothing simulated pauses, throttles or replaces anything, on the trial or after you pay, and going live removes every bounce and complaint the simulation put on your suppression list, so those contacts can be mailed; an unsubscribe and an entry you added by hand stay. A trial account can launch up to 5 test campaigns in any 24 hours, each holding up to 100 contacts, which is enough for a small test. Both are limits of the trial, not of Coldrig: going live removes them. Nothing in a campaign launched on the trial is ever really sent: when the account goes live, the emails it still has waiting are canceled and it cannot be resumed or added to, so launch a new campaign to send real email. To see the built-in sample campaign instead, call this endpoint (HTTP only, not an MCP tool; send no body). It moves the account's clock forward 32 days, launches its own built-in sample campaign to contacts at `demo-leads.coldrig.dev`, sends step 1, reads the test-mode inbox, sends step 2 to the contacts that did not reply or bounce, and reads it again. Run it after `setup_infrastructure`: with no mailboxes it sends nothing. The built-in campaign stays listed as active, is replaced by the next run, and cannot be resumed or added to. Any other plan gets 403; at most one run per minute and 20 per account in total (429 beyond either).

## Response `200`

The run's totals.

- object
  - `sent` integer, required
  - `replies` integer, required
  - `bounces` integer, required
  - `complaints` integer, required
  - `stopOnReplyProof` object, nullable, required: A replied contact and whether its remaining steps were cancelled; null when nobody replied.
    - `leadEmail` string, required
    - `remainingStepsCancelled` boolean, required
  - `sampleThread` object, nullable, required: The replied contact's thread (same shape as GET /threads/{id}); null when nobody replied.

## Other responses

- `401`: Missing, invalid, or inactive bearer token.
- `403`: The account is not a test-mode account.
- `429`: A run in the last minute, or the account's 20 runs used.

---

[API](https://skmtc.dev/coldrig/apis/agent-cold-email-api.md) · [All operations](https://skmtc.dev/coldrig/apis/agent-cold-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/coldrig/apis/agent-cold-email-api/revisions/242a462d82c4?raw)
