Skip to content

Update Email Comment

PATCH
/api/v1/workspaces/{workspace_id}/emails/{email_id}/email_comments/{email_comment_id}
curl --request PATCH \
--url https://example.com/%7B%7Bapp_url%7D/api/v1/workspaces/1/emails/1/email_comments/1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "body": "example" }'

Updates an email comment.

workspace_id
required
integer

Workspace ID

email_id
required
integer

Email ID

email_comment_id
required
integer

Email Comment ID

Media typeapplication/json
object
body
required
string
Examplegenerated
{
"body": "example"
}

Successful

Media typeapplication/json
object
id
required
integer
email_id
required
integer
ai_review_id
required
integer | null
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
author_type
string
Allowed values: User AiReviewer ShareLinkGuest
author
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
guest_email
required

Email address of the share link guest who wrote the comment. Null for other authors.

string | null
parent_id
required
integer | null
pin_data
required
One of:
object
id
required
string
component_instance_id
string
branch_key
string
coordinates
required
object
center_offset_x_px
required

The horizontal offset of the pin from the center of the component, in pixels.

number
y
required

The vertical position of the pin, as a percentage (0–1) from the top of the component.

number
anchor
required
One of:

Anchors a comment to a passage of text inside a component instance. The passage is found again in the rendered email by searching for the quote, so it survives edits elsewhere in the email.

object
id
required
string
component_instance_id
required
string
branch_key
required
string
quote
required
object
exact
required

The highlighted text, as it appears in the rendered email.

string
>= 1 characters
prefix

The text immediately before the highlighted text, used to tell repeated passages apart.

string
suffix

The text immediately after the highlighted text, used to tell repeated passages apart.

string
suggested_changes
required
Array<object>

A field value change suggested to address a comment.

object
component_instance_id
required
string
>= 1 characters
branch_key
required
string
>= 1 characters
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
liquid_variable
required

The liquid variable of the field to change.

string
>= 1 characters
value
required
One of:
string
body
required
string
resolved
required
boolean
resolver_id
required
integer | null
resolver
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
created_at
required
string format: date-time
Example
{
"id": 12345,
"email_id": 12345,
"ai_review_id": 54321,
"locale": "en-GB",
"author_type": "User",
"author": {
"type": "User",
"id": 12345,
"first_name": "John",
"last_name": "Smith",
"profile_image_url": "https://example.com/profile.jpg"
},
"guest_email": "jane@example.com",
"parent_id": 12345,
"pin_data": {
"id": "12345",
"component_instance_id": "12345",
"branch_key": "a_branch_key",
"coordinates": {
"center_offset_x_px": 0.5,
"y": 0.5
}
},
"anchor": {
"id": "0d3c9a52-8f0e-4a7b-9a1c-1f2e3d4c5b6a",
"component_instance_id": "5b2f8c1e-3d4a-4e6f-8a9b-0c1d2e3f4a5b",
"branch_key": "null_branch",
"quote": {
"exact": "Shop the sale",
"prefix": "Ends Sunday. ",
"suffix": " now"
}
},
"suggested_changes": [
{
"component_instance_id": "5b2f8c1e-3d4a-4e6f-8a9b-0c1d2e3f4a5b",
"branch_key": "null_branch",
"locale": "en-GB",
"liquid_variable": "headline",
"value": "Shop the sale"
}
],
"body": "This is a comment",
"resolved": false,
"resolver_id": 12345,
"resolver": {
"type": "User",
"id": 12345,
"first_name": "John",
"last_name": "Smith",
"profile_image_url": "https://example.com/profile.jpg"
},
"created_at": "2023-08-23T10:30:00.000Z"
}

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."
]
}
}