import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.templates.update(
'34a080c9-b17d-4187-ad80-5af20266e535',
{
name: 'order-confirmation',
html: '<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>',
},
);
$resend = Resend::client('re_xxxxxxxxx');
$resend->templates->update('34a080c9-b17d-4187-ad80-5af20266e535', [
'name' => 'order-confirmation',
'html' => '<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>',
]);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Templates.update({
"id": "34a080c9-b17d-4187-ad80-5af20266e535",
"name": "order-confirmation",
"html": "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
})
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Templates.update("34a080c9-b17d-4187-ad80-5af20266e535", {
name: "order-confirmation",
html: "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
})
package main
import (
"context"
"github.com/resend/resend-go/v3"
)
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Templates.UpdateWithContext(context.TODO(), "34a080c9-b17d-4187-ad80-5af20266e535", &resend.UpdateTemplateRequest{
Name: "order-confirmation",
Html: "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
})
}
use resend_rs::{
types::UpdateTemplateOptions,
Resend, Result,
};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let name = "order-confirmation";
let html = "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>";
let update = UpdateTemplateOptions::new(name, html);
let _template = resend
.templates
.update("34a080c9-b17d-4187-ad80-5af20266e535", update)
.await?;
Ok(())
}
import com.resend.*;
public class Main {
public static void main(String[] args) {
Resend resend = new Resend("re_xxxxxxxxx");
UpdateTemplateOptions params = UpdateTemplateOptions.builder()
.name("order-confirmation")
.html("<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>")
.build();
UpdateTemplateResponseSuccess data = resend.templates().update("34a080c9-b17d-4187-ad80-5af20266e535", params);
}
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
await resend.TemplateUpdateAsync(
templateId: new Guid( "e169aa45-1ecf-4183-9955-b1499d5701d3" ),
new TemplateData()
{
HtmlBody = "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
}
);
curl -X PATCH 'https://api.resend.com/templates/34a080c9-b17d-4187-ad80-5af20266e535' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"name": "order-confirmation",
"html": "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
}'
resend templates update 34a080c9-b17d-4187-ad80-5af20266e535 \
--name order-confirmation \
--html "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
{
"id": "34a080c9-b17d-4187-ad80-5af20266e535",
"object": "template"
}
Update Template
Update a template.
PATCH
/
templates
/
:template_id
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.templates.update(
'34a080c9-b17d-4187-ad80-5af20266e535',
{
name: 'order-confirmation',
html: '<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>',
},
);
$resend = Resend::client('re_xxxxxxxxx');
$resend->templates->update('34a080c9-b17d-4187-ad80-5af20266e535', [
'name' => 'order-confirmation',
'html' => '<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>',
]);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Templates.update({
"id": "34a080c9-b17d-4187-ad80-5af20266e535",
"name": "order-confirmation",
"html": "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
})
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Templates.update("34a080c9-b17d-4187-ad80-5af20266e535", {
name: "order-confirmation",
html: "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
})
package main
import (
"context"
"github.com/resend/resend-go/v3"
)
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Templates.UpdateWithContext(context.TODO(), "34a080c9-b17d-4187-ad80-5af20266e535", &resend.UpdateTemplateRequest{
Name: "order-confirmation",
Html: "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
})
}
use resend_rs::{
types::UpdateTemplateOptions,
Resend, Result,
};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let name = "order-confirmation";
let html = "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>";
let update = UpdateTemplateOptions::new(name, html);
let _template = resend
.templates
.update("34a080c9-b17d-4187-ad80-5af20266e535", update)
.await?;
Ok(())
}
import com.resend.*;
public class Main {
public static void main(String[] args) {
Resend resend = new Resend("re_xxxxxxxxx");
UpdateTemplateOptions params = UpdateTemplateOptions.builder()
.name("order-confirmation")
.html("<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>")
.build();
UpdateTemplateResponseSuccess data = resend.templates().update("34a080c9-b17d-4187-ad80-5af20266e535", params);
}
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
await resend.TemplateUpdateAsync(
templateId: new Guid( "e169aa45-1ecf-4183-9955-b1499d5701d3" ),
new TemplateData()
{
HtmlBody = "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
}
);
curl -X PATCH 'https://api.resend.com/templates/34a080c9-b17d-4187-ad80-5af20266e535' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"name": "order-confirmation",
"html": "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
}'
resend templates update 34a080c9-b17d-4187-ad80-5af20266e535 \
--name order-confirmation \
--html "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
{
"id": "34a080c9-b17d-4187-ad80-5af20266e535",
"object": "template"
}
Path Parameters
string
The ID or alias of the template to duplicate.
Body Parameters
string
The name of the template.
string
The HTML version of the template.
string
The alias of the template.
string
Sender email address.To include a friendly name, use the format
"Your Name <sender@domain.com>".If provided, this value can be overridden when sending an email using the template.string
Default email subject.This value can be overridden when sending an email using the template.
string
The plain text version of the message.
If not provided, the HTML will be used to generate a plain text version. You can opt out of this behavior by setting value to an empty string.
React.ReactNode
The React component used to write the template. Only available in the Node.js
SDK.
array
The array of variables used in the template. Each template may contain up to 50 variables.Each variable is an object with the following properties:
Hide properties
Hide properties
string
required
The key of the variable. We recommend capitalizing the key (e.g.
PRODUCT_NAME). The following variable names are reserved and cannot be used:
FIRST_NAME, LAST_NAME, EMAIL, RESEND_UNSUBSCRIBE_URL, contact, and this.'string' | 'number'
required
The type of the variable.Can be
'string' or 'number'Before you can use a template, you must publish it first. To publish a
template, use the Templates dashboard or
publish template API.Learn more about Templates.
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.templates.update(
'34a080c9-b17d-4187-ad80-5af20266e535',
{
name: 'order-confirmation',
html: '<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>',
},
);
$resend = Resend::client('re_xxxxxxxxx');
$resend->templates->update('34a080c9-b17d-4187-ad80-5af20266e535', [
'name' => 'order-confirmation',
'html' => '<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>',
]);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Templates.update({
"id": "34a080c9-b17d-4187-ad80-5af20266e535",
"name": "order-confirmation",
"html": "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
})
require "resend"
Resend.api_key = "re_xxxxxxxxx"
Resend::Templates.update("34a080c9-b17d-4187-ad80-5af20266e535", {
name: "order-confirmation",
html: "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
})
package main
import (
"context"
"github.com/resend/resend-go/v3"
)
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Templates.UpdateWithContext(context.TODO(), "34a080c9-b17d-4187-ad80-5af20266e535", &resend.UpdateTemplateRequest{
Name: "order-confirmation",
Html: "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
})
}
use resend_rs::{
types::UpdateTemplateOptions,
Resend, Result,
};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let name = "order-confirmation";
let html = "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>";
let update = UpdateTemplateOptions::new(name, html);
let _template = resend
.templates
.update("34a080c9-b17d-4187-ad80-5af20266e535", update)
.await?;
Ok(())
}
import com.resend.*;
public class Main {
public static void main(String[] args) {
Resend resend = new Resend("re_xxxxxxxxx");
UpdateTemplateOptions params = UpdateTemplateOptions.builder()
.name("order-confirmation")
.html("<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>")
.build();
UpdateTemplateResponseSuccess data = resend.templates().update("34a080c9-b17d-4187-ad80-5af20266e535", params);
}
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
await resend.TemplateUpdateAsync(
templateId: new Guid( "e169aa45-1ecf-4183-9955-b1499d5701d3" ),
new TemplateData()
{
HtmlBody = "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>",
}
);
curl -X PATCH 'https://api.resend.com/templates/34a080c9-b17d-4187-ad80-5af20266e535' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"name": "order-confirmation",
"html": "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
}'
resend templates update 34a080c9-b17d-4187-ad80-5af20266e535 \
--name order-confirmation \
--html "<p>Total: {{{PRICE}}}</p><p>Name: {{{PRODUCT}}}</p>"
{
"id": "34a080c9-b17d-4187-ad80-5af20266e535",
"object": "template"
}
Was this page helpful?
⌘I