Update a shared asset

API at a glance

Description: This API allows you to update an existing HTML or Subject asset. You can modify the display name, content, and plain text settings.

Supported asset types:

  • html
  • subject

For more information about shared assets, see Shared assets overview.

Authentication & testing

Testing the API on this page

How to try it here

  • Use your User API Key as the Username (leave Password blank).
  • Select the appropriate API endpoint based on your Blueshift region.
  • API - Select Region
  • Enter the necessary parameters and click Try It to run the request.
Authentication using Base64 encoding

Note for developers

API requests require authentication using HTTP Basic Authentication with an API key. The API key serves as the username, while the password field should be left empty. The format to encode is: your_api_key: (note the trailing colon).

This string must be Base64-encoded and included in the request's Authorization header as follows:

Authorization: Basic encoded_value

You can generate the encoded value using a trusted Base64 encoder.


Postman collection

Try it with Postman: Explore the API using Blueshift's Postman collection.


Things to know before you start

  • Cannot update asset_type or shareable_name after creation. These fields are immutable.
  • For HTML assets: You can update display_name, content, plain_text, and is_plain_text_custom.
  • For Subject assets: You can update display_name and content. The plain_text and is_plain_text_custom fields do not apply.
  • You must provide the shared asset UUID as a path parameter. This value is returned when you create an asset.
  • Use case: Update content in shared assets without needing to recreate them or update references in templates.

Request parameters

Check out the request parameters

Path parameters

ParameterTypeRequiredDescription
uuidstring✅ YesThe UUID of the shared asset to update.

The UUID is returned in the response when you create a shared asset.

You can find the shared asset UUID in the URL when viewing or editing a shared asset in Blueshift.

Body parameters

Note: All body parameters are optional. Include only the fields you want to update.

Parameter

Type

Required

Description

display_name

string

❌ No

Human-readable name for the asset. Can be updated at any time.

Note: Updating display_name does not change the shareable_name.

content

string

❌ No

The actual content of the asset.

  • For HTML assets, provide HTML markup.
  • For Subject assets, provide plain text.

plain_text

string

❌ No

Plain text version of the HTML content.

Applicable only for HTML assets.

is_plain_text_custom

boolean

❌ No

Set to true if providing a custom plain_text version, false to auto-generate.

Applicable only for HTML assets.

Field update restrictions

Fields that CANNOT be updated:

  • asset_type - Once set during creation, it cannot be changed
  • shareable_name - This value is immutable and cannot be updated

Fields that CAN be updated:

  • display_name - Can be updated for both HTML and Subject assets
  • content - Can be updated for both HTML and Subject assets
  • plain_text - Can be updated for HTML assets only
  • is_plain_text_custom - Can be updated for HTML assets only

Example requests & responses

Update HTML asset
{
  "display_name": "Updated Welcome Header",
  "content": "<h1>Welcome to our updated store!</h1>"
}
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "asset_type": "html",
  "shareable_name": "bsft_Welcome_Email_Header",
  "display_name": "Updated Welcome Header",
  "author": "John Doe",
  "email": "[email protected]",
  "content": "<h1>Welcome to our updated store!</h1>",
  "plain_text": null,
  "is_plain_text_custom": false,
  "updated_at": "2026-01-28T09:30:00.000Z",
  "tag_data": ""
}
Update HTML asset with custom plain text
{
  "display_name": "Updated Product Announcement",
  "content": "<h2>New Product Launch Updated</h2><p>Check out our latest collection.</p>",
  "plain_text": "New Product Launch Updated - Check out our latest collection.",
  "is_plain_text_custom": true
}
{
  "uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "asset_type": "html",
  "shareable_name": "bsft_Product_Announcement",
  "display_name": "Updated Product Announcement",
  "author": "John Doe",
  "email": "[email protected]",
  "content": "<h2>New Product Launch Updated</h2><p>Check out our latest collection.</p>",
  "plain_text": "New Product Launch Updated - Check out our latest collection.",
  "is_plain_text_custom": true,
  "updated_at": "2026-01-28T09:30:00.000Z",
  "tag_data": ""
}
Update Subject asset
{
  "display_name": "Updated Welcome Subject",
  "content": "Welcome to our growing community!"
}
{
  "uuid": "c3d4e5f6-a7b8-9012-cdef-234567890123",
  "asset_type": "subject",
  "shareable_name": "bsft_Welcome_Subject_Line",
  "display_name": "Updated Welcome Subject",
  "author": "John Doe",
  "email": "[email protected]",
  "content": "Welcome to our growing community!",
  "plain_text": null,
  "is_plain_text_custom": null,
  "updated_at": "2026-01-28T09:30:00.000Z",
  "tag_data": ""
}

Response fields explained

Check out the response fields
FieldDescription
uuidUnique identifier for the shared asset.
asset_typeType of the asset (html or subject). Cannot be changed after creation.
shareable_nameAuto-generated unique identifier. Cannot be changed after creation.
display_nameHuman-readable name for the asset.
authorName of the user who last updated the asset.
emailEmail of the user who last updated the asset.
contentThe actual content of the asset (HTML or subject line text).
plain_textPlain text version of the content. null if not provided for HTML assets or not applicable for Subject assets.
is_plain_text_customIndicates whether plain text is custom (true) or auto-generated (false). null for Subject assets.
updated_atTimestamp of when the asset was last updated (ISO 8601 format).
tag_dataTags associated with the asset.

Common error scenarios

Common error scenarios you may encounter
Status codeDescriptionExample response
401 UnauthorizedAPI authentication failed due to invalid or missing API key.HTTP Basic: Access denied.
404 Not FoundThe specified shared asset UUID does not exist.{ "message": "Not Found" }
422 Unprocessable EntityValidation error (e.g., missing content or other required field).{ "errors": [{ "title": "content", "detail": "Content: can't be blank" }], "meta": { "combine_errors": false, "no_toast": false, "unformatted": { "content": ["can't be blank"] } } }
500 Internal Server ErrorAn unexpected server error occurred.{ "status": "500", "error": "Internal Server Error" }
Path Params
string
required
Body Params
string
string
string
boolean
Responses

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json