API: Campaigns

The Campaign object

A Campaign represents an advertising campaign associated with an Advertiser.

A campaign has several properties. Each API can return a Campaign model in its entirety or with just a subset. All properties are listed here:

Property Type Description
campaign_id Numeric Unique campaign identifier
name String Campaign name
team_id Numeric ID of the team this campaign belongs to
advertiser_id Numeric ID of the Advertiser associated with this campaign
advertiser_name String Name of the advertiser associated with this campaign
status String Campaign status. Possible values: STOPPED, NOT_STARTED, RUNNING, COMPLETED
created_at String Date and time the campaign was created
updated_at String Date and time the campaign was last updated
deleted_at String Date and time the campaign was deleted, or null if not deleted
synched Boolean true if the campaign has been synched with the ad server, false otherwise

Many of the resources on the campaign APIs are related to a single campaign. If a request URL includes CAMPAIGN-ID it refers to the numeric Campaign ID.

Retrieving the Campaign List

GET /v2/campaigns

Authenticated: yes

This API returns a paginated list of Campaigns.

Example

curl -H "Authorization: Bearer OAUTH-TOKEN" https://api.spreaker.com/v2/campaigns

The response body is a paginated list of Campaigns.

{
  "response": {
    "items": [
      {
        "campaign_id": 8862,
        "name": "March 2027",
        "team_id": 59,
        "advertiser_id": 4894,
        "advertiser_name": "Coca Cola",
        "created_at": "2026-04-02 16:32:44",
        "updated_at": "2026-04-02 16:32:44",
        "deleted_at": null,
        "status": "STOPPED",
        "synched": true
      }
    ],
    "next_url": null,
    "prev_url": null
  }
}

Retrieving a Single Campaign

GET /v2/campaigns/CAMPAIGN-ID

Authenticated: yes

Example

curl -H "Authorization: Bearer OAUTH-TOKEN" https://api.spreaker.com/v2/campaigns/8862

The response body is a JSON object containing all the campaign fields.

{
  "response": {
    "campaign": {
      "campaign_id": 8862,
      "name": "March 2027",
      "team_id": 59,
      "advertiser_id": 4894,
      "advertiser_name": "Coca Cola",
      "created_at": "2026-04-02 16:32:44",
      "updated_at": "2026-04-02 16:32:44",
      "deleted_at": null,
      "status": "STOPPED",
      "synched": true
    }
  }
}

Creating a Campaign

POST /v2/campaigns

Authenticated: yes

Parameter Type Description
name String Campaign name
advertiser_id Numeric ID of the Advertiser to associate with this campaign

Example

curl -X POST -H "Authorization: Bearer OAUTH-TOKEN" -F "name=New Campaign" -F "advertiser_id=4894" https://api.spreaker.com/v2/campaigns

The response body is a JSON object containing all the campaign fields. Note that synched will be false for a newly created campaign until it is synched with the ad server.

{
  "response": {
    "campaign": {
      "campaign_id": 9036,
      "name": "New Campaign",
      "team_id": 59,
      "advertiser_id": 4894,
      "advertiser_name": "Coca Cola",
      "created_at": "2026-05-25 12:05:14",
      "updated_at": "2026-05-25 12:05:14",
      "deleted_at": null,
      "status": "STOPPED",
      "synched": false
    }
  }
}

Updating a Campaign

PUT /v2/campaigns/CAMPAIGN-ID

Authenticated: yes

The API PUT /v2/campaigns/CAMPAIGN-ID supports these parameters:

Parameter Type Description
name String Required. Campaign name

Example

curl -X PUT -H "Authorization: Bearer OAUTH-TOKEN" \
  --data-urlencode "name=New Name" \
  https://api.spreaker.com/v2/campaigns/8862

The response body is a JSON object containing all the updated campaign fields.

{
  "response": {
    "campaign": {
      "campaign_id": 8862,
      "name": "New Name",
      "team_id": 59,
      "advertiser_id": 4894,
      "advertiser_name": "Coca Cola",
      "created_at": "2026-04-02 16:32:44",
      "updated_at": "2026-05-25 12:02:15",
      "deleted_at": null,
      "status": "STOPPED",
      "synched": false
    }
  }
}

Deleting a Campaign

DELETE /v2/campaigns/CAMPAIGN-ID

Authenticated: yes

Deleting a campaign permanently deletes all of its line items as well. This action cannot be undone.

Example

curl -X DELETE -H "Authorization: Bearer OAUTH-TOKEN" https://api.spreaker.com/v2/campaigns/8862

The response body is an empty object.

{ "response": [] }