Advertise
Get campaign
Read a saved campaign, its revision, and its delivery state.
GET
/
v3
/
advertise
/
{campaignId}
Get campaign
curl --request GET \
--url https://api.darwin.so/api/v3/advertise/{campaignId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.darwin.so/api/v3/advertise/{campaignId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.darwin.so/api/v3/advertise/{campaignId}', 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://api.darwin.so/api/v3/advertise/{campaignId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://api.darwin.so/api/v3/advertise/{campaignId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.darwin.so/api/v3/advertise/{campaignId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.darwin.so/api/v3/advertise/{campaignId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"campaign": {
"campaignId": "<string>",
"agentId": "<string>",
"operationId": "<string>",
"operationRevision": 0,
"revision": 0,
"status": "DRAFT",
"name": "<string>",
"billingEvent": "IMPRESSIONS",
"currency": "USD",
"budgetCents": 0,
"targeting": "<unknown>",
"startsAt": "2023-11-07T05:31:56Z",
"endsAt": "2023-11-07T05:31:56Z",
"submittedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"delivery": {
"status": "NOT_ACTIVE",
"impressions": null,
"conversations": null,
"conversions": null,
"spendCents": null
}
}
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}Use
advertising:read. Only an active owner/admin of the campaign’s agent, using an API key with the required scope, can read it.
The response includes campaign identity, configuration, pinned operation revision, lifecycle revision and state, schedule, targeting, and budget ceiling. budgetCents is the approved ceiling in cents; it is never reported as actual spend. This management API returns delivery.status: "NOT_ACTIVE" and null delivery metrics until actual delivery is integrated.Last modified on October 19, 2026
⌘I
Get campaign
curl --request GET \
--url https://api.darwin.so/api/v3/advertise/{campaignId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.darwin.so/api/v3/advertise/{campaignId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.darwin.so/api/v3/advertise/{campaignId}', 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://api.darwin.so/api/v3/advertise/{campaignId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://api.darwin.so/api/v3/advertise/{campaignId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.darwin.so/api/v3/advertise/{campaignId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.darwin.so/api/v3/advertise/{campaignId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"campaign": {
"campaignId": "<string>",
"agentId": "<string>",
"operationId": "<string>",
"operationRevision": 0,
"revision": 0,
"status": "DRAFT",
"name": "<string>",
"billingEvent": "IMPRESSIONS",
"currency": "USD",
"budgetCents": 0,
"targeting": "<unknown>",
"startsAt": "2023-11-07T05:31:56Z",
"endsAt": "2023-11-07T05:31:56Z",
"submittedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"delivery": {
"status": "NOT_ACTIVE",
"impressions": null,
"conversations": null,
"conversions": null,
"spendCents": null
}
}
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"code": "<string>"
}