Skip to main content
PATCH
Edit an email design

Authorizations

Authorization
string
header
default:Bearer brew_your_api_key
required

Send your Brew API key as Authorization: Bearer brew_xxx.

Headers

X-Brand-Id
string

The 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.

Required string length: 1 - 64

Path Parameters

emailId
string
required

Design id returned by POST /v1/emails and listed by GET /v1/emails.

Required string length: 1 - 64
Example:

"eml_2SmZOWV3ZQ7W5x6g3m4p"

Body

application/json

A natural-language prompt edit, with an optional emailVersionId source pin and optional contentUrls. Identity lives on the path.

prompt
string
required

The edit to make, in plain language — e.g. "swap the hero for the spring campaign image and tighten the CTA copy". Scoped edits beat full rewrites.

Minimum string length: 1
emailVersionId
string

Pin the edit to a specific source version (from list_email_designs include: ["versions"]). Omit to edit the current latest.

Required string length: 1 - 64
contentUrls
string<uri>[]

Up to 8 URLs whose content grounds the edit (e.g. the product page the new section should describe).

Maximum array length: 8

Response

Updated design (a new latest version row was written) or a text response if the agent returned prose instead of a design. USAGE-metered: the agent’s actual token usage is charged (no fixed price).

emailId
string
required
Minimum string length: 1
emailVersionId
string
required
Minimum string length: 1
html
string
required
previewImage
string<uri>