A convenience method for fetching all campaigns across your network.
Returns basic campaign details only. (See the code samples on this page.)
GET backstage/api/1.0/demo-advertiser-network/campaigns/base
{
"results": [
{
"id": 10645,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
},
{
"id": 10447,
"advertiser_id": 12,
"advertiser_name": "demo-advertiser-02",
"advertiser_description": "Demo Advertiser 02",
"name": "Training Promotion",
"branding_text": "demo-brand-02.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1539079796000,
"total_spent": 1389.4
},
// Additional results omitted...
],
"metadata": {
"total": 1015,
"count": 1015,
//...
}
}
Guidelines
- Invoke the
campaigns/base
endpoint with your network account:
GET backstage/api/1.0/{network-account}/campaigns/base
- The endpoint returns all campaigns across your network.
- It returns basic campaign details only. (See the code samples on this page.)
- You can apply optional filters, including paging. (Paging allows you to fetch the response in smaller chunks.)
Which endpoint and account?
- To fetch basic campaign details for all campaigns across the network, invoke
campaigns/base
with the network account:
GET backstage/api/1.0/{network-account}/campaigns/base
- To fetch full campaign details for campaigns owned by a sub-account, invoke
campaigns
with the sub-account:
GET backstage/api/1.0/{sub-account}/campaigns/
This endpoint supports the network account
For more information about the network account see: Network Accounts.
Examples with filters
Status
Fetch all campaigns across the network that are awaiting approval by Taboola:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?status=PENDING_APPROVAL
Fetch all campaigns across the network that are running:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?status=RUNNING
Fetch all campaigns that are running or "paused":
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?status=RUNNING,PAUSED
Guidelines
- To filter on multiple statuses, pass a comma-delimited list (see example above).
- If you do not pass a
status
filter, thebase
endpoint will return all campaigns - regardless of status.For a list of possible values for
status
, see the status field.
Text Search
Return all campaigns with an ID (or Name) that contains '10645'
:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?search_text=10645
{
"results": [
{
"id": 10645,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
}
],
"metadata": {
"total": 1,
"count": 1,
//...
}
}
Return all campaigns that contain 'Demo'
in their name:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?search_text=Demo
{
"results": [
{
"id": 10645,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
},
{
"id": 10447,
"advertiser_id": 12,
"advertiser_name": "demo-advertiser-02",
"advertiser_description": "Demo Advertiser 02",
"name": "Training Promotion",
"branding_text": "demo-brand-02.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1539079796000,
"total_spent": 1389.4
}
],
"metadata": {
"total": 2,
"count": 2,
//...
}
}
The
search_text
filter looks for matches on Campaign ID or Name.Filtering on a specific Campaign ID will typically return that campaign only.
Combining filters
Return all campaigns that are running and contain 'Demo'
in their name:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?status=RUNNING&search_text=Demo
Combining filters
- You can combine different filters - e.g.
status=RUNNING&search_text=Demo
.- You cannot repeat the same filter twice. For example, there is no way to request campaigns with a status of RUNNING or PAUSED.
No matching campaigns
If there are no campaigns that match the requested filter, a 404 status is returned:
{
"http_status": 404,
"message": "No matching campaigns found",
"message_code": "api.action.resource_not_found"
}
Paging
Use a page size of 100 - and fetch page 1:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?page_size=100&page=1
{
"results": [
{
"id": 106,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
},
{
"id": 447,
"advertiser_id": 12,
"advertiser_name": "demo-advertiser-02",
"advertiser_description": "Demo Advertiser 02",
"name": "Training Promotion",
"branding_text": "demo-brand-02.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1539079796000,
"total_spent": 1389.4
},
//...
],
"metadata": {
"total": 1015,
"count": 100,
//...
}
}
The
page_size
andpage
query params are always passed together.