@adcp/sdk 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +12 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +14 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +16 -0
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +8 -0
- package/dist/lib/schemas-data/v2.5/adagents.json +494 -0
- package/dist/lib/schemas-data/v2.5/core/activation-key.json +50 -0
- package/dist/lib/schemas-data/v2.5/core/assets/audio-asset.json +32 -0
- package/dist/lib/schemas-data/v2.5/core/assets/css-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/daast-asset.json +87 -0
- package/dist/lib/schemas-data/v2.5/core/assets/html-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/image-asset.json +38 -0
- package/dist/lib/schemas-data/v2.5/core/assets/javascript-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/markdown-asset.json +31 -0
- package/dist/lib/schemas-data/v2.5/core/assets/text-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/url-asset.json +26 -0
- package/dist/lib/schemas-data/v2.5/core/assets/vast-asset.json +87 -0
- package/dist/lib/schemas-data/v2.5/core/assets/video-asset.json +44 -0
- package/dist/lib/schemas-data/v2.5/core/assets/webhook-asset.json +71 -0
- package/dist/lib/schemas-data/v2.5/core/async-response-data.json +88 -0
- package/dist/lib/schemas-data/v2.5/core/brand-manifest-ref.json +33 -0
- package/dist/lib/schemas-data/v2.5/core/brand-manifest.json +409 -0
- package/dist/lib/schemas-data/v2.5/core/context.json +8 -0
- package/dist/lib/schemas-data/v2.5/core/creative-asset.json +125 -0
- package/dist/lib/schemas-data/v2.5/core/creative-assignment.json +31 -0
- package/dist/lib/schemas-data/v2.5/core/creative-filters.json +111 -0
- package/dist/lib/schemas-data/v2.5/core/creative-manifest.json +72 -0
- package/dist/lib/schemas-data/v2.5/core/creative-policy.json +27 -0
- package/dist/lib/schemas-data/v2.5/core/delivery-metrics.json +171 -0
- package/dist/lib/schemas-data/v2.5/core/deployment.json +93 -0
- package/dist/lib/schemas-data/v2.5/core/destination.json +53 -0
- package/dist/lib/schemas-data/v2.5/core/error.json +40 -0
- package/dist/lib/schemas-data/v2.5/core/ext.json +8 -0
- package/dist/lib/schemas-data/v2.5/core/format-id.json +47 -0
- package/dist/lib/schemas-data/v2.5/core/format.json +324 -0
- package/dist/lib/schemas-data/v2.5/core/frequency-cap.json +18 -0
- package/dist/lib/schemas-data/v2.5/core/mcp-webhook-payload.json +152 -0
- package/dist/lib/schemas-data/v2.5/core/measurement.json +48 -0
- package/dist/lib/schemas-data/v2.5/core/media-buy.json +62 -0
- package/dist/lib/schemas-data/v2.5/core/package.json +72 -0
- package/dist/lib/schemas-data/v2.5/core/performance-feedback.json +90 -0
- package/dist/lib/schemas-data/v2.5/core/placement.json +34 -0
- package/dist/lib/schemas-data/v2.5/core/pricing-option.json +35 -0
- package/dist/lib/schemas-data/v2.5/core/product-filters.json +102 -0
- package/dist/lib/schemas-data/v2.5/core/product.json +153 -0
- package/dist/lib/schemas-data/v2.5/core/promoted-offerings.json +115 -0
- package/dist/lib/schemas-data/v2.5/core/promoted-products.json +67 -0
- package/dist/lib/schemas-data/v2.5/core/property-id.json +14 -0
- package/dist/lib/schemas-data/v2.5/core/property-tag.json +16 -0
- package/dist/lib/schemas-data/v2.5/core/property.json +62 -0
- package/dist/lib/schemas-data/v2.5/core/protocol-envelope.json +146 -0
- package/dist/lib/schemas-data/v2.5/core/publisher-property-selector.json +92 -0
- package/dist/lib/schemas-data/v2.5/core/push-notification-config.json +48 -0
- package/dist/lib/schemas-data/v2.5/core/reporting-capabilities.json +71 -0
- package/dist/lib/schemas-data/v2.5/core/response.json +24 -0
- package/dist/lib/schemas-data/v2.5/core/signal-filters.json +35 -0
- package/dist/lib/schemas-data/v2.5/core/start-timing.json +18 -0
- package/dist/lib/schemas-data/v2.5/core/sub-asset.json +79 -0
- package/dist/lib/schemas-data/v2.5/core/targeting.json +50 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-get-request.json +43 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-get-response.json +166 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-list-request.json +192 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-list-response.json +183 -0
- package/dist/lib/schemas-data/v2.5/creative/asset-types/index.json +101 -0
- package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-request.json +73 -0
- package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-response.json +61 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-creative-request.json +164 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-creative-response.json +245 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-render.json +225 -0
- package/dist/lib/schemas-data/v2.5/enums/adcp-domain.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/asset-content-type.json +22 -0
- package/dist/lib/schemas-data/v2.5/enums/auth-scheme.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/available-metric.json +18 -0
- package/dist/lib/schemas-data/v2.5/enums/channels.json +18 -0
- package/dist/lib/schemas-data/v2.5/enums/co-branding-requirement.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-action.json +14 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-agent-capability.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-sort-field.json +15 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-status.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/daast-tracking-event.json +20 -0
- package/dist/lib/schemas-data/v2.5/enums/daast-version.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/delivery-type.json +15 -0
- package/dist/lib/schemas-data/v2.5/enums/dimension-unit.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/feed-format.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/feedback-source.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/format-category.json +16 -0
- package/dist/lib/schemas-data/v2.5/enums/format-id-parameter.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/frequency-cap-scope.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/history-entry-type.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/http-method.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/identifier-types.json +34 -0
- package/dist/lib/schemas-data/v2.5/enums/javascript-module-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/landing-page-requirement.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/markdown-flavor.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/media-buy-status.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/metric-type.json +17 -0
- package/dist/lib/schemas-data/v2.5/enums/notification-type.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/pacing.json +17 -0
- package/dist/lib/schemas-data/v2.5/enums/preview-output-format.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/pricing-model.json +25 -0
- package/dist/lib/schemas-data/v2.5/enums/property-type.json +16 -0
- package/dist/lib/schemas-data/v2.5/enums/publisher-identifier-types.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/reporting-frequency.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/signal-catalog-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/sort-direction.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/standard-format-ids.json +103 -0
- package/dist/lib/schemas-data/v2.5/enums/task-status.json +29 -0
- package/dist/lib/schemas-data/v2.5/enums/task-type.json +27 -0
- package/dist/lib/schemas-data/v2.5/enums/update-frequency.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/url-asset-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/validation-mode.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/vast-tracking-event.json +25 -0
- package/dist/lib/schemas-data/v2.5/enums/vast-version.json +14 -0
- package/dist/lib/schemas-data/v2.5/enums/webhook-response-type.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/webhook-security-method.json +12 -0
- package/dist/lib/schemas-data/v2.5/index.json +604 -0
- package/dist/lib/schemas-data/v2.5/media-buy/build-creative-request.json +31 -0
- package/dist/lib/schemas-data/v2.5/media-buy/build-creative-response.json +65 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-input-required.json +31 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-request.json +126 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-response.json +97 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-request.json +54 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-response.json +285 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-input-required.json +38 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-submitted.json +21 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-working.json +34 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-request.json +28 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-response.json +33 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-request.json +26 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-response.json +70 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-request.json +58 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-response.json +61 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-request.json +137 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-response.json +437 -0
- package/dist/lib/schemas-data/v2.5/media-buy/package-request.json +80 -0
- package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-request.json +88 -0
- package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-response.json +66 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-input-required.json +25 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-working.json +46 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-request.json +178 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-response.json +149 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-input-required.json +24 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-request.json +129 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-response.json +99 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpc-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpcv-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpm-auction-option.json +81 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpm-fixed-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpp-option.json +73 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpv-option.json +88 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/flat-rate-option.json +93 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-auction-option.json +81 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-fixed-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/protocols/adcp-extension.json +33 -0
- package/dist/lib/schemas-data/v2.5/signals/activate-signal-request.json +32 -0
- package/dist/lib/schemas-data/v2.5/signals/activate-signal-response.json +68 -0
- package/dist/lib/schemas-data/v2.5/signals/get-signals-request.json +59 -0
- package/dist/lib/schemas-data/v2.5/signals/get-signals-response.json +100 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +40 -25
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +107 -26
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/utils/creative-adapter.d.ts +32 -2
- package/dist/lib/utils/creative-adapter.d.ts.map +1 -1
- package/dist/lib/utils/creative-adapter.js +42 -6
- package/dist/lib/utils/creative-adapter.js.map +1 -1
- package/dist/lib/validation/schema-loader.d.ts.map +1 -1
- package/dist/lib/validation/schema-loader.js +20 -2
- package/dist/lib/validation/schema-loader.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/package.json +7 -5
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/adagents.json",
|
|
4
|
+
"title": "Authorized Sales Agents",
|
|
5
|
+
"description": "Declaration of authorized sales agents for advertising inventory. Hosted at /.well-known/adagents.json on publisher domains. Can either contain the full structure inline or reference an authoritative URL.",
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{
|
|
8
|
+
"type": "object",
|
|
9
|
+
"description": "URL reference variant - points to the authoritative location of the adagents.json file",
|
|
10
|
+
"properties": {
|
|
11
|
+
"$schema": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "JSON Schema identifier for this adagents.json file"
|
|
14
|
+
},
|
|
15
|
+
"authoritative_location": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"format": "uri",
|
|
18
|
+
"pattern": "^https://",
|
|
19
|
+
"description": "HTTPS URL of the authoritative adagents.json file. When present, this file is a reference and the authoritative location contains the actual agent authorization data."
|
|
20
|
+
},
|
|
21
|
+
"last_updated": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"format": "date-time",
|
|
24
|
+
"description": "ISO 8601 timestamp indicating when this reference was last updated"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"required": [
|
|
28
|
+
"authoritative_location"
|
|
29
|
+
],
|
|
30
|
+
"additionalProperties": true
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "object",
|
|
34
|
+
"description": "Inline structure variant - contains full agent authorization data",
|
|
35
|
+
"properties": {
|
|
36
|
+
"$schema": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "JSON Schema identifier for this adagents.json file"
|
|
39
|
+
},
|
|
40
|
+
"contact": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"description": "Contact information for the entity managing this adagents.json file (may be publisher or third-party operator)",
|
|
43
|
+
"properties": {
|
|
44
|
+
"name": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "Name of the entity managing this file (e.g., 'Meta Advertising Operations', 'Clear Channel Digital')",
|
|
47
|
+
"minLength": 1,
|
|
48
|
+
"maxLength": 255
|
|
49
|
+
},
|
|
50
|
+
"email": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"format": "email",
|
|
53
|
+
"description": "Contact email for questions or issues with this authorization file",
|
|
54
|
+
"minLength": 1,
|
|
55
|
+
"maxLength": 255
|
|
56
|
+
},
|
|
57
|
+
"domain": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "Primary domain of the entity managing this file",
|
|
60
|
+
"pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$"
|
|
61
|
+
},
|
|
62
|
+
"seller_id": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "Seller ID from IAB Tech Lab sellers.json (if applicable)",
|
|
65
|
+
"minLength": 1,
|
|
66
|
+
"maxLength": 255
|
|
67
|
+
},
|
|
68
|
+
"tag_id": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "TAG Certified Against Fraud ID for verification (if applicable)",
|
|
71
|
+
"minLength": 1,
|
|
72
|
+
"maxLength": 100
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"required": [
|
|
76
|
+
"name"
|
|
77
|
+
],
|
|
78
|
+
"additionalProperties": true
|
|
79
|
+
},
|
|
80
|
+
"properties": {
|
|
81
|
+
"type": "array",
|
|
82
|
+
"description": "Array of all properties covered by this adagents.json file. Defines the canonical property list that authorized agents reference.",
|
|
83
|
+
"items": {
|
|
84
|
+
"$ref": "/schemas/core/property.json"
|
|
85
|
+
},
|
|
86
|
+
"minItems": 1
|
|
87
|
+
},
|
|
88
|
+
"tags": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"description": "Metadata for each tag referenced by properties. Provides human-readable context for property tag values.",
|
|
91
|
+
"additionalProperties": {
|
|
92
|
+
"type": "object",
|
|
93
|
+
"properties": {
|
|
94
|
+
"name": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "Human-readable name for this tag"
|
|
97
|
+
},
|
|
98
|
+
"description": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "Description of what this tag represents"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"required": [
|
|
104
|
+
"name",
|
|
105
|
+
"description"
|
|
106
|
+
],
|
|
107
|
+
"additionalProperties": true
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"authorized_agents": {
|
|
111
|
+
"type": "array",
|
|
112
|
+
"description": "Array of sales agents authorized to sell inventory for properties in this file",
|
|
113
|
+
"items": {
|
|
114
|
+
"oneOf": [
|
|
115
|
+
{
|
|
116
|
+
"type": "object",
|
|
117
|
+
"properties": {
|
|
118
|
+
"url": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"format": "uri",
|
|
121
|
+
"description": "The authorized agent's API endpoint URL"
|
|
122
|
+
},
|
|
123
|
+
"authorized_for": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"description": "Human-readable description of what this agent is authorized to sell",
|
|
126
|
+
"minLength": 1,
|
|
127
|
+
"maxLength": 500
|
|
128
|
+
},
|
|
129
|
+
"authorization_type": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"const": "property_ids",
|
|
132
|
+
"description": "Discriminator indicating authorization by specific property IDs"
|
|
133
|
+
},
|
|
134
|
+
"property_ids": {
|
|
135
|
+
"type": "array",
|
|
136
|
+
"description": "Property IDs this agent is authorized for. Resolved against the top-level properties array in this file",
|
|
137
|
+
"items": {
|
|
138
|
+
"$ref": "/schemas/core/property-id.json"
|
|
139
|
+
},
|
|
140
|
+
"minItems": 1
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"required": [
|
|
144
|
+
"url",
|
|
145
|
+
"authorized_for",
|
|
146
|
+
"authorization_type",
|
|
147
|
+
"property_ids"
|
|
148
|
+
],
|
|
149
|
+
"additionalProperties": true
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"type": "object",
|
|
153
|
+
"properties": {
|
|
154
|
+
"url": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"format": "uri",
|
|
157
|
+
"description": "The authorized agent's API endpoint URL"
|
|
158
|
+
},
|
|
159
|
+
"authorized_for": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"description": "Human-readable description of what this agent is authorized to sell",
|
|
162
|
+
"minLength": 1,
|
|
163
|
+
"maxLength": 500
|
|
164
|
+
},
|
|
165
|
+
"authorization_type": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"const": "property_tags",
|
|
168
|
+
"description": "Discriminator indicating authorization by property tags"
|
|
169
|
+
},
|
|
170
|
+
"property_tags": {
|
|
171
|
+
"type": "array",
|
|
172
|
+
"description": "Tags identifying which properties this agent is authorized for. Resolved against the top-level properties array in this file using tag matching",
|
|
173
|
+
"items": {
|
|
174
|
+
"$ref": "/schemas/core/property-tag.json"
|
|
175
|
+
},
|
|
176
|
+
"minItems": 1
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"required": [
|
|
180
|
+
"url",
|
|
181
|
+
"authorized_for",
|
|
182
|
+
"authorization_type",
|
|
183
|
+
"property_tags"
|
|
184
|
+
],
|
|
185
|
+
"additionalProperties": true
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"type": "object",
|
|
189
|
+
"properties": {
|
|
190
|
+
"url": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"format": "uri",
|
|
193
|
+
"description": "The authorized agent's API endpoint URL"
|
|
194
|
+
},
|
|
195
|
+
"authorized_for": {
|
|
196
|
+
"type": "string",
|
|
197
|
+
"description": "Human-readable description of what this agent is authorized to sell",
|
|
198
|
+
"minLength": 1,
|
|
199
|
+
"maxLength": 500
|
|
200
|
+
},
|
|
201
|
+
"authorization_type": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"const": "inline_properties",
|
|
204
|
+
"description": "Discriminator indicating authorization by inline property definitions"
|
|
205
|
+
},
|
|
206
|
+
"properties": {
|
|
207
|
+
"type": "array",
|
|
208
|
+
"description": "Specific properties this agent is authorized for (alternative to property_ids/property_tags)",
|
|
209
|
+
"items": {
|
|
210
|
+
"$ref": "/schemas/core/property.json"
|
|
211
|
+
},
|
|
212
|
+
"minItems": 1
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"required": [
|
|
216
|
+
"url",
|
|
217
|
+
"authorized_for",
|
|
218
|
+
"authorization_type",
|
|
219
|
+
"properties"
|
|
220
|
+
],
|
|
221
|
+
"additionalProperties": true
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"type": "object",
|
|
225
|
+
"properties": {
|
|
226
|
+
"url": {
|
|
227
|
+
"type": "string",
|
|
228
|
+
"format": "uri",
|
|
229
|
+
"description": "The authorized agent's API endpoint URL"
|
|
230
|
+
},
|
|
231
|
+
"authorized_for": {
|
|
232
|
+
"type": "string",
|
|
233
|
+
"description": "Human-readable description of what this agent is authorized to sell",
|
|
234
|
+
"minLength": 1,
|
|
235
|
+
"maxLength": 500
|
|
236
|
+
},
|
|
237
|
+
"authorization_type": {
|
|
238
|
+
"type": "string",
|
|
239
|
+
"const": "publisher_properties",
|
|
240
|
+
"description": "Discriminator indicating authorization for properties from other publisher domains"
|
|
241
|
+
},
|
|
242
|
+
"publisher_properties": {
|
|
243
|
+
"type": "array",
|
|
244
|
+
"description": "Properties from other publisher domains this agent is authorized for. Each entry specifies a publisher domain and which of their properties this agent can sell",
|
|
245
|
+
"items": {
|
|
246
|
+
"$ref": "/schemas/core/publisher-property-selector.json"
|
|
247
|
+
},
|
|
248
|
+
"minItems": 1
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
"required": [
|
|
252
|
+
"url",
|
|
253
|
+
"authorized_for",
|
|
254
|
+
"authorization_type",
|
|
255
|
+
"publisher_properties"
|
|
256
|
+
],
|
|
257
|
+
"additionalProperties": true
|
|
258
|
+
}
|
|
259
|
+
]
|
|
260
|
+
},
|
|
261
|
+
"minItems": 1
|
|
262
|
+
},
|
|
263
|
+
"last_updated": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"format": "date-time",
|
|
266
|
+
"description": "ISO 8601 timestamp indicating when this file was last updated"
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"required": [
|
|
270
|
+
"authorized_agents"
|
|
271
|
+
],
|
|
272
|
+
"additionalProperties": true
|
|
273
|
+
}
|
|
274
|
+
],
|
|
275
|
+
"examples": [
|
|
276
|
+
{
|
|
277
|
+
"$schema": "/schemas/adagents.json",
|
|
278
|
+
"authoritative_location": "https://cdn.example.com/adagents/v2/adagents.json",
|
|
279
|
+
"last_updated": "2025-01-15T10:00:00Z"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"$schema": "/schemas/adagents.json",
|
|
283
|
+
"properties": [
|
|
284
|
+
{
|
|
285
|
+
"property_type": "website",
|
|
286
|
+
"name": "Example Site",
|
|
287
|
+
"identifiers": [
|
|
288
|
+
{
|
|
289
|
+
"type": "domain",
|
|
290
|
+
"value": "example.com"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"publisher_domain": "example.com"
|
|
294
|
+
}
|
|
295
|
+
],
|
|
296
|
+
"authorized_agents": [
|
|
297
|
+
{
|
|
298
|
+
"url": "https://agent.example.com",
|
|
299
|
+
"authorized_for": "Official sales agent",
|
|
300
|
+
"authorization_type": "property_tags",
|
|
301
|
+
"property_tags": [
|
|
302
|
+
"all"
|
|
303
|
+
]
|
|
304
|
+
}
|
|
305
|
+
],
|
|
306
|
+
"tags": {
|
|
307
|
+
"all": {
|
|
308
|
+
"name": "All Properties",
|
|
309
|
+
"description": "All properties in this file"
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
"last_updated": "2025-01-10T12:00:00Z"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"$schema": "/schemas/adagents.json",
|
|
316
|
+
"contact": {
|
|
317
|
+
"name": "Meta Advertising Operations",
|
|
318
|
+
"email": "adops@meta.com",
|
|
319
|
+
"domain": "meta.com",
|
|
320
|
+
"seller_id": "pub-meta-12345",
|
|
321
|
+
"tag_id": "12345"
|
|
322
|
+
},
|
|
323
|
+
"properties": [
|
|
324
|
+
{
|
|
325
|
+
"property_type": "mobile_app",
|
|
326
|
+
"name": "Instagram",
|
|
327
|
+
"identifiers": [
|
|
328
|
+
{
|
|
329
|
+
"type": "ios_bundle",
|
|
330
|
+
"value": "com.burbn.instagram"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"type": "android_package",
|
|
334
|
+
"value": "com.instagram.android"
|
|
335
|
+
}
|
|
336
|
+
],
|
|
337
|
+
"tags": [
|
|
338
|
+
"meta_network",
|
|
339
|
+
"social_media"
|
|
340
|
+
],
|
|
341
|
+
"publisher_domain": "instagram.com"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"property_type": "mobile_app",
|
|
345
|
+
"name": "Facebook",
|
|
346
|
+
"identifiers": [
|
|
347
|
+
{
|
|
348
|
+
"type": "ios_bundle",
|
|
349
|
+
"value": "com.facebook.Facebook"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"type": "android_package",
|
|
353
|
+
"value": "com.facebook.katana"
|
|
354
|
+
}
|
|
355
|
+
],
|
|
356
|
+
"tags": [
|
|
357
|
+
"meta_network",
|
|
358
|
+
"social_media"
|
|
359
|
+
],
|
|
360
|
+
"publisher_domain": "facebook.com"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"property_type": "mobile_app",
|
|
364
|
+
"name": "WhatsApp",
|
|
365
|
+
"identifiers": [
|
|
366
|
+
{
|
|
367
|
+
"type": "ios_bundle",
|
|
368
|
+
"value": "net.whatsapp.WhatsApp"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"type": "android_package",
|
|
372
|
+
"value": "com.whatsapp"
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
"tags": [
|
|
376
|
+
"meta_network",
|
|
377
|
+
"messaging"
|
|
378
|
+
],
|
|
379
|
+
"publisher_domain": "whatsapp.com"
|
|
380
|
+
}
|
|
381
|
+
],
|
|
382
|
+
"tags": {
|
|
383
|
+
"meta_network": {
|
|
384
|
+
"name": "Meta Network",
|
|
385
|
+
"description": "All Meta-owned properties"
|
|
386
|
+
},
|
|
387
|
+
"social_media": {
|
|
388
|
+
"name": "Social Media Apps",
|
|
389
|
+
"description": "Social networking applications"
|
|
390
|
+
},
|
|
391
|
+
"messaging": {
|
|
392
|
+
"name": "Messaging Apps",
|
|
393
|
+
"description": "Messaging and communication apps"
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
"authorized_agents": [
|
|
397
|
+
{
|
|
398
|
+
"url": "https://meta-ads.com",
|
|
399
|
+
"authorized_for": "All Meta properties",
|
|
400
|
+
"authorization_type": "property_tags",
|
|
401
|
+
"property_tags": [
|
|
402
|
+
"meta_network"
|
|
403
|
+
]
|
|
404
|
+
}
|
|
405
|
+
],
|
|
406
|
+
"last_updated": "2025-01-10T15:30:00Z"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"$schema": "/schemas/adagents.json",
|
|
410
|
+
"contact": {
|
|
411
|
+
"name": "Tumblr Advertising"
|
|
412
|
+
},
|
|
413
|
+
"properties": [
|
|
414
|
+
{
|
|
415
|
+
"property_type": "website",
|
|
416
|
+
"name": "Tumblr Corporate",
|
|
417
|
+
"identifiers": [
|
|
418
|
+
{
|
|
419
|
+
"type": "domain",
|
|
420
|
+
"value": "tumblr.com"
|
|
421
|
+
}
|
|
422
|
+
],
|
|
423
|
+
"tags": [
|
|
424
|
+
"corporate"
|
|
425
|
+
],
|
|
426
|
+
"publisher_domain": "tumblr.com"
|
|
427
|
+
}
|
|
428
|
+
],
|
|
429
|
+
"tags": {
|
|
430
|
+
"corporate": {
|
|
431
|
+
"name": "Corporate Properties",
|
|
432
|
+
"description": "Tumblr-owned corporate properties (not user blogs)"
|
|
433
|
+
}
|
|
434
|
+
},
|
|
435
|
+
"authorized_agents": [
|
|
436
|
+
{
|
|
437
|
+
"url": "https://tumblr-sales.com",
|
|
438
|
+
"authorized_for": "Tumblr corporate properties only",
|
|
439
|
+
"authorization_type": "property_tags",
|
|
440
|
+
"property_tags": [
|
|
441
|
+
"corporate"
|
|
442
|
+
]
|
|
443
|
+
}
|
|
444
|
+
],
|
|
445
|
+
"last_updated": "2025-01-10T16:00:00Z"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"$schema": "/schemas/adagents.json",
|
|
449
|
+
"contact": {
|
|
450
|
+
"name": "Example Third-Party Sales Agent",
|
|
451
|
+
"email": "sales@agent.example",
|
|
452
|
+
"domain": "agent.example"
|
|
453
|
+
},
|
|
454
|
+
"authorized_agents": [
|
|
455
|
+
{
|
|
456
|
+
"url": "https://agent.example/api",
|
|
457
|
+
"authorized_for": "CNN CTV properties via publisher authorization",
|
|
458
|
+
"authorization_type": "publisher_properties",
|
|
459
|
+
"publisher_properties": [
|
|
460
|
+
{
|
|
461
|
+
"publisher_domain": "cnn.com",
|
|
462
|
+
"selection_type": "by_id",
|
|
463
|
+
"property_ids": [
|
|
464
|
+
"cnn_ctv_app"
|
|
465
|
+
]
|
|
466
|
+
}
|
|
467
|
+
]
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"url": "https://agent.example/api",
|
|
471
|
+
"authorized_for": "All CTV properties from multiple publishers",
|
|
472
|
+
"authorization_type": "publisher_properties",
|
|
473
|
+
"publisher_properties": [
|
|
474
|
+
{
|
|
475
|
+
"publisher_domain": "cnn.com",
|
|
476
|
+
"selection_type": "by_tag",
|
|
477
|
+
"property_tags": [
|
|
478
|
+
"ctv"
|
|
479
|
+
]
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"publisher_domain": "espn.com",
|
|
483
|
+
"selection_type": "by_tag",
|
|
484
|
+
"property_tags": [
|
|
485
|
+
"ctv"
|
|
486
|
+
]
|
|
487
|
+
}
|
|
488
|
+
]
|
|
489
|
+
}
|
|
490
|
+
],
|
|
491
|
+
"last_updated": "2025-01-10T17:00:00Z"
|
|
492
|
+
}
|
|
493
|
+
]
|
|
494
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/core/activation-key.json",
|
|
4
|
+
"title": "Activation Key",
|
|
5
|
+
"description": "Universal identifier for using a signal on a destination platform. Can be either a segment ID or a key-value pair depending on the platform's targeting mechanism.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"oneOf": [
|
|
8
|
+
{
|
|
9
|
+
"properties": {
|
|
10
|
+
"type": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"const": "segment_id",
|
|
13
|
+
"description": "Segment ID based targeting"
|
|
14
|
+
},
|
|
15
|
+
"segment_id": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "The platform-specific segment identifier to use in campaign targeting"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": [
|
|
21
|
+
"type",
|
|
22
|
+
"segment_id"
|
|
23
|
+
],
|
|
24
|
+
"additionalProperties": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"properties": {
|
|
28
|
+
"type": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"const": "key_value",
|
|
31
|
+
"description": "Key-value pair based targeting"
|
|
32
|
+
},
|
|
33
|
+
"key": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "The targeting parameter key"
|
|
36
|
+
},
|
|
37
|
+
"value": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "The targeting parameter value"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"required": [
|
|
43
|
+
"type",
|
|
44
|
+
"key",
|
|
45
|
+
"value"
|
|
46
|
+
],
|
|
47
|
+
"additionalProperties": true
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/core/assets/audio-asset.json",
|
|
4
|
+
"title": "Audio Asset",
|
|
5
|
+
"description": "Audio asset with URL and specifications",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"url": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"format": "uri",
|
|
11
|
+
"description": "URL to the audio asset"
|
|
12
|
+
},
|
|
13
|
+
"duration_ms": {
|
|
14
|
+
"type": "integer",
|
|
15
|
+
"description": "Audio duration in milliseconds",
|
|
16
|
+
"minimum": 0
|
|
17
|
+
},
|
|
18
|
+
"format": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Audio file format (mp3, wav, aac, etc.)"
|
|
21
|
+
},
|
|
22
|
+
"bitrate_kbps": {
|
|
23
|
+
"type": "integer",
|
|
24
|
+
"description": "Audio bitrate in kilobits per second",
|
|
25
|
+
"minimum": 1
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"required": [
|
|
29
|
+
"url"
|
|
30
|
+
],
|
|
31
|
+
"additionalProperties": true
|
|
32
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/core/assets/css-asset.json",
|
|
4
|
+
"title": "CSS Asset",
|
|
5
|
+
"description": "CSS stylesheet asset",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"content": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "CSS content"
|
|
11
|
+
},
|
|
12
|
+
"media": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "CSS media query context (e.g., 'screen', 'print')"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"required": [
|
|
18
|
+
"content"
|
|
19
|
+
],
|
|
20
|
+
"additionalProperties": true
|
|
21
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/core/assets/daast-asset.json",
|
|
4
|
+
"title": "DAAST Asset",
|
|
5
|
+
"description": "DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving",
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"delivery_type": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"const": "url",
|
|
13
|
+
"description": "Discriminator indicating DAAST is delivered via URL endpoint"
|
|
14
|
+
},
|
|
15
|
+
"url": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"format": "uri",
|
|
18
|
+
"description": "URL endpoint that returns DAAST XML"
|
|
19
|
+
},
|
|
20
|
+
"daast_version": {
|
|
21
|
+
"$ref": "/schemas/enums/daast-version.json",
|
|
22
|
+
"description": "DAAST specification version"
|
|
23
|
+
},
|
|
24
|
+
"duration_ms": {
|
|
25
|
+
"type": "integer",
|
|
26
|
+
"description": "Expected audio duration in milliseconds (if known)",
|
|
27
|
+
"minimum": 0
|
|
28
|
+
},
|
|
29
|
+
"tracking_events": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": {
|
|
32
|
+
"$ref": "/schemas/enums/daast-tracking-event.json"
|
|
33
|
+
},
|
|
34
|
+
"description": "Tracking events supported by this DAAST tag"
|
|
35
|
+
},
|
|
36
|
+
"companion_ads": {
|
|
37
|
+
"type": "boolean",
|
|
38
|
+
"description": "Whether companion display ads are included"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"required": [
|
|
42
|
+
"delivery_type",
|
|
43
|
+
"url"
|
|
44
|
+
],
|
|
45
|
+
"additionalProperties": true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "object",
|
|
49
|
+
"properties": {
|
|
50
|
+
"delivery_type": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"const": "inline",
|
|
53
|
+
"description": "Discriminator indicating DAAST is delivered as inline XML content"
|
|
54
|
+
},
|
|
55
|
+
"content": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"description": "Inline DAAST XML content"
|
|
58
|
+
},
|
|
59
|
+
"daast_version": {
|
|
60
|
+
"$ref": "/schemas/enums/daast-version.json",
|
|
61
|
+
"description": "DAAST specification version"
|
|
62
|
+
},
|
|
63
|
+
"duration_ms": {
|
|
64
|
+
"type": "integer",
|
|
65
|
+
"description": "Expected audio duration in milliseconds (if known)",
|
|
66
|
+
"minimum": 0
|
|
67
|
+
},
|
|
68
|
+
"tracking_events": {
|
|
69
|
+
"type": "array",
|
|
70
|
+
"items": {
|
|
71
|
+
"$ref": "/schemas/enums/daast-tracking-event.json"
|
|
72
|
+
},
|
|
73
|
+
"description": "Tracking events supported by this DAAST tag"
|
|
74
|
+
},
|
|
75
|
+
"companion_ads": {
|
|
76
|
+
"type": "boolean",
|
|
77
|
+
"description": "Whether companion display ads are included"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"required": [
|
|
81
|
+
"delivery_type",
|
|
82
|
+
"content"
|
|
83
|
+
],
|
|
84
|
+
"additionalProperties": true
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|