Endpoint
GET /external/campaigns/:campaignId/history
Required Header
Authorization: Bearer YOUR_API_TOKEN
Path Parameter
campaignId (Number) – The unique ID of the campaign whose history you want to retrieve.
Query Parameters (All Optional)
Parameter | Type | Description |
start_date | String | Start of date range (ISO 8601 UTC, e.g. |
end_date | String | End of date range (ISO 8601 UTC). Must be later than |
action | String | Filter by change type: |
field_key | String | Filter by field key. Must be one of the supported field keys listed below. |
limit | Number | Maximum number of records to return (1–200). Default: 50. |
offset | Number | Number of records to skip for pagination. Default: 0. |
Notes
Records are returned sorted by
timestampin descending order (newest first).Ordering is deterministic across pagination.
All timestamps are returned in ISO 8601 UTC format with
Zsuffix.start_dateandend_datefilters are interpreted strictly as UTC.History retention is unlimited. All available campaign history is returned.
Example Request
curl -X GET "https://aura-platform.isappcloud.com/external/campaigns/12345/history?start_date=2024-01-01T00:00:00Z&end_date=2024-12-31T23:59:59Z&action=Update&field_key=daily_budget&limit=25&offset=0" \ -H "Authorization: Bearer YOUR_API_TOKEN"
Example Response
Example Response
{
"campaign_id": 123456,
"meta": {
"total": 2,
"limit": 25,
"offset": 0,
"applied_filters": {
"start_date": "2024-01-01T00:00:00Z",
"end_date": "2024-12-31T23:59:59Z",
"action": "Update",
"field_key": "daily_budget"
}
},
"records": [
{
"timestamp": "2024-06-15T14:32:00Z",
"entity": "Campaign",
"field_key": "daily_budget",
"field": "Daily Budget",
"action": "Update",
"old_value": "1000",
"new_value": "1500",
"details": "Budget updated via API",
"modified_by": "user@example.com",
"modified_by_type": "INTERNAL_USER"
},
{
"timestamp": "2024-06-10T09:00:00Z",
"entity": "Campaign",
"field_key": "daily_budget",
"field": "Daily Budget",
"action": "Update",
"old_value": "500",
"new_value": "1000",
"details": "",
"modified_by": "External API",
"modified_by_type": "EXTERNAL_API"
}
]
}Returned Fields
Top Level
Field | Type | Description |
campaign_id | Integer | Campaign ID the history belongs to. |
meta | Object | Pagination details and applied filters. |
records | Array | List of history entries. |
meta Object
Field | Type | Description |
total | Integer | Total number of records matching the filters (before pagination). |
limit | Integer | Maximum number of records returned in this response. |
offset | Integer | Offset used for this page. |
applied_filters | Object | Echo of query parameters that were applied (only non-empty values). |
Each Record in records
Field | Type | Description |
timestamp | String | When the change occurred (ISO 8601 UTC). |
entity | String | Always |
field_key | String | Stable external field key (see supported list below). |
field | String | Human-readable field name. |
action | String |
|
old_value | String | Value before the change. Returns |
new_value | String | Value after the change. Returns |
details | String | Optional description of the change. |
modified_by | String | User email or system name that performed the change. |
modified_by_type | String |
|
Supported Field Keys
field_key | Description |
campaign_name | Campaign name |
install_url | Install URL |
impression_url | Impression URL |
campaign_status | Campaign status |
cost_model | Cost model |
bid | Bid |
daily_budget | Daily budget |
monthly_budget | Monthly budget |
total_budget | Total budget |
schedule | Schedule |
kpi | KPI |
kpi_goals | KPI goals |
age | Age targeting |
carrier | Carrier targeting |
carrier_id | Carrier ID |
city | City targeting |
customer | Customer targeting |
dma | DMA targeting |
device_language | Device language |
device_manufacturer | Device manufacturer |
device_model | Device model |
device_type | Device type |
gender | Gender targeting |
publishers | Publishers |
state | State targeting |
Possible Errors
Status | Description |
404 – Not Found | No campaign with the specified ID, or campaign does not belong to the advertiser associated with the token. |
403 – Unauthorized | Invalid or missing token. |
400 – Bad Request | Invalid query parameters. Examples: malformed ISO date, |