---
title: "update_email_campaign"
method: POST
path: "/update_email_campaign"
tags: ["email_campaign"]
---

# update_email_campaign

`POST /update_email_campaign`

## Request

- Base URL: `https://app.podmule.com/api/v1`
- URL: `https://app.podmule.com/api/v1/update_email_campaign`
- Auth: HTTP bearer

Update an existing draft email campaign. Use this for "update the newsletter", "update the MainBody/main content", "replace the newsletter article", subject/preheader tweaks, template changes, or audience changes. If the selected template has multiple user content slots and the user did not name the target section, ask which section to update and list the content_slots before calling this tool. Only draft campaigns can be updated.

## Headers

- `Idempotency-Key` string
- `X-PodMule-Dry-Run` 'true' | 'false'

## Request body

- unknown

## Response `200`

Capability output wrapped in `{ data }`.

- object
  - `data` unknown, required

## Other responses

- `400`: Invalid input — Zod validation failed.
- `401`: Missing, malformed, or audience-mismatched bearer token.
- `403`: Token is valid but lacks the required scope.
- `404`: Capability not registered, or referenced resource not found.
- `409`: IDEMPOTENCY_KEY_REUSED — same Idempotency-Key was used previously with a different request body.
- `429`: Rate limit exceeded. Retry after the period in `Retry-After`.
- `500`: Internal error.

---

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