Delete ad
curl --request DELETE \
--url https://{publisher_host}/v1/ads/{ad_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://{publisher_host}/v1/ads/{ad_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{publisher_host}/v1/ads/{ad_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{publisher_host}/v1/ads/{ad_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{publisher_host}/v1/ads/{ad_id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://{publisher_host}/v1/ads/{ad_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{publisher_host}/v1/ads/{ad_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyAds
Delete ad
Permanently remove an ad from the publisher
DELETE
/
ads
/
{ad_id}
Delete ad
curl --request DELETE \
--url https://{publisher_host}/v1/ads/{ad_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://{publisher_host}/v1/ads/{ad_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{publisher_host}/v1/ads/{ad_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{publisher_host}/v1/ads/{ad_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{publisher_host}/v1/ads/{ad_id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://{publisher_host}/v1/ads/{ad_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{publisher_host}/v1/ads/{ad_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyOverview
Permanently remove an ad. Targeter uses this when the campaign should not remain in your system. Prefer Pause ad when delivery should stop but insights must still be available. Return 204 with no body. Subsequent status or insight calls for thisad_id should return 404.
Request
Headers
Authorization: Bearer {token}(required)
Path Parameters
Example Request
curl -X DELETE "https://publisher.example.com/v1/ads/ad_9pL2wR" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
Success (204)
Empty body.Error Responses
401 - Unauthorized
{
"error": "Missing or invalid Authorization header"
}
404 - Ad not found
{
"error": "Ad not found"
}
409 - Ad cannot be deleted
{
"error": "Ad cannot be deleted while delivery is still settling"
}
500 - Server Error
{
"error": "Unexpected server error. Please try again later."
}