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
automationcampaign in your account (campaignId).
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/campaign/automate/file-headers/{campaignId}
Authentication
Account token
- The campaign must be an
automationcampaign in your own account; otherwise404(Campaign not found or not authorized).
Rate limit
This endpoint has no rate limit.
Request parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
campaignId | path | integer | Yes | The campaign id (not the file format id). Digits only. |
Request body
None.
Request payload
None.
Response body
The payload is inside data.
| Field | Type | Description |
|---|---|---|
status | string | success. |
data | array of objects | The campaign's file formats (at most one). An empty array [] when it has none. |
data[].id | integer | The file format's id (fileHeaderId). |
data[].rs_campaign_id | integer | The campaign it belongs to. |
data[].headers | object | Which column in your file holds each field: email, phone, customer_name and location_identifier map to column names. |
data[].sample_file_path | string | Storage path of the sample file. |
data[].location_identifier | string | The value in the location column that marks this campaign's rows. |
data[].created_at | string | When the file format was created. |
data[].updated_at | string | When it last changed. |
data[].sample_file_url | string | URL 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": []
}| Status | Meaning |
|---|---|
200 | The campaign's file format, or an empty list. |
401 | The token is missing, expired or invalid. |
404 | The campaign doesn't exist, isn't in your account, or isn't automation. |
500 | Unexpected 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'Updated 17 days ago
Did this page help you?
