Taboola Backstage API

Taboola Backstage API

Welcome to the Taboola Backstage API documentation. You'll find comprehensive guides and examples to help you get started with Taboola Backstage API quickly.

Get Started    


Ask A Question

GET /campaigns returns an empty list

Quite similar to this issue: Sending a GET request to "/backstage/api/1.0/{{account_id}}/campaigns" with relevant account_id and bearer token in the Authorization header returns an empty list. account_id passed is returned in "/backstage/api/1.0/users/current/allowed-accounts" so no issues there. Account also has at least one campaign which passes "minimum CPC" enforcement as verified from the Taboola Backstage UI. Link to private Google doc: Link to Backstage UI:


Posted by Rijumone Choudhuri about a year ago


Issues connecting to API for new environment

Greetings, We've worked with the backstage API a bit before, but for a new project, we had a sandbox environment set up for testing purposes. We are having difficulty getting our API call to work, and the errors that are returning are not at all helpful. I really wish the API responded with more information to help troubleshoot. If we use the numerical account ID provide by our account manager we get the following error: {http_status: 403, message: "Requested action is forbidden”} If we use the alpha string ID ie. "Your Account Sandbox Name" with letters and spaces we get the following error: "Bad Request" Our payload follows the JSON structure outlined here: That is the method we are calling from our application, which submits the JSON object via an AJAX post. Here is a section of our code to show what we are doing: $url = ''; $data = array('client_id' => $taboolaCID, 'client_secret' => $taboolaSecret, 'grant_type' => 'client_credentials'); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); $taboolaAccessToken = json_decode($result)->{'access_token'}; $ch = curl_init(''.$taboolaAccount.'/campaigns/'.$campaign_id.'/items/mass' ); $payload = json_encode($collection, JSON_UNESCAPED_SLASHES); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, β€˜Our Application Name'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload ); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'cache-control: no-cache', 'Authorization: Bearer ' . $taboolaAccessToken )); $data = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); Any assistance would be greatly appreciated. Thanks!


Posted by Chris Ellerby about a year ago