Node.js
import { Rewrite } from '@rewritetoday/sdk';
const rewrite = new Rewrite(process.env.REWRITE_API_KEY!);
const { data, error } = await rewrite.templates.create({
name: 'login_code',
description: 'Template usado no fluxo de login',
content: 'Rewrite: seu codigo e {{code}}',
tags: { flow: 'otp', channel: 'login' },
variables: [{ name: 'code', fallback: '478201' }],
});
if (error) throw error;{
"ok": true,
"data": {
"id": "748395130237498620",
"createdAt": "2026-03-20T14:22:31.562Z"
}
}Templates
Create a template
Create a reusable SMS template with variables and optional metadata.
POST
/
templates
Node.js
import { Rewrite } from '@rewritetoday/sdk';
const rewrite = new Rewrite(process.env.REWRITE_API_KEY!);
const { data, error } = await rewrite.templates.create({
name: 'login_code',
description: 'Template usado no fluxo de login',
content: 'Rewrite: seu codigo e {{code}}',
tags: { flow: 'otp', channel: 'login' },
variables: [{ name: 'code', fallback: '478201' }],
});
if (error) throw error;{
"ok": true,
"data": {
"id": "748395130237498620",
"createdAt": "2026-03-20T14:22:31.562Z"
}
}Authorizations
Send your API key as Authorization: Bearer rw_....
Required scope: project:templates:write.
Body
application/json
Template name used later in the dashboard and API responses.
Required string length:
1 - 32Example:
"login_code"
Default SMS content rendered when no locale override applies.
Required string length:
1 - 1024Example:
"Rewrite: seu codigo e {{code}}"
Variables accepted by the template.
Maximum array length:
15Show child attributes
Show child attributes
Example:
[{ "name": "code", "fallback": "478201" }]
Short human-readable explanation of what the template is for.
Required string length:
1 - 72Example:
"Template usado no fluxo de login"
Optional metadata stored with the template.
Example:
{ "flow": "otp", "channel": "login" }