List automation campaigns
Overview
Paginated list of the caller's automation campaigns (rs_campaigns.type = 'automation'), each including its file_header configuration (headers map, sample-file path, location identifier). Scoped to the authenticated user's person.company_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
GET /api/v1/campaign/automate/list
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Account bearer. No explicit scope rule — rows cover only the caller's own
person.company_id, so you only ever see campaigns owned by your company.
Rate limit
- No rate limit.
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
page | integer | Optional | Page number, min 1. Default 1. |
per_page | integer | Optional | Items per page, 10–100 (values below 10 are raised to 10). Default 15. |
How it works
200with a standard length-aware paginator underdata.data(the outerdatais the project envelope). Each campaign row carries a nullablefile_headerobject.422ifpage/per_pagefall outside their bounds.
Response
200 OK · 200
200{
"data": {
"status": "success",
"data": {
"current_page": 1,
"data": [
{
"id": 12,
"name": "Weekly review push",
"description": "Automated weekly review requests",
"status": "in_progress",
"type": "automation",
"created_at": "2026-06-15T10:30:00.000000Z",
"updated_at": "2026-06-15T10:30:00.000000Z",
"file_header": {
"id": 4,
"rs_campaign_id": 12,
"headers": {
"email": "Email Address",
"phone": "Phone Number",
"customer_name": "Customer Name",
"location_identifier": "Store ID"
},
"sample_file_path": "campaign_automation/sample_files/1718447400_sample.xlsx",
"location_identifier": "Store ID"
}
}
],
"first_page_url": "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list",
"per_page": 15,
"prev_page_url": null,
"to": 1,
"total": 1
}
}
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
422 | Returned if page/per_page fall outside their bounds |
500 | Unexpected server error |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list?page=1&per_page=15" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 18 days ago
Did this page help you?
