Skip to main content
PUT
/
api
/
templates
/
{id}
Update template
curl --request PUT \
  --url https://your-instance.example.com/api/templates/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "template": "Hi {{firstName}}, just checking in after our chat!"
}
'
{
  "success": true,
  "data": {
    "_id": "66a0a0b0c0d0e0f0a0b0c0d0",
    "name": "Demo follow-up",
    "template": "Hi {{firstName}}, thanks for the demo today!",
    "type": "message",
    "category": "sales-followup",
    "organizationId": "65a0e0e0e0e0e0e0e0e0e0e0",
    "createdBy": "65b1f0a2c3d4e5f6a7b8c9d0",
    "createdAt": "2026-04-12T08:00:00.000Z",
    "updatedAt": "2026-04-12T08:00:00.000Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Body

application/json
name
string

Template display name shown in the template picker.

template
string

Template body with {{firstName}}-style placeholders resolved at send time.

type
string

Template kind: sms, email, campaign, script, automation.

category
string

Grouping label for filtering; required unless type === "automation".

Response

Template updated

success
enum<boolean>
required
Available options:
true
data
object
required

Mongoose Template document. category is omitted when type === "automation".

Example:
{
"_id": "66a0a0b0c0d0e0f0a0b0c0d0",
"name": "Demo follow-up",
"template": "Hi {{firstName}}, thanks for the demo today!",
"type": "message",
"category": "sales-followup",
"userId": "65b1f0a2c3d4e5f6a7b8c9d0",
"organizationId": "65a0e0e0e0e0e0e0e0e0e0e0",
"createdBy": "65b1f0a2c3d4e5f6a7b8c9d0",
"createdAt": "2026-04-12T08:00:00.000Z",
"updatedAt": "2026-04-12T08:00:00.000Z"
}