Overview
The CrashPlan environment automatically sends email notifications for various system events, including user backup status alerts, administrator backup status reports, and password recovery requests. These notifications rely on standardized templates (.eml files) stored within your CrashPlan cloud instance.
Considerations
- To complete this process, you must have the Customer Cloud Admin role.
- This process requires use of the CrashPlan API. If you are not familiar with using APIs, review CrashPlan API syntax and usage.
- Users in organizations where Client visibility is set to Hidden do not receive email notifications.
- For advanced support, contact your Account Executive to engage the CrashPlan Professional Services team.
Template Changes are Live
Modifications made via the API apply immediately to the production email system. There is no staging or test environment available to preview your layouts before they go live.
API Structure and Syntax
Base URL
The base URL for your API requests matches the exact URL you use to sign into the CrashPlan console:
-
United States (US1):
https://console.us1.crashplan.com -
United States (US2):
https://console.us2.crashplan.com -
Ireland (EU5):
https://console.eu5.cpg.crashplan.com
In the examples below, replace <BaseURL> with your console URL.
Endpoint Paths
The following API resources are used to customize the text and branding of email templates:
Sender and content:
/api/v4/email-text-customization/Co-branding logo:
/api/v3/EmailLogoCustomization/
Customization Parameters
When updating text using the email-text-customization resource, you construct your JSON payload using two variable pairs: a Category (to define the target scope) and a Segment (to define the specific layout component).
Categories
Choose the category that matches the email notification you want to customize:
| Category | Description |
|---|---|
| GLOBAL | Applies your customization across all outgoing email notification templates. |
| BACKUP_ALERTS | Targets warning or critical Backup Alert notifications sent to users. |
| BACKUP_REPORTS | Targets the scheduled Backup Status Report regularly sent to admins. |
| PASSWORD_RESET_USER | Targets password reset emails sent when a user initiated a reset from the sign-in page. |
| PASSWORD_RESET_ADMIN | Targets password reset emails sent when an admin pushes a reset from the console. |
Segments
Choose the segment component within your chosen category that you wish to modify:
| Segment | Description |
|---|---|
| SENDER_EMAIL | Overrides the default "From" address (e.g., changing it to noreply@yourcompany.com). |
| TITLE | Customizes the text or HTML header at the top of the email. |
| BODY | Customizes the primary text or HTML content block. |
| MESSAGE_FOOTER | Customizes the text or HTML appended to the bottom section of the email. |
Text Customization Guide
The examples below utilize curl for HTTP communication and pipe outputs to the Python JSON tool (python3 -mjson.tool) for enhanced readability.
Step 1: Send Test Emails
Before editing, send yourself baseline test emails via the CrashPlan console command-line interface:
Sign in to the console with administrative credentials.
Press Ctrl + Shift + X to open the CLI.
Execute the following commands individually, replacing
<username>with your email address:
test.email <username> backup_alerts
test.email <username> backup_reports
test.email <username> password_reset_user
test.email <username> password_reset_admin Step 2: Retrieve Current Email Templates
View the existing templates and structure using the /api/v4/email-text-customization/view endpoint. Replace <AuthToken> with your authorization token (see: obtain an authorization token):
curl -vv -H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "authorization: Bearer <AuthToken>" \
"<BaseURL>/api/v4/email-text-customization/view" | python3 -mjson.toolExample Response
Below is a truncated example response. The "defaultContent" keys represent content when a segment hasn't been customized:
{
"metadata": {
"date": "2026-07-20T11:01:44.129-06:00",
"headers": []
},
"data": {
"emailTextCustomizations": [
{
"category": "GLOBAL",
"segment": "MESSAGE_FOOTER",
"contentType": "SIMPLIFIED_HTML",
"defaultContent": "This is a message from CrashPlan.<br /><Your Company Address><br />© 2026 CrashPlan. All rights reserved."
},
{
"category": "GLOBAL",
"segment": "SENDER_EMAIL",
"contentType": "EMAIL_ADDRESS",
"defaultContent": "noreply@crashplan.com"
},
{
"category": "BACKUP_ALERTS",
"segment": "TITLE",
"contentType": "SIMPLIFIED_HTML",
"defaultContent": "<h1>Backup Alert!</h1><p>The following device has been unable to reach any backup destinations. To reduce the risk of data loss, please follow the instructions below.</p>"
},
{
"category": "BACKUP_REPORTS",
"segment": "BODY",
"contentType": "SIMPLIFIED_HTML",
"defaultContent": "<h1>Backup Status Report</h1><p>Below is a regular backup status report to keep you informed about the health of your devices' backups.</p><p>For more information, <a href=\"https://support.crashplan.com\">please see the documentation</a>.</p>"
}
]
}
}Step 3: Format and Create Customizations
Create a payload JSON file (e.g., updateEmail.json), containing your category and segment combinations. Only include segments you wish to update.
Syntax rules: Omit the
"data"and"contentType"wrappers from your final payload, rename the target field from"defaultContent"to"content".Supported HTML Tags: Text objects support headings
<h1>to<h6>, paragraphs<p>, hyperlinks<a href>, line breaks<br />, and simple styling flags (<b>,<i>,<u>,<strong>,<code>,<ul>,<li>, etc.).
Example JSON Payload
{
"emailTextCustomizations": [
{
"category": "GLOBAL",
"segment": "MESSAGE_FOOTER",
"content": "This is a message from Example Corporation, 1234 Anywhere, USA. Copyright: 2019 Example Corporation, Inc. All rights reserved."
},
{
"category": "GLOBAL",
"segment": "SENDER_EMAIL",
"content": "noreply@example.com"
},
{
"category": "BACKUP_ALERTS",
"segment": "TITLE",
"content": "<h1>You need to back up.</h1><p>The following device has been unable to reach any backup destinations. Follow the instructions below.</p>"
},
{
"category": "PASSWORD_RESET_ADMIN",
"segment": "BODY",
"content": "<h1>Reset Your Password</h1><p>Your CrashPlan account administrator has requested a password reset for your account. Click the following link to reset it.</p><p>This link can only be used once.</p>"
}
]
}Step 4: Apply Customizations
Send an /api/v4/email-text-customization/update API request from the directory containing your file:
curl -vv -H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "authorization: Bearer <AuthToken>" \
-d "@updateEmail.json" \
"<BaseURL>/api/v4/email-text-customization/update"A successful update will return a HTTP header response ending in HTTP/1.1 204 No Content.
Step 5: Verify Changes
You can verify the system successfully registered your updates by re-running the view request from Step 2. Your adjustments will appear under a new "customizedContent" label:
{
"data": {
"emailTextCustomizations": [
{
"category": "GLOBAL",
"segment": "SENDER_EMAIL",
"defaultContent": "noreply@crashplan.com",
"customizedContent": "noreply@example.com"
}
]
}
}You can also re-run the test email commands outlined in Step 1 to review the live output layout and updated copy directly within your inbox.
Reverting to Default Content
To remove customizations for one or more segments and go back to their defaults, target them in a JSON payload (e.g. removeEmail.json):
{
"emailTextCustomizations": [
{
"category": "GLOBAL",
"segment": "MESSAGE_FOOTER"
},
{
"category": "GLOBAL",
"segment": "SENDER_EMAIL"
}
]
}Send the payload to the /api/v4/email-text-customization/remove endpoint:
curl -vv -H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "authorization: Bearer <AuthToken>" \
-d "@removeEmail.json" \
"<BaseURL>/api/v4/email-text-customization/remove"A successful removal will return a HTTP/1.1 204 No Content status.
Co-Branding Logo Customization
Image Requirements
- Format: JPEG or PNG
- Max Height: 36 pixels
- Max Width: 121 pixels
Add your corporate branding next to the CrashPlan logo using the EmailLogoCustomization endpoint.
-
Add a Logo (POST):
curl -vv -X POST -H "authorization: Bearer <AuthToken>" \ -H "Content-Type: multipart/form-data" \ --form "logo=@CompanyLogo.png" \ "<BaseURL>/api/v3/EmailLogoCustomization" -
Verify / Download Current Logo (GET):
curl -vv -X GET -H "authorization: Bearer <AuthToken>" \ -o CopyOfMyCompanyLogo.png \ "<BaseURL>/api/v3/EmailLogoCustomization"(A successful download yields a terminal line stating
Content-Type: image/pngorimage/jpeg) -
Update an Existing Logo (PUT):
curl -vv -X PUT -H "authorization: Bearer <AuthToken>" \ -H "Content-Type: multipart/form-data" \ --form "logo=@NewCompanyLogo.png" \ "<BaseURL>/api/v3/EmailLogoCustomization" -
Delete Logo Customization (DELETE):
curl -vv -X DELETE -H "authorization: Bearer <AuthToken>" \ "<BaseURL>/api/v3/EmailLogoCustomization"