Get one landing page template
Overview
Get a template's full content.
Use this to load it for editing. With store_id, the merge fields in html_content are filled in with that location's details. Add preview=true to also turn [allReviewSite] into the location's review sites (with their direct links) and show [customerName] as Customer, [senderName] as the location's name, and [paragraph_1] as empty.
You'll need the template id (value in List landing page templates).
Returns the template.
Prerequisites
- A bearer token. See Authentication.
- The template's id (
landingPageId), from List landing page templates.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/campaign/template/landing-page/{landingPageId}
Authentication
Account token
- The template must belong to your account tree or be a shared (global) template; otherwise
422. store_id, when sent, must be a location inside your own account tree.
Rate limit
This endpoint has no rate limit.
Request parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
landingPageId | path | integer | Yes | The template's id (value in List landing page templates). Must be one of your account's templates or a shared template. |
store_id | query | integer | No | A location to fill the merge fields in html_content from. Must be a location inside your account tree. |
preview | query | boolean | No | With store_id: also expand [allReviewSite] into the location's review sites and fill the customer fields with sample values. |
Request body
None.
Request payload
None.
Response body
The payload is inside data.
| Field | Type | Description |
|---|---|---|
status | string | success. |
data | object | The template. |
data.id | integer | The template's id. Use it as landing_page_id. |
data.company_id | integer or null | The account that owns the template. null for a shared (global) template. |
data.store_id | integer or null | The location the template is tied to, or null. |
data.title | string | The template's name. |
data.description | string or null | The template's description, or null. |
data.url_slug | string or null | URL slug, or null. |
data.html_content | string or null | The page's HTML. |
data.json_content | object or null | The editor's design data. |
data.template_editor_mode | string or null | The editor used to author the template: custom or html_editor. |
data.manager_email | string or null | Manager email address saved on the template. |
data.other_manager_email | array of strings or null | More manager email addresses saved on the template. |
data.enable_direct_to_manager | boolean or null | Direct-to-manager option. |
data.enable_direct_to_owner | boolean or null | Direct-to-owner option. |
data.enable_direct_to_customer | boolean or null | Direct-to-customer option. |
data.created_at | string or null | When the template was created (ISO 8601). |
data.updated_at | string or null | When the template was last changed (ISO 8601). |
data.unique_code | string | The template's encoded id. |
Response payload
{
"data": {
"status": "success",
"data": {
"id": 4548,
"company_id": 5994,
"store_id": null,
"title": "Default Landing Page",
"description": null,
"url_slug": null,
"html_content": "<p>Example content</p>",
"json_content": {
"rows": []
},
"template_editor_mode": "custom",
"manager_email": null,
"other_manager_email": null,
"enable_direct_to_manager": false,
"enable_direct_to_owner": false,
"enable_direct_to_customer": false,
"created_at": "2026-09-23T10:43:44.000000Z",
"updated_at": "2026-09-23T10:43:44.000000Z",
"unique_code": "89kri1"
}
}
}Examples
Success payload
See Response payload. html_content and json_content are shortened here; the real values hold the full page.
Error payload
422 Template doesn't exist
{
"message": "The selected id is invalid.",
"errors": {
"id": [
"The selected id is invalid."
]
}
}422 Not your template
{
"message": "The selected landing page does not belong to your company.",
"errors": {
"id": [
"The selected landing page does not belong to your company."
]
}
}422 Location doesn't exist
{
"message": "The selected store id is invalid.",
"errors": {
"store_id": [
"The selected store id is invalid."
]
}
}| Status | Meaning |
|---|---|
200 | The template. |
401 | The token is missing, expired or invalid. |
422 | The template doesn't exist or belongs to another account, or store_id doesn't exist. |
500 | Unexpected server error. |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/campaign/template/landing-page/4548?store_id=3007&preview=true" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 17 days ago
Did this page help you?
