Clone an email design
Creates a NEW design by copying the persisted source snapshot exactly. This is a deterministic database fork: it does not invoke an AI agent, reinterpret markup, re-host assets, or regenerate the preview.
Omit emailVersionId to clone the current latest row, or pass a version id from GET /v1/emails?emailId=<id>&include=versions to clone that exact historical snapshot. Optional targetGroupId (grp_… or ungrouped) or targetGroupName (resolve-or-create) — not both; omit to inherit the source group. Unknown targetGroupId → 404 EMAIL_GROUP_NOT_FOUND. The clone receives fresh design/version ids and a Copy of … title while JSX, rendered HTML, and the preview image remain identical.
Authorizations
Send your Brew API key as Authorization: Bearer brew_xxx.
Headers
Optional idempotency key for safe retries. Reusing the same key with the same request body returns the original response for 24 hours.
1 - 100The brand this request acts on. REQUIRED for organization-scoped credentials (otherwise 400 BRAND_ID_REQUIRED — there is no default brand); list ids with GET /v1/brands. Brand-scoped credentials may omit it, and sending a different brand returns 403 BRAND_SCOPE_MISMATCH. A brand outside your organization returns 404 BRAND_NOT_FOUND.
1 - 64Path Parameters
Design id returned by POST /v1/emails and listed by GET /v1/emails.
1 - 64"eml_2SmZOWV3ZQ7W5x6g3m4p"
Body
Optional exact source-version pin. Omit the body or send an empty object to clone latest.
Exact source version to clone (from list_email_designs with include: ["versions"]). Omit to clone the current latest version.
1 - 64Existing canvas group id (grp_…), or ungrouped. Mutually exclusive with targetGroupName.
1 - 64Resolve-or-create a group by this name. Mutually exclusive with targetGroupId.
1 - 60Response
Exact clone created. The response carries the clone’s new ids plus the unchanged rendered HTML and preview.