Skip to main content
curl --request PATCH \
  --url https://api.getvero.com/api/v2/api/v2/campaign-messages/{campaign_message_id}/content/{id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "subject": "Updated",
  "content": {
    "html": "<p>Updated</p>"
  }
}
'
{
  "id": 123,
  "locale": "<string>",
  "name": "<string>",
  "is_default": true,
  "content": {
    "mjml": "<string>",
    "html": "<string>",
    "text": "<string>",
    "payload": {}
  },
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "subject": "<string>",
  "preheader_text": "<string>"
}

Authorizations

Authorization
string
header
required

Accepts either a raw secret key or Bearer <sk_KEY>.

Headers

revision
string

Optional dated API revision for the request. Must use YYYY-MM-DD format.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-03-01"

Path Parameters

campaign_message_id
integer
required

Campaign message ID.

id
integer
required

Campaign content record ID.

Body

application/json
name
string | null
subject
string | null
preheader_text
string | null
locale
string | null

Localized contents can update locale. Note the default content variant cannot be localized in-place.

content
object

Exactly one of mjml, html, text or payload must be present in write requests. Email messages accept mjml, html, or text. SMS accepts text. Push accepts payload.

Response

Campaign content updated.

id
integer
required
locale
string | null
required

null for the default content variant.

name
string | null
required
is_default
boolean
required
content
object
required

Full body: exactly one of mjml, html, text or payload is set.

created_at
string<date-time>
required
updated_at
string<date-time>
required
subject
string | null
preheader_text
string | null