Get a campaign's file format

Overview

See the column mapping a campaign expects.

Use this to check what your file needs to contain.

You'll need the campaign_id of an automation campaign.

Returns the mapping, as a list (empty when the campaign has none).

Prerequisites

  • A bearer token. See Authentication.
  • The id of an automation campaign in your account (campaignId).

Base URL

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

Endpoint

GET /api/v1/campaign/automate/file-headers/{campaignId}

Authentication

Account token

  • The campaign must be an automation campaign in your own account; otherwise 404 (Campaign not found or not authorized).

Rate limit

This endpoint has no rate limit.

Request parameters

ParameterInTypeRequiredDescription
campaignIdpathintegerYesThe campaign id (not the file format id). Digits only.

Request body

None.

Request payload

None.

Response body

The payload is inside data.

FieldTypeDescription
statusstringsuccess.
dataarray of objectsThe campaign's file formats (at most one). An empty array [] when it has none.
data[].idintegerThe file format's id (fileHeaderId).
data[].rs_campaign_idintegerThe campaign it belongs to.
data[].headersobjectWhich column in your file holds each field: email, phone, customer_name and location_identifier map to column names.
data[].sample_file_pathstringStorage path of the sample file.
data[].location_identifierstringThe value in the location column that marks this campaign's rows.
data[].created_atstringWhen the file format was created.
data[].updated_atstringWhen it last changed.
data[].sample_file_urlstringURL of the sample file.

Response payload

{
  "data": {
    "status": "success",
    "data": [
      {
        "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",
        "created_at": "2026-10-01T10:30:00.000000Z",
        "updated_at": "2026-10-01T10:30:00.000000Z",
        "sample_file_url": "https://d2ny6zb7otrnhl.cloudfront.net/campaign_automation/sample_files/1718447400_sample.xlsx"
      }
    ]
  }
}

Examples

Success payload

See Response payload.

Error payload

404 Campaign not found

The campaign doesn't exist, isn't in your account, or isn't an automation campaign.

{
  "message": "Campaign not found or not authorized",
  "status": "error",
  "errors": []
}
StatusMeaning
200The campaign's file format, or an empty list.
401The token is missing, expired or invalid.
404The campaign doesn't exist, isn't in your account, or isn't automation.
500Unexpected server error.

Example request

curl --request GET \
  --url "https://production-api.shoutaboutus.com/api/v1/campaign/automate/file-headers/4827" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json'

Did this page help you?