Update SMS template
Overview
Update an existing SMS template (content, name, landing-page and review-site links). Copy-on-write for globals: a template with no company_id copies into the caller's account first (a name clash returns 400). When you supply channel_id the template is set as that channel's template_id.
Prerequisites
- A bearer token in the
Authorizationheader.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/campaign/template/sms/update
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
bearer token, account role — authentication.
sms_template_idmust resolve to a template owned by the caller's account (or a global one).
Rate limit
- No rate limit.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
sms_template_id | integer | Required | Must be an existing SMS template inside your own account tree. |
content | string | Required | SMS body with placeholders. |
name | string | Optional | New name. Must be unique within the caller's account and against global (shared) templates. |
channel_id | integer | Optional | Must be an existing campaign channel. Sets the channel's template_id. |
landing_page_id | integer | Optional | Must be an existing landing-page template. |
review_site_id | integer | Optional | Must be an existing review site. |
{
"sms_template_id": 1,
"content": "Hi [customerName], We value your feedback! Share your experience: [landingPageUrl]. Thanks from [locationName]. Stop 2 End.",
"name": "Welcome SMS Template",
"channel_id": 5,
"landing_page_id": 10,
"review_site_id": 3
}How it works
- Synchronous.
200 OKreturnsdata.data=only(id,name,content,landing_page_id,review_site_id,store_id).400(envelope) when replicating a global and the name already exists for the company.422on validation failure or when the template is not in the caller's account.
Response
200 OK · 200
200{
"data": {
"status": "success",
"message": "SMS Template has been updated successfully!",
"data": {
"id": 1,
"name": "Welcome SMS Template",
"content": "Hi [customerName], We value your feedback! Share your experience: [landingPageUrl]. Thanks from [locationName]. Stop 2 End.",
"landing_page_id": 10,
"review_site_id": 3,
"store_id": 123
}
}
}422 Not your template · 422
422{
"message": "The selected SMS template does not belong to your company.",
"errors": {
"sms_template_id": [
"The selected SMS template does not belong to your company."
]
}
}Errors
| Status | Meaning |
|---|---|
400 | The request was rejected — the response explains why |
401 | The bearer token is missing, expired or invalid |
422 | Not your template |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/campaign/template/sms/update" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"sms_template_id": 1, "content": "Hi [customerName], We value your feedback! Share your experience: [landingPageUrl]. Thanks from [locationName]. Stop 2 End.", "name": "Welcome SMS Template", "channel_id": 5, "landing_page_id": 10, "review_site_id": 3}'Updated 9 days ago
Did this page help you?
