---
title: "Launch"
method: POST
path: "/api/v1/campaigns/{campaign_id}/launch"
tags: ["Campaigns"]
---

# Launch

`POST /api/v1/campaigns/{campaign_id}/launch`

## Request

- Base URL: `https://app.argorant.com`
- URL: `https://app.argorant.com/api/v1/campaigns/{campaign_id}/launch`
- Auth: HTTP bearer

Starts sending. Launch only after the user said yes. The answer carries `variable_coverage`: people without a value for a variable of the emails wait at that email and never get a blank. Refused with `launch_blocked` and the list of blockers while the campaign has no email, no mailbox with room, no people, or text that would go out as written ([link], TBD). When that text is meant, launch with `allow_placeholders: true`.

| Cost | What it does | Key scopes |
| --- | --- | --- |
| Free; emails count against the plan's monthly campaign email allowance | Sends email | `argorant:manage_lists` |

## Path parameters

- `campaign_id` string, uuid, required

## Headers

- `Idempotency-Key` string
- `X-Request-Id` string

## Request body

- object
  - `allow_placeholders` boolean: Send leftover placeholders as written. Only after the user saw them.

## Response `200`

OK

- object
  - `campaign` object
    - `id` string
    - `name` string
    - `status` string
    - `lead_count` integer
    - `queued_count` integer
    - `sent_count` integer
    - `replied_count` integer
    - `positive_reply_count` integer
    - `bounced_count` integer
    - `step_count` integer
    - `inbox_count` integer
    - `daily_limit` integer
    - `default_timezone` string
    - `created_at` string
    - `updated_at` string
    - `url` string

## Other responses

- `400`: 400 Bad request. `launch_blocked` when something is missing; details.blockers says what.
- `401`: 401 Unauthorized. `unauthorized` when the API key is missing, wrong or revoked.
- `403`: 403 Forbidden. `scope_missing` when the key lacks argorant:manage_lists.
- `404`: 404 Not found. `not_found` when the item does not exist in your workspace.
- `409`: 409 Conflict. `idempotency_conflict` when the Idempotency-Key was used with another body.
- `422`: 422 Validation error. `validation_error` when a field has the wrong type or is missing.
- `429`: 429 Too many requests. `rate_limited` when too many requests this minute.

---

[API](https://skmtc.dev/argorant/apis/argorant-api.md) · [All operations](https://skmtc.dev/argorant/apis/argorant-api/llms.txt) · [OpenAPI document](https://skmtc.dev/argorant/apis/argorant-api/revisions/4bc28c0085b6?raw)
