List landing page templates
Overview
Dual-mode listing of landing-page templates.
- Campaign flow (
store_idpresent): returns every selectable template (store + caller company + global), unpaginated and without usage counts — a<select>source. Ifstore_idis passed in the request, the result is returned without pagination. - Account-level (
store_idomitted): scopes by account(s), excludes global templates, paginates, and adds per-row campaign-usage counts. A partner sees all their accounts, or one account viaaccount_id; an account user sees their own account.
Rows carry company_name (owning account name; null for globals) and the appended unique_code.
Prerequisites
- A bearer token in the
Authorizationheader.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/campaign/template/landing-page/list
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
bearer token, account or partner role — authentication. Account scoping derives from
user.person.companyand itsbundle_id(the company type —1= partner,2= location,3= account).
Rate limit
- No rate limit.
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
store_id | integer | Optional | Campaign-flow mode: scope to a store + return all templates unpaginated. Must be in the caller's hierarchy. |
account_id | integer | Optional | Partner-only: narrow the account-level listing to one of the caller's accounts. Ignored if not the caller's. |
page | integer | Optional | Account-level pagination; min 1. Ignored if store_id is present. |
per_page | integer | Optional | Account-level pagination; 10–100 (values below 10 are raised to 10), default 10. Ignored if store_id is present. |
How it works
- Synchronous. Campaign flow:
200 OKwithdata.responseonly. Account-level:200 OKwithdata.responseanddata.meta(current_page/per_page/total/last_page).422on invalidstore_id.
Response
200 OK (account-level, paginated) · 200
200{
"data": {
"status": "success",
"response": [
{
"id": 1,
"value": 1,
"label": "Summer Campaign Landing Page",
"company_id": 30,
"company_name": "Board & Brew",
"unique_code": "aBcDeFg",
"sms_campaign_count": 2,
"email_campaign_count": 1
}
],
"meta": {
"current_page": 1,
"per_page": 10,
"total": 1,
"last_page": 1
}
}
}200 OK (campaign flow, store_id) · 200
store_id) · 200{
"data": {
"status": "success",
"response": [
{
"id": 1,
"value": 1,
"label": "Summer Campaign Landing Page",
"company_id": 30,
"company_name": "Board & Brew",
"unique_code": "aBcDeFg"
}
]
}
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
422 | Returned on invalid store_id |
500 | Unexpected server error |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/campaign/template/landing-page/list?store_id=123" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 9 days ago
Did this page help you?
