---
title: "Launch a ready campaign (e.g. 'gtm-engineers-apr26'): needs a bound list; relationship campaigns also need a message. Re"
method: POST
path: "/api/v1/campaigns/{campaign_id}/launch"
tags: ["campaigns"]
---

# Launch a ready campaign (e.g. 'gtm-engineers-apr26'): needs a bound list; relationship campaigns also need a message. Re

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

## Request

- Base URL: `https://crispy.sh`
- URL: `https://crispy.sh/api/v1/campaigns/{campaign_id}/launch`
- Auth: HTTP bearer

## Path parameters

- `campaign_id` string, required

## Request body

- object
  - `launch_receipt` string: The launch_receipt returned by preview_campaign_launch. Single-use; refused if the campaign changed after the preview.

## Response `200`

Success

## Other responses

- `401`: Missing or expired API key
- `403`: Insufficient key scope or permission denied
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crispy/apis/crispy-rest-api.md) · [All operations](https://skmtc.dev/crispy/apis/crispy-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crispy/apis/crispy-rest-api/revisions/6bed0974d9ce?raw)
