Skip to main content
POST

Authorizations

Authorization
string
header
default:Bearer brew_your_api_key
required

Send your Brew API key as Authorization: Bearer brew_xxx.

Headers

Idempotency-Key
string

Optional idempotency key for safe retries. Reusing the same key with the same request body returns the original response for 24 hours.

Required string length: 1 - 100
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

Body

application/json
format
enum<string>
required
Available options:
html,
mjml,
jsx
content
string
required
Minimum string length: 1
title
string
Required string length: 1 - 200
subjectLine
string

Inbox subject line to set on the design (subjectLine — distinct from title, the canvas name). Sends still take an explicit per-send subject; this is the design's default, seeded into the send dialog and returned by GET /v1/emails?emailId=.

Required string length: 1 - 250
baseUrl
string<uri>
targetGroupId
string

Existing canvas group id (grp_…), or ungrouped. Mutually exclusive with targetGroupName.

Required string length: 1 - 64
targetGroupName
string

Resolve-or-create a group by this name. Mutually exclusive with targetGroupId.

Required string length: 1 - 60

Response

The design was imported + persisted. Free — no model runs. emailVersionId pins the exact version for sends + automation nodes.

emailId
string
required
Minimum string length: 1
emailVersionId
string
required
Minimum string length: 1
html
string
required
group
object | null
required
assetReport
object
required
previewImage
string<uri>
subjectLine
string