List automated campaigns

Overview

Get the campaigns set up for automatic sending, with their file formats.

Use this to see what's running automatically.

You'll need an account token.

Returns one entry per automated campaign (type automation), each with its file_header (or null). Results are paginated.

Prerequisites

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

GET /api/v1/campaign/automate/list

Authentication

Account token

  • Lists the automated campaigns of the account of the user behind the token.

Rate limit

This endpoint has no rate limit.

Request parameters

ParameterInTypeRequiredDescription
pagequeryintegerNoThe page to return, from 1. Default 1.
per_pagequeryintegerNoCampaigns per page, 10–100. Default 15. Values below 10 are raised to 10; above 100 returns 422.

Request body

None.

Request payload

None.

Response body

The payload is inside data.

FieldTypeDescription
statusstringsuccess.
dataobjectA page of automated campaigns.
data.dataarray of objectsThe automated campaigns. An empty array [] when there are none.
data.data[].idintegerThe campaign's id.
data.data[].namestringThe campaign's name.
data.data[].descriptionstring or nullThe campaign's description, or null.
data.data[].statusstringdraft, scheduled, in_progress, paused, completed or cancelled.
data.data[].typestringautomation.
data.data[].created_atstringWhen the campaign was created.
data.data[].updated_atstringWhen the campaign last changed.
data.data[].request_after_time_pststring or nullAlways null here.
data.data[].request_file_urlstring or nullAlways null here.
data.data[].unique_codestringThe campaign's unique code.
data.data[].file_headerobject or nullThe campaign's file format, or null when it has none.
data.data[].file_header.idintegerThe file format's id (fileHeaderId).
data.data[].file_header.rs_campaign_idintegerThe campaign it belongs to.
data.data[].file_header.headersobjectWhich column in your file holds each field: email, phone, customer_name and location_identifier map to column names.
data.data[].file_header.sample_file_pathstringStorage path of the sample file.
data.data[].file_header.location_identifierstringThe value in the location column that marks this campaign's rows.
data.data[].file_header.sample_file_urlstringURL of the sample file.
data.current_pageintegerThe page returned.
data.per_pageintegerCampaigns per page.
data.totalintegerAutomated campaigns across all pages.
data.last_pageintegerThe last page number.
data.frominteger or nullPosition of the first campaign on this page, or null when the page is empty.
data.tointeger or nullPosition of the last campaign on this page, or null when the page is empty.
data.first_page_urlstringURL of the first page.
data.last_page_urlstringURL of the last page.
data.prev_page_urlstring or nullURL of the previous page, or null.
data.next_page_urlstring or nullURL of the next page, or null.
data.pathstringThe endpoint URL without the query string.
data.linksarray of objectsPage links for a pager, each with url, label, page and active.

Response payload

{
  "data": {
    "status": "success",
    "data": {
      "current_page": 1,
      "data": [
        {
          "id": 4827,
          "name": "Weekly review push",
          "description": null,
          "status": "in_progress",
          "type": "automation",
          "created_at": "2026-10-01T10:30:00.000000Z",
          "updated_at": "2026-10-01T10:30:00.000000Z",
          "request_after_time_pst": null,
          "request_file_url": null,
          "unique_code": "a1b2c3",
          "file_header": {
            "id": 4,
            "rs_campaign_id": 4827,
            "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": "loc-00123",
            "sample_file_url": "https://d2ny6zb7otrnhl.cloudfront.net/campaign_automation/sample_files/1718447400_sample.xlsx"
          }
        }
      ],
      "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",
          "page": null,
          "active": false
        },
        {
          "url": "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list?page=1",
          "label": "1",
          "page": 1,
          "active": true
        },
        {
          "url": null,
          "label": "Next »",
          "page": null,
          "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
    }
  }
}

Examples

Success payload

One automated campaign: see Response payload. With none, data.data is empty:

{
  "data": {
    "status": "success",
    "data": {
      "current_page": 1,
      "data": [],
      "first_page_url": "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list?page=1",
      "from": null,
      "last_page": 1,
      "last_page_url": "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list?page=1",
      "links": [
        {
          "url": null,
          "label": "« Previous",
          "page": null,
          "active": false
        },
        {
          "url": "https://production-api.shoutaboutus.com/api/v1/campaign/automate/list?page=1",
          "label": "1",
          "page": 1,
          "active": true
        },
        {
          "url": null,
          "label": "Next »",
          "page": null,
          "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": null,
      "total": 0
    }
  }
}

Error payload

422 per_page above 100

{
  "message": "The per page field must not be greater than 100.",
  "errors": {
    "per_page": [
      "The per page field must not be greater than 100."
    ]
  }
}
StatusMeaning
200A page of automated campaigns, or an empty data.data array.
401The token is missing, expired or invalid.
422per_page is above 100, or page isn't a positive integer.
500Unexpected 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'

Did this page help you?