Generate adagents.json
curl --request POST \
--url https://agenticadvertising.org/api/adagents/create \
--header 'Content-Type: application/json' \
--data '
{
"authorized_agents": [
{
"url": "<string>",
"authorized_for": "<string>",
"property_ids": [
"<string>"
],
"property_tags": [
"<string>"
],
"properties": [
{}
],
"publisher_properties": [
{
"publisher_domain": "<string>",
"publisher_domains": [
"<string>"
],
"property_ids": [
"<string>"
],
"property_tags": [
"<string>"
]
}
],
"collections": [
{
"publisher_domain": "<string>",
"collection_ids": [
"<string>"
]
}
],
"placement_ids": [
"<string>"
],
"placement_tags": [
"<string>"
],
"exclusive": true,
"countries": [
"<string>"
],
"effective_from": "<string>",
"effective_until": "<string>",
"signal_ids": [
"<string>"
],
"signal_tags": [
"<string>"
],
"signing_keys": [
{}
]
}
],
"include_schema": true,
"include_timestamp": true,
"properties": [
"<unknown>"
],
"catalog_etag": "<string>",
"formats": [
"<unknown>"
],
"placements": [
"<unknown>"
],
"placement_tags": {}
}
'import requests
url = "https://agenticadvertising.org/api/adagents/create"
payload = {
"authorized_agents": [
{
"url": "<string>",
"authorized_for": "<string>",
"property_ids": ["<string>"],
"property_tags": ["<string>"],
"properties": [{}],
"publisher_properties": [
{
"publisher_domain": "<string>",
"publisher_domains": ["<string>"],
"property_ids": ["<string>"],
"property_tags": ["<string>"]
}
],
"collections": [
{
"publisher_domain": "<string>",
"collection_ids": ["<string>"]
}
],
"placement_ids": ["<string>"],
"placement_tags": ["<string>"],
"exclusive": True,
"countries": ["<string>"],
"effective_from": "<string>",
"effective_until": "<string>",
"signal_ids": ["<string>"],
"signal_tags": ["<string>"],
"signing_keys": [{}]
}
],
"include_schema": True,
"include_timestamp": True,
"properties": ["<unknown>"],
"catalog_etag": "<string>",
"formats": ["<unknown>"],
"placements": ["<unknown>"],
"placement_tags": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
authorized_agents: [
{
url: '<string>',
authorized_for: '<string>',
property_ids: ['<string>'],
property_tags: ['<string>'],
properties: [{}],
publisher_properties: [
{
publisher_domain: '<string>',
publisher_domains: ['<string>'],
property_ids: ['<string>'],
property_tags: ['<string>']
}
],
collections: [{publisher_domain: '<string>', collection_ids: ['<string>']}],
placement_ids: ['<string>'],
placement_tags: ['<string>'],
exclusive: true,
countries: ['<string>'],
effective_from: '<string>',
effective_until: '<string>',
signal_ids: ['<string>'],
signal_tags: ['<string>'],
signing_keys: [{}]
}
],
include_schema: true,
include_timestamp: true,
properties: ['<unknown>'],
catalog_etag: '<string>',
formats: ['<unknown>'],
placements: ['<unknown>'],
placement_tags: {}
})
};
fetch('https://agenticadvertising.org/api/adagents/create', 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://agenticadvertising.org/api/adagents/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'authorized_agents' => [
[
'url' => '<string>',
'authorized_for' => '<string>',
'property_ids' => [
'<string>'
],
'property_tags' => [
'<string>'
],
'properties' => [
[
]
],
'publisher_properties' => [
[
'publisher_domain' => '<string>',
'publisher_domains' => [
'<string>'
],
'property_ids' => [
'<string>'
],
'property_tags' => [
'<string>'
]
]
],
'collections' => [
[
'publisher_domain' => '<string>',
'collection_ids' => [
'<string>'
]
]
],
'placement_ids' => [
'<string>'
],
'placement_tags' => [
'<string>'
],
'exclusive' => true,
'countries' => [
'<string>'
],
'effective_from' => '<string>',
'effective_until' => '<string>',
'signal_ids' => [
'<string>'
],
'signal_tags' => [
'<string>'
],
'signing_keys' => [
[
]
]
]
],
'include_schema' => true,
'include_timestamp' => true,
'properties' => [
'<unknown>'
],
'catalog_etag' => '<string>',
'formats' => [
'<unknown>'
],
'placements' => [
'<unknown>'
],
'placement_tags' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agenticadvertising.org/api/adagents/create"
payload := strings.NewReader("{\n \"authorized_agents\": [\n {\n \"url\": \"<string>\",\n \"authorized_for\": \"<string>\",\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ],\n \"properties\": [\n {}\n ],\n \"publisher_properties\": [\n {\n \"publisher_domain\": \"<string>\",\n \"publisher_domains\": [\n \"<string>\"\n ],\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ]\n }\n ],\n \"collections\": [\n {\n \"publisher_domain\": \"<string>\",\n \"collection_ids\": [\n \"<string>\"\n ]\n }\n ],\n \"placement_ids\": [\n \"<string>\"\n ],\n \"placement_tags\": [\n \"<string>\"\n ],\n \"exclusive\": true,\n \"countries\": [\n \"<string>\"\n ],\n \"effective_from\": \"<string>\",\n \"effective_until\": \"<string>\",\n \"signal_ids\": [\n \"<string>\"\n ],\n \"signal_tags\": [\n \"<string>\"\n ],\n \"signing_keys\": [\n {}\n ]\n }\n ],\n \"include_schema\": true,\n \"include_timestamp\": true,\n \"properties\": [\n \"<unknown>\"\n ],\n \"catalog_etag\": \"<string>\",\n \"formats\": [\n \"<unknown>\"\n ],\n \"placements\": [\n \"<unknown>\"\n ],\n \"placement_tags\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agenticadvertising.org/api/adagents/create")
.header("Content-Type", "application/json")
.body("{\n \"authorized_agents\": [\n {\n \"url\": \"<string>\",\n \"authorized_for\": \"<string>\",\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ],\n \"properties\": [\n {}\n ],\n \"publisher_properties\": [\n {\n \"publisher_domain\": \"<string>\",\n \"publisher_domains\": [\n \"<string>\"\n ],\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ]\n }\n ],\n \"collections\": [\n {\n \"publisher_domain\": \"<string>\",\n \"collection_ids\": [\n \"<string>\"\n ]\n }\n ],\n \"placement_ids\": [\n \"<string>\"\n ],\n \"placement_tags\": [\n \"<string>\"\n ],\n \"exclusive\": true,\n \"countries\": [\n \"<string>\"\n ],\n \"effective_from\": \"<string>\",\n \"effective_until\": \"<string>\",\n \"signal_ids\": [\n \"<string>\"\n ],\n \"signal_tags\": [\n \"<string>\"\n ],\n \"signing_keys\": [\n {}\n ]\n }\n ],\n \"include_schema\": true,\n \"include_timestamp\": true,\n \"properties\": [\n \"<unknown>\"\n ],\n \"catalog_etag\": \"<string>\",\n \"formats\": [\n \"<unknown>\"\n ],\n \"placements\": [\n \"<unknown>\"\n ],\n \"placement_tags\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agenticadvertising.org/api/adagents/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"authorized_agents\": [\n {\n \"url\": \"<string>\",\n \"authorized_for\": \"<string>\",\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ],\n \"properties\": [\n {}\n ],\n \"publisher_properties\": [\n {\n \"publisher_domain\": \"<string>\",\n \"publisher_domains\": [\n \"<string>\"\n ],\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ]\n }\n ],\n \"collections\": [\n {\n \"publisher_domain\": \"<string>\",\n \"collection_ids\": [\n \"<string>\"\n ]\n }\n ],\n \"placement_ids\": [\n \"<string>\"\n ],\n \"placement_tags\": [\n \"<string>\"\n ],\n \"exclusive\": true,\n \"countries\": [\n \"<string>\"\n ],\n \"effective_from\": \"<string>\",\n \"effective_until\": \"<string>\",\n \"signal_ids\": [\n \"<string>\"\n ],\n \"signal_tags\": [\n \"<string>\"\n ],\n \"signing_keys\": [\n {}\n ]\n }\n ],\n \"include_schema\": true,\n \"include_timestamp\": true,\n \"properties\": [\n \"<unknown>\"\n ],\n \"catalog_etag\": \"<string>\",\n \"formats\": [\n \"<unknown>\"\n ],\n \"placements\": [\n \"<unknown>\"\n ],\n \"placement_tags\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"success": true,
"adagents_json": "<string>",
"validation": {
"valid": true,
"errors": [
{
"field": "<string>",
"message": "<string>",
"severity": "error"
}
],
"warnings": [
{
"field": "<string>",
"message": "<string>",
"suggestion": "<string>"
}
],
"domain": "<string>",
"url": "<string>",
"status_code": 123,
"response_bytes": 1,
"resolved_url": "<string>",
"raw_data": "<unknown>",
"manager_domain": "<string>"
}
},
"timestamp": "2023-11-07T05:31:56Z"
}Validation Tools
Generate adagents.json
Generate a valid adagents.json file from authorized agents and/or catalog content. authorized_agents may be empty for a catalog-only community mirror that publishes formats/properties/placements for a platform that has not adopted AdCP.
POST
/
api
/
adagents
/
create
Generate adagents.json
curl --request POST \
--url https://agenticadvertising.org/api/adagents/create \
--header 'Content-Type: application/json' \
--data '
{
"authorized_agents": [
{
"url": "<string>",
"authorized_for": "<string>",
"property_ids": [
"<string>"
],
"property_tags": [
"<string>"
],
"properties": [
{}
],
"publisher_properties": [
{
"publisher_domain": "<string>",
"publisher_domains": [
"<string>"
],
"property_ids": [
"<string>"
],
"property_tags": [
"<string>"
]
}
],
"collections": [
{
"publisher_domain": "<string>",
"collection_ids": [
"<string>"
]
}
],
"placement_ids": [
"<string>"
],
"placement_tags": [
"<string>"
],
"exclusive": true,
"countries": [
"<string>"
],
"effective_from": "<string>",
"effective_until": "<string>",
"signal_ids": [
"<string>"
],
"signal_tags": [
"<string>"
],
"signing_keys": [
{}
]
}
],
"include_schema": true,
"include_timestamp": true,
"properties": [
"<unknown>"
],
"catalog_etag": "<string>",
"formats": [
"<unknown>"
],
"placements": [
"<unknown>"
],
"placement_tags": {}
}
'import requests
url = "https://agenticadvertising.org/api/adagents/create"
payload = {
"authorized_agents": [
{
"url": "<string>",
"authorized_for": "<string>",
"property_ids": ["<string>"],
"property_tags": ["<string>"],
"properties": [{}],
"publisher_properties": [
{
"publisher_domain": "<string>",
"publisher_domains": ["<string>"],
"property_ids": ["<string>"],
"property_tags": ["<string>"]
}
],
"collections": [
{
"publisher_domain": "<string>",
"collection_ids": ["<string>"]
}
],
"placement_ids": ["<string>"],
"placement_tags": ["<string>"],
"exclusive": True,
"countries": ["<string>"],
"effective_from": "<string>",
"effective_until": "<string>",
"signal_ids": ["<string>"],
"signal_tags": ["<string>"],
"signing_keys": [{}]
}
],
"include_schema": True,
"include_timestamp": True,
"properties": ["<unknown>"],
"catalog_etag": "<string>",
"formats": ["<unknown>"],
"placements": ["<unknown>"],
"placement_tags": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
authorized_agents: [
{
url: '<string>',
authorized_for: '<string>',
property_ids: ['<string>'],
property_tags: ['<string>'],
properties: [{}],
publisher_properties: [
{
publisher_domain: '<string>',
publisher_domains: ['<string>'],
property_ids: ['<string>'],
property_tags: ['<string>']
}
],
collections: [{publisher_domain: '<string>', collection_ids: ['<string>']}],
placement_ids: ['<string>'],
placement_tags: ['<string>'],
exclusive: true,
countries: ['<string>'],
effective_from: '<string>',
effective_until: '<string>',
signal_ids: ['<string>'],
signal_tags: ['<string>'],
signing_keys: [{}]
}
],
include_schema: true,
include_timestamp: true,
properties: ['<unknown>'],
catalog_etag: '<string>',
formats: ['<unknown>'],
placements: ['<unknown>'],
placement_tags: {}
})
};
fetch('https://agenticadvertising.org/api/adagents/create', 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://agenticadvertising.org/api/adagents/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'authorized_agents' => [
[
'url' => '<string>',
'authorized_for' => '<string>',
'property_ids' => [
'<string>'
],
'property_tags' => [
'<string>'
],
'properties' => [
[
]
],
'publisher_properties' => [
[
'publisher_domain' => '<string>',
'publisher_domains' => [
'<string>'
],
'property_ids' => [
'<string>'
],
'property_tags' => [
'<string>'
]
]
],
'collections' => [
[
'publisher_domain' => '<string>',
'collection_ids' => [
'<string>'
]
]
],
'placement_ids' => [
'<string>'
],
'placement_tags' => [
'<string>'
],
'exclusive' => true,
'countries' => [
'<string>'
],
'effective_from' => '<string>',
'effective_until' => '<string>',
'signal_ids' => [
'<string>'
],
'signal_tags' => [
'<string>'
],
'signing_keys' => [
[
]
]
]
],
'include_schema' => true,
'include_timestamp' => true,
'properties' => [
'<unknown>'
],
'catalog_etag' => '<string>',
'formats' => [
'<unknown>'
],
'placements' => [
'<unknown>'
],
'placement_tags' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agenticadvertising.org/api/adagents/create"
payload := strings.NewReader("{\n \"authorized_agents\": [\n {\n \"url\": \"<string>\",\n \"authorized_for\": \"<string>\",\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ],\n \"properties\": [\n {}\n ],\n \"publisher_properties\": [\n {\n \"publisher_domain\": \"<string>\",\n \"publisher_domains\": [\n \"<string>\"\n ],\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ]\n }\n ],\n \"collections\": [\n {\n \"publisher_domain\": \"<string>\",\n \"collection_ids\": [\n \"<string>\"\n ]\n }\n ],\n \"placement_ids\": [\n \"<string>\"\n ],\n \"placement_tags\": [\n \"<string>\"\n ],\n \"exclusive\": true,\n \"countries\": [\n \"<string>\"\n ],\n \"effective_from\": \"<string>\",\n \"effective_until\": \"<string>\",\n \"signal_ids\": [\n \"<string>\"\n ],\n \"signal_tags\": [\n \"<string>\"\n ],\n \"signing_keys\": [\n {}\n ]\n }\n ],\n \"include_schema\": true,\n \"include_timestamp\": true,\n \"properties\": [\n \"<unknown>\"\n ],\n \"catalog_etag\": \"<string>\",\n \"formats\": [\n \"<unknown>\"\n ],\n \"placements\": [\n \"<unknown>\"\n ],\n \"placement_tags\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agenticadvertising.org/api/adagents/create")
.header("Content-Type", "application/json")
.body("{\n \"authorized_agents\": [\n {\n \"url\": \"<string>\",\n \"authorized_for\": \"<string>\",\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ],\n \"properties\": [\n {}\n ],\n \"publisher_properties\": [\n {\n \"publisher_domain\": \"<string>\",\n \"publisher_domains\": [\n \"<string>\"\n ],\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ]\n }\n ],\n \"collections\": [\n {\n \"publisher_domain\": \"<string>\",\n \"collection_ids\": [\n \"<string>\"\n ]\n }\n ],\n \"placement_ids\": [\n \"<string>\"\n ],\n \"placement_tags\": [\n \"<string>\"\n ],\n \"exclusive\": true,\n \"countries\": [\n \"<string>\"\n ],\n \"effective_from\": \"<string>\",\n \"effective_until\": \"<string>\",\n \"signal_ids\": [\n \"<string>\"\n ],\n \"signal_tags\": [\n \"<string>\"\n ],\n \"signing_keys\": [\n {}\n ]\n }\n ],\n \"include_schema\": true,\n \"include_timestamp\": true,\n \"properties\": [\n \"<unknown>\"\n ],\n \"catalog_etag\": \"<string>\",\n \"formats\": [\n \"<unknown>\"\n ],\n \"placements\": [\n \"<unknown>\"\n ],\n \"placement_tags\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agenticadvertising.org/api/adagents/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"authorized_agents\": [\n {\n \"url\": \"<string>\",\n \"authorized_for\": \"<string>\",\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ],\n \"properties\": [\n {}\n ],\n \"publisher_properties\": [\n {\n \"publisher_domain\": \"<string>\",\n \"publisher_domains\": [\n \"<string>\"\n ],\n \"property_ids\": [\n \"<string>\"\n ],\n \"property_tags\": [\n \"<string>\"\n ]\n }\n ],\n \"collections\": [\n {\n \"publisher_domain\": \"<string>\",\n \"collection_ids\": [\n \"<string>\"\n ]\n }\n ],\n \"placement_ids\": [\n \"<string>\"\n ],\n \"placement_tags\": [\n \"<string>\"\n ],\n \"exclusive\": true,\n \"countries\": [\n \"<string>\"\n ],\n \"effective_from\": \"<string>\",\n \"effective_until\": \"<string>\",\n \"signal_ids\": [\n \"<string>\"\n ],\n \"signal_tags\": [\n \"<string>\"\n ],\n \"signing_keys\": [\n {}\n ]\n }\n ],\n \"include_schema\": true,\n \"include_timestamp\": true,\n \"properties\": [\n \"<unknown>\"\n ],\n \"catalog_etag\": \"<string>\",\n \"formats\": [\n \"<unknown>\"\n ],\n \"placements\": [\n \"<unknown>\"\n ],\n \"placement_tags\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"success": true,
"adagents_json": "<string>",
"validation": {
"valid": true,
"errors": [
{
"field": "<string>",
"message": "<string>",
"severity": "error"
}
],
"warnings": [
{
"field": "<string>",
"message": "<string>",
"suggestion": "<string>"
}
],
"domain": "<string>",
"url": "<string>",
"status_code": 123,
"response_bytes": 1,
"resolved_url": "<string>",
"raw_data": "<unknown>",
"manager_domain": "<string>"
}
},
"timestamp": "2023-11-07T05:31:56Z"
}Body
application/json
Was this page helpful?
⌘I