Skip to content

Create Email

POST
/api/v1/workspaces/{workspace_id}/emails
curl --request POST \
--url https://example.com/%7B%7Bapp_url%7D/api/v1/workspaces/1/emails \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "Welcome Email", "email_design_system_id": 1, "default_locale": "en-GB", "locales": [ "en-GB" ], "project_id": 1, "email_folder_id": 1, "brand_profile_id": 1, "link_tracking_profile_id": 1, "layout_id": 1 }'

Creates a new Email.

workspace_id
required
integer

Workspace ID

Media typeapplication/json
object
name
required

The name of the email.

string
Example
Welcome Email
email_design_system_id
required

The ID of the Email Design System to use for this email.

integer
Example
1
default_locale

A BCP 47 language tag identifying the language and region of a piece of content. Must carry both a language and a region subtag, and must be in canonical case (lowercase language, titlecase script, uppercase region) — en-GB, not en-gb or en_GB. The region may be a UN M.49 code, so en-001 (world) is valid.

string
Example
en-GB
locales
Array<string>
project_id
required

The ID of the Project this email belongs to.

integer
Example
1
email_folder_id

The ID of the folder to create this email in. Must belong to the selected project. Omit or pass null to create the email at the root of the project.

integer | null
Example
1
brand_profile_id

The ID of the Brand Profile to apply to this email. Must belong to the selected Email Design System.

integer | null
Example
1
link_tracking_profile_id

The ID of the Link Tracking Profile to use for tracking links in this email. If null, no link tracking is applied.

integer | null
Example
1
layout_id

The ID of the Layout to use for this email. Must belong to the selected Email Design System.

integer | null
Example
1

Successful

Media typeapplication/json
object
id
required
integer
status
required
string
Allowed values: draft in_review changes_requested approved published
name
required
string
project_id
required
integer
email_folder_id
required

The ID of the folder this email is in, or null if it is at the root of the project.

integer | null
created_at
required
string format: date-time
organization_id
required
integer
email_design_system_id
required
integer
default_locale
required

A BCP 47 language tag identifying the language and region of a piece of content. Must carry both a language and a region subtag, and must be in canonical case (lowercase language, titlecase script, uppercase region) — en-GB, not en-gb or en_GB. The region may be a UN M.49 code, so en-001 (world) is valid.

string
locales
required
Array<string>
updated_at
required
string format: date-time
last_updated_by
required
One of:
One of:
object
type
required
string
Allowed values: User
id
required
integer
first_name
required
string
last_name
required
string
profile_image_url
required
string | null
ai_edit_in_progress
required
boolean
translation_in_progress
required
boolean
brand_profile_id
required
integer | null
link_tracking_profile_id
required
integer | null
published_at
required
string | null format: date-time
screenshot_url
required
string
Example
{
"id": 12345,
"status": "draft",
"name": "My Email",
"project_id": 12345,
"email_folder_id": 12345,
"created_at": "2023-08-23T10:30:00.000Z",
"organization_id": 12345,
"email_design_system_id": 12345,
"default_locale": "en-GB",
"locales": [
"en-GB"
],
"updated_at": "2023-08-23T10:30:00.000Z",
"last_updated_by": {
"type": "User",
"id": 12345,
"first_name": "John",
"last_name": "Smith",
"profile_image_url": "https://example.com/profile.jpg"
},
"ai_edit_in_progress": false,
"translation_in_progress": false,
"brand_profile_id": 12345,
"link_tracking_profile_id": 12345,
"published_at": "2023-08-23T10:30:00.000Z",
"screenshot_url": "https://www.example.com/screenshot.png"
}

Unauthorized

Media typeapplication/json
object
message
required
string
code
string
Example
{
"message": "Record not found",
"code": "share_link_expired"
}

Forbidden

Media typeapplication/json
object
message
required
string
code
string
Example
{
"message": "Record not found",
"code": "share_link_expired"
}

Not Found

Media typeapplication/json
object
message
required
string
code
string
Example
{
"message": "Record not found",
"code": "share_link_expired"
}

Unprocessable Entity

Media typeapplication/json
object
message
required
string
errors
required
object
key
additional properties
Array<string>
Example
{
"errors": {
"username": [
"Username is required.",
"Username must be unique."
],
"email": [
"Invalid email format."
]
}
}