Run full storyboard evaluation
curl --request POST \
--url https://agenticadvertising.org/api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"organization_id": "<string>"
}
'import requests
url = "https://agenticadvertising.org/api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run"
payload = { "organization_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({organization_id: '<string>'})
};
fetch('https://agenticadvertising.org/api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run', 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/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run",
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([
'organization_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run"
payload := strings.NewReader("{\n \"organization_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"organization_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agenticadvertising.org/api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"organization_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"storyboard": {
"id": "<string>",
"title": "<string>",
"category": "<string>",
"narrative": "<string>"
},
"agent": {
"url": "<string>",
"profile": "<unknown>"
},
"adcp_version": "<string>",
"requested_compliance_target": "<string>",
"badge_eligible": true,
"badge_eligible_adcp_versions": [
"<string>"
],
"run_id": "<string>",
"storyboard_status": {
"storyboard_id": "<string>",
"steps_passed": 123,
"steps_total": 123,
"failure_count": 123,
"skipped_count": 123,
"first_failed_step_id": "<string>",
"first_failed_step_title": "<string>",
"first_failed_step_task": "<string>",
"first_failure_message": "<string>",
"first_failure_validations": [
"<unknown>"
]
},
"diagnostics": [
{
"run_id": "<string>",
"agent_url": "<string>",
"storyboard_id": "<string>",
"phase_id": "<string>",
"step_id": "<string>",
"task": "<string>",
"response_status": 123,
"error_text": "<string>",
"failed_validations_jsonb": "<unknown>",
"adcp_error_jsonb": "<unknown>"
}
],
"total_duration_ms": 123,
"phases": "<unknown>",
"summary": "<unknown>",
"observations": "<unknown>",
"test_kit": "<unknown>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Agent Compliance
Run full storyboard evaluation
Execute all steps of a storyboard against an agent and record the compliance result. Requires authentication and ownership.
POST
/
api
/
registry
/
agents
/
{encodedUrl}
/
storyboard
/
{storyboardId}
/
run
Run full storyboard evaluation
curl --request POST \
--url https://agenticadvertising.org/api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"organization_id": "<string>"
}
'import requests
url = "https://agenticadvertising.org/api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run"
payload = { "organization_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({organization_id: '<string>'})
};
fetch('https://agenticadvertising.org/api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run', 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/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run",
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([
'organization_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run"
payload := strings.NewReader("{\n \"organization_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"organization_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agenticadvertising.org/api/registry/agents/{encodedUrl}/storyboard/{storyboardId}/run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"organization_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"storyboard": {
"id": "<string>",
"title": "<string>",
"category": "<string>",
"narrative": "<string>"
},
"agent": {
"url": "<string>",
"profile": "<unknown>"
},
"adcp_version": "<string>",
"requested_compliance_target": "<string>",
"badge_eligible": true,
"badge_eligible_adcp_versions": [
"<string>"
],
"run_id": "<string>",
"storyboard_status": {
"storyboard_id": "<string>",
"steps_passed": 123,
"steps_total": 123,
"failure_count": 123,
"skipped_count": 123,
"first_failed_step_id": "<string>",
"first_failed_step_title": "<string>",
"first_failed_step_task": "<string>",
"first_failure_message": "<string>",
"first_failure_validations": [
"<unknown>"
]
},
"diagnostics": [
{
"run_id": "<string>",
"agent_url": "<string>",
"storyboard_id": "<string>",
"phase_id": "<string>",
"step_id": "<string>",
"task": "<string>",
"response_status": 123,
"error_text": "<string>",
"failed_validations_jsonb": "<unknown>",
"adcp_error_jsonb": "<unknown>"
}
],
"total_duration_ms": 123,
"phases": "<unknown>",
"summary": "<unknown>",
"observations": "<unknown>",
"test_kit": "<unknown>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
bearerAuthoauth2
Bearer token in the Authorization header. Two token types are accepted:
- Organization API key (
sk_...) issued via the dashboard. Org-scoped, long-lived, for server-to-server use. - User JWT obtained via the OAuth 2.1 authorization code flow with PKCE. User-scoped, short-lived. Discover the authorization server at
/.well-known/oauth-authorization-serverand the protected-resource metadata at/.well-known/oauth-protected-resource/api.
Body
application/json
Selected organization ID. The caller must own the agent in this organization.
Response
Storyboard run result with annotated phases
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Compliance run id written by this owner-triggered storyboard run.
Persisted storyboard verdict for this run, using the same executable-step semantics as agent_storyboard_status.
Show child attributes
Show child attributes
Owner-scoped failing-step validation summary for this run. Full request/response diagnostics remain available via /compliance/diagnostics?run_id=...
Show child attributes
Show child attributes
⌘I