---
title: "Create or update email templates"
method: POST
path: "/notifications/email-templates/import"
tags: ["Notifications"]
---

# Create or update email templates

`POST /notifications/email-templates/import`

Creates email templates for standard or custom events if you do not specify email template IDs, or updates existing email templates if you specify valid email template IDs.

For each email template when you are creating email templates, whether the template is created for a standard event, a custom event, or a custom scheduled event is dependent on whether you specify the `eventCategory` or `eventTypeName` field.

- If you specify the `eventCategory` field, the email template is created based on a standard event. See [Standard Event Categories](https://docs.zuora.com?resourceId=platform-parent-and-event-category-code) for all standard event category codes.
- If you specify the `eventTypeName` field, the email template is created based on the corresponding custom event or custom scheduled event. See [Custom event triggers](https://developer.zuora.com/api-references/api/tag/Custom-Event-Triggers/) for more information about custom events, and [Custom scheduled events](https://developer.zuora.com/api-references/api/tag/Custom-Scheduled-Events/) for more information about custom scheduled events.

The maximum number of email templates that you can create or update by one call is 1,000.

## Headers

- `Idempotency-Key` string
- `Accept-Encoding` string
- `Content-Encoding` string
- `Zuora-Track-Id` string
- `Zuora-Entity-Ids` string
- `Zuora-Org-Ids` string

## Request body

- POSTCreateOrUpdateEmailTemplateRequest
  - `allowPartialSuccess` boolean — When set to `false`, the call will fail if one or multiple instances fail to import, and a `200` response is returned if all email templates have been successfully updated. When set to `true`, a success (`200`) response is returned if one or more instances have imported successfully. All failed instances are also returned in the response.
  - `emailTemplates` POSTCreateOrUpdateEmailTemplateRequestFormat[] — A container for email templates.
    - `active` boolean — The status of the email template. The default value is `true`.
    - `bccEmailAddress` string, email — The email bcc address.
    - `ccEmailAddress` string — The email CC address.
    - `ccEmailType` 'BillToContact' | 'SoldToContact' | 'ShipToContact' | 'SpecificEmails' | 'TenantAdmin' | 'BillToAndSoldToContacts' | 'RunOwner' | 'AllContacts' | 'InvoiceOwnerBillToContact' | 'InvoiceOwnerSoldToContact' | 'InvoiceOwnerShipToContact' | 'InvoiceOwnerBillToAndSoldToContacts' | 'InvoiceOwnerAllContacts' — Email CC type. - When the related event is account-level and associated with the Subscription object, such as Subscription Created, you can use the following values: - BillToContact - SoldToContact - ShipToContact - BillToAndSoldToContacts - AllContacts - SpecificEmails - InvoiceOwnerBillToContact - InvoiceOwnerSoldToContact - InvoiceOwnerShipToContact - InvoiceOwnerBillToAndSoldToContacts - InvoiceOwnerAllContacts - When the related event is account-level and not associated with the Subscription object, such as Payment Processed, you can use the following values: - BillToContact - SoldToContact - ShipToContact - BillToAndSoldToContacts - AllContacts - SpecificEmails - When the related event is tenant-level, such as Bill Run Completion, you can use the following values: - TenantAdmin - RunOwner - SpecificEmails
    - `description` string — The description of the email template.
    - `emailBody` string, required — The email body. You can add merge fields in the email body using angle brackets or double curly brackets. For more information, see <a href="https://docs.zuora.com?resourceId=platform-merge-field-syntax" target="_blank">Merge field syntax for email templates</a>. You can also embed HTML tags if `isHtml` is `true`.
    - `emailHeaders` object — Container for custom email headers. Each custom email header consists of a header name and a header value.
    - `emailSubject` string, required — The email subject. You can add merge fields in the email subject using angle brackets or double curly brackets. For more information, see <a href="https://docs.zuora.com?resourceId=platform-merge-field-syntax" target="_blank">Merge field syntax for email templates</a>.
    - `encodingType` 'UTF8' | 'Shift_JIS' | 'ISO_2022_JP' | 'EUC_JP' | 'X_SJIS_0213' — The endcode type of the email body.
    - `eventCategory` number — If you specify this field, the email template is created based on a standard event. See [Standard Event Categories](https://docs.zuora.com?resourceId=platform-parent-and-event-category-code) for all standard event category codes.
    - `eventTypeName` string — The name of the custom event or custom scheduled event. If you specify this field, the email template is created based on the corresponding custom event or custom scheduled event.
    - `eventTypeNamespace` string — The namespace of the `eventTypeName` field. The `eventTypeName` has the `user.notification` namespace by default. Note that if the `eventTypeName` is a standard event type, you must specify the `com.zuora.notification` namespace; otherwise, you will get an error. For example, if you want to create an email template on the `OrderActionProcessed` event, you must specify `com.zuora.notification` for this field.
    - `fromEmailAddress` string — If fromEmailType is SpecificEmail, this field is required.
    - `fromEmailType` 'TenantEmail' | 'RunOwner' | 'SpecificEmail', required — The type of the email.
    - `fromName` string — The name of the email sender.
    - `id` string — ID of an existing email template. Specify this field if you want to update an existing email template.
    - `isHtml` boolean — Indicates whether the style of email body is HTML. The default value is `false`.
    - `name` string, required — The name of the email template, a unique name in a tenant.
    - `replyToEmailAddress` string — If `replyToEmailType` is `SpecificEmail`, this field is required.
    - `replyToEmailType` 'TenantEmail' | 'RunOwner' | 'SpecificEmail' — Type of the replyTo email.
    - `toEmailAddress` string — If toEmailType is SpecificEmail, this field is required.
    - `toEmailType` 'BillToContact' | 'SoldToContact' | 'ShipToContact' | 'SpecificEmails' | 'TenantAdmin' | 'BillToAndSoldToContacts' | 'RunOwner' | 'AllContacts' | 'InvoiceOwnerBillToContact' | 'InvoiceOwnerSoldToContact' | 'InvoiceOwnerShipToContact' | 'InvoiceOwnerBillToAndSoldToContacts' | 'InvoiceOwnerAllContacts', required — Email receive type. - When the related event is account-level and associated with the Subscription object, such as Subscription Created, you can use the following values: - BillToContact - SoldToContact - ShipToContact - BillToAndSoldToContacts - AllContacts - SpecificEmails - InvoiceOwnerBillToContact - InvoiceOwnerSoldToContact - InvoiceOwnerShipToContact - InvoiceOwnerBillToAndSoldToContacts - InvoiceOwnerAllContacts - When the related event is account-level and not associated with the Subscription object, such as Payment Processed, you can use the following values: - BillToContact - SoldToContact - ShipToContact - BillToAndSoldToContacts - AllContacts - SpecificEmails - When the related event is tenant-level, such as Bill Run Completion, you can use the following values: - TenantAdmin - RunOwner - SpecificEmails

## Response `200`

OK

- CreateOrUpdateEmailTemplatesResponse
  - `reasons` string[] — Returns an empty array if the request succeeds.

---

[API](https://skmtc.dev/zuora/apis/api-reference.md) · [All operations](https://skmtc.dev/zuora/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zuora/api-reference/revisions/d11e237f3e54/schema)
