Pause ad
curl --request POST \
--url https://{publisher_host}/v1/ads/{ad_id}/pause \
--header 'Authorization: Bearer <token>'import requests
url = "https://{publisher_host}/v1/ads/{ad_id}/pause"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{publisher_host}/v1/ads/{ad_id}/pause', 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}/pause",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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}/pause"
req, _ := http.NewRequest("POST", 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.post("https://{publisher_host}/v1/ads/{ad_id}/pause")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{publisher_host}/v1/ads/{ad_id}/pause")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"ad_id": "ad_9pL2wR",
"status": "active",
"updated_at": "2026-08-19T09:00:00Z"
}Ads
Pause ad
Stop delivery for an ad without deleting it
POST
/
ads
/
{ad_id}
/
pause
Pause ad
curl --request POST \
--url https://{publisher_host}/v1/ads/{ad_id}/pause \
--header 'Authorization: Bearer <token>'import requests
url = "https://{publisher_host}/v1/ads/{ad_id}/pause"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{publisher_host}/v1/ads/{ad_id}/pause', 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}/pause",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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}/pause"
req, _ := http.NewRequest("POST", 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.post("https://{publisher_host}/v1/ads/{ad_id}/pause")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{publisher_host}/v1/ads/{ad_id}/pause")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"ad_id": "ad_9pL2wR",
"status": "active",
"updated_at": "2026-08-19T09:00:00Z"
}Overview
Stop delivery for anactive or scheduled ad. The ad stays in your system so Targeter can still fetch insights and later resume it.
Do not change budget, dates, or creatives. Only status should become paused.
Request
Headers
Authorization: Bearer {token}(required)
Path Parameters
Example Request
curl -X POST "https://publisher.example.com/v1/ads/ad_9pL2wR/pause" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
Success (200)
string
Publisher-generated ad id
string
Always
paused on successstring
UTC timestamp of the status change
{
"ad_id": "ad_9pL2wR",
"status": "paused",
"updated_at": "2026-08-19T09:00:00Z"
}
Error Responses
401 - Unauthorized
{
"error": "Missing or invalid Authorization header"
}
404 - Ad not found
{
"error": "Ad not found"
}
409 - Ad cannot be paused
{
"error": "Ad cannot be paused while status is completed"
}
paused should return 200 with status: "paused" (idempotent), not 409.
500 - Server Error
{
"error": "Unexpected server error. Please try again later."
}
Authorizations
API token issued to Targeter during integration setup. Send as Authorization: Bearer <token>.
Path Parameters
Publisher-generated ad id returned from POST /ads