adcp 1.6.1__py3-none-any.whl → 2.1.0__py3-none-any.whl
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.
- adcp/__init__.py +110 -189
- adcp/adagents.py +11 -12
- adcp/client.py +16 -11
- adcp/py.typed +0 -0
- adcp/types/aliases.py +209 -0
- adcp/types/generated.py +540 -1134
- adcp/types/generated_poc/__init__.py +3 -0
- adcp/types/generated_poc/activate_signal_request.py +34 -0
- adcp/types/generated_poc/activate_signal_response.py +57 -0
- adcp/types/generated_poc/activation_key.py +30 -0
- adcp/types/generated_poc/adagents.py +266 -0
- adcp/types/generated_poc/asset_type.py +100 -0
- adcp/types/generated_poc/audio_asset.py +26 -0
- adcp/types/generated_poc/brand_manifest.py +260 -0
- adcp/types/generated_poc/brand_manifest_ref.py +361 -0
- adcp/types/generated_poc/build_creative_request.py +43 -0
- adcp/types/generated_poc/build_creative_response.py +57 -0
- adcp/types/generated_poc/channels.py +19 -0
- adcp/types/generated_poc/cpc_option.py +39 -0
- adcp/types/generated_poc/cpcv_option.py +41 -0
- adcp/types/generated_poc/cpm_auction_option.py +54 -0
- adcp/types/generated_poc/cpm_fixed_option.py +39 -0
- adcp/types/generated_poc/cpp_option.py +60 -0
- adcp/types/generated_poc/cpv_option.py +73 -0
- adcp/types/generated_poc/create_media_buy_request.py +96 -0
- adcp/types/generated_poc/create_media_buy_response.py +66 -0
- adcp/types/generated_poc/creative_asset.py +83 -0
- adcp/types/generated_poc/creative_assignment.py +27 -0
- adcp/types/generated_poc/creative_manifest.py +61 -0
- adcp/types/generated_poc/creative_policy.py +34 -0
- adcp/types/generated_poc/creative_status.py +14 -0
- adcp/types/generated_poc/css_asset.py +20 -0
- adcp/types/generated_poc/daast_asset.py +76 -0
- adcp/types/generated_poc/delivery_metrics.py +111 -0
- adcp/types/generated_poc/delivery_type.py +12 -0
- adcp/types/generated_poc/deployment.py +78 -0
- adcp/types/generated_poc/destination.py +43 -0
- adcp/types/generated_poc/error.py +29 -0
- adcp/types/generated_poc/flat_rate_option.py +93 -0
- adcp/types/generated_poc/format.py +260 -0
- adcp/types/generated_poc/format_id.py +29 -0
- adcp/types/generated_poc/frequency_cap.py +19 -0
- adcp/types/generated_poc/frequency_cap_scope.py +16 -0
- adcp/types/generated_poc/get_media_buy_delivery_request.py +65 -0
- adcp/types/generated_poc/get_media_buy_delivery_response.py +220 -0
- adcp/types/generated_poc/get_products_request.py +83 -0
- adcp/types/generated_poc/get_products_response.py +29 -0
- adcp/types/generated_poc/get_signals_request.py +77 -0
- adcp/types/generated_poc/get_signals_response.py +65 -0
- adcp/types/generated_poc/html_asset.py +18 -0
- adcp/types/generated_poc/identifier_types.py +29 -0
- adcp/types/generated_poc/image_asset.py +23 -0
- adcp/types/generated_poc/index.py +17 -0
- adcp/types/generated_poc/javascript_asset.py +25 -0
- adcp/types/generated_poc/list_authorized_properties_request.py +39 -0
- adcp/types/generated_poc/list_authorized_properties_response.py +85 -0
- adcp/types/generated_poc/list_creative_formats_request.py +93 -0
- adcp/types/generated_poc/list_creative_formats_response.py +63 -0
- adcp/types/generated_poc/list_creatives_request.py +154 -0
- adcp/types/generated_poc/list_creatives_response.py +234 -0
- adcp/types/generated_poc/markdown_asset.py +43 -0
- adcp/types/generated_poc/measurement.py +40 -0
- adcp/types/generated_poc/media_buy.py +37 -0
- adcp/types/generated_poc/media_buy_status.py +14 -0
- adcp/types/generated_poc/pacing.py +13 -0
- adcp/types/generated_poc/package.py +61 -0
- adcp/types/generated_poc/package_request.py +61 -0
- adcp/types/generated_poc/package_status.py +14 -0
- adcp/types/generated_poc/performance_feedback.py +89 -0
- adcp/types/generated_poc/placement.py +37 -0
- adcp/types/generated_poc/preview_creative_request.py +163 -0
- adcp/types/generated_poc/preview_creative_response.py +175 -0
- adcp/types/generated_poc/preview_render.py +144 -0
- adcp/types/generated_poc/pricing_model.py +17 -0
- adcp/types/generated_poc/pricing_option.py +365 -0
- adcp/types/generated_poc/product.py +211 -0
- adcp/types/generated_poc/promoted_offerings.py +102 -0
- adcp/types/generated_poc/promoted_products.py +38 -0
- adcp/types/generated_poc/property.py +79 -0
- adcp/types/generated_poc/protocol_envelope.py +61 -0
- adcp/types/generated_poc/provide_performance_feedback_request.py +85 -0
- adcp/types/generated_poc/provide_performance_feedback_response.py +59 -0
- adcp/types/generated_poc/publisher_identifier_types.py +15 -0
- adcp/types/generated_poc/push_notification_config.py +55 -0
- adcp/types/generated_poc/reporting_capabilities.py +68 -0
- adcp/types/generated_poc/response.py +24 -0
- adcp/types/generated_poc/standard_format_ids.py +45 -0
- adcp/types/generated_poc/start_timing.py +13 -0
- adcp/types/generated_poc/sub_asset.py +55 -0
- adcp/types/generated_poc/sync_creatives_request.py +69 -0
- adcp/types/generated_poc/sync_creatives_response.py +117 -0
- adcp/types/generated_poc/targeting.py +53 -0
- adcp/types/generated_poc/task_status.py +19 -0
- adcp/types/generated_poc/task_type.py +15 -0
- adcp/types/generated_poc/tasks_get_request.py +29 -0
- adcp/types/generated_poc/tasks_get_response.py +112 -0
- adcp/types/generated_poc/tasks_list_request.py +121 -0
- adcp/types/generated_poc/tasks_list_response.py +122 -0
- adcp/types/generated_poc/text_asset.py +20 -0
- adcp/types/generated_poc/update_media_buy_request.py +160 -0
- adcp/types/generated_poc/update_media_buy_response.py +67 -0
- adcp/types/generated_poc/url_asset.py +33 -0
- adcp/types/generated_poc/vast_asset.py +86 -0
- adcp/types/generated_poc/vcpm_auction_option.py +57 -0
- adcp/types/generated_poc/vcpm_fixed_option.py +43 -0
- adcp/types/generated_poc/video_asset.py +28 -0
- adcp/types/generated_poc/webhook_asset.py +65 -0
- adcp/types/generated_poc/webhook_payload.py +102 -0
- adcp/utils/preview_cache.py +54 -41
- adcp/validation.py +172 -0
- {adcp-1.6.1.dist-info → adcp-2.1.0.dist-info}/METADATA +42 -3
- adcp-2.1.0.dist-info/RECORD +132 -0
- adcp/types/tasks.py +0 -511
- adcp-1.6.1.dist-info/RECORD +0 -28
- {adcp-1.6.1.dist-info → adcp-2.1.0.dist-info}/WHEEL +0 -0
- {adcp-1.6.1.dist-info → adcp-2.1.0.dist-info}/entry_points.txt +0 -0
- {adcp-1.6.1.dist-info → adcp-2.1.0.dist-info}/licenses/LICENSE +0 -0
- {adcp-1.6.1.dist-info → adcp-2.1.0.dist-info}/top_level.txt +0 -0
adcp/types/generated.py
CHANGED
|
@@ -1,1208 +1,614 @@
|
|
|
1
|
-
"""
|
|
2
|
-
|
|
1
|
+
"""Generated AdCP types.
|
|
2
|
+
|
|
3
|
+
Auto-generated by datamodel-code-generator from JSON schemas.
|
|
4
|
+
DO NOT EDIT MANUALLY.
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
To regenerate:
|
|
7
|
-
python scripts/sync_schemas.py
|
|
8
|
-
python scripts/fix_schema_refs.py
|
|
9
|
-
python scripts/generate_models_simple.py
|
|
6
|
+
Generated from: https://github.com/adcontextprotocol/adcp/tree/main/schemas
|
|
7
|
+
Generation date: 2025-11-15 21:15:14 UTC
|
|
10
8
|
"""
|
|
11
9
|
|
|
12
10
|
from __future__ import annotations
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
from
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
message: str = Field(description="Human-readable summary")
|
|
339
|
-
context_id: str | None = Field(None, description="Session continuity identifier")
|
|
340
|
-
data: Any | None = Field(None, description="AdCP task-specific response data (see individual task response schemas)")
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
class PromotedProducts(BaseModel):
|
|
344
|
-
"""Specification of products or offerings being promoted in a campaign. Supports multiple selection methods from the brand manifest that can be combined using UNION (OR) logic. When multiple selection methods are provided, products matching ANY of the criteria are selected (logical OR, not AND)."""
|
|
345
|
-
|
|
346
|
-
manifest_skus: list[str] | None = Field(None, description="Direct product SKU references from the brand manifest product catalog")
|
|
347
|
-
manifest_tags: list[str] | None = Field(None, description="Select products by tags from the brand manifest product catalog (e.g., 'organic', 'sauces', 'holiday')")
|
|
348
|
-
manifest_category: str | None = Field(None, description="Select products from a specific category in the brand manifest product catalog (e.g., 'beverages/soft-drinks', 'food/sauces')")
|
|
349
|
-
manifest_query: str | None = Field(None, description="Natural language query to select products from the brand manifest (e.g., 'all Kraft Heinz pasta sauces', 'organic products under $20')")
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
# A destination platform where signals can be activated (DSP, sales agent, etc.)
|
|
353
|
-
|
|
354
|
-
class PlatformDestination(BaseModel):
|
|
355
|
-
model_config = ConfigDict(extra="forbid")
|
|
356
|
-
|
|
357
|
-
type: Literal["platform"] = Field(description="Discriminator indicating this is a platform-based destination")
|
|
358
|
-
platform: str = Field(description="Platform identifier for DSPs (e.g., 'the-trade-desk', 'amazon-dsp')")
|
|
359
|
-
account: str | None = Field(None, description="Optional account identifier on the platform")
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
class AgentDestination(BaseModel):
|
|
363
|
-
model_config = ConfigDict(extra="forbid")
|
|
364
|
-
|
|
365
|
-
type: Literal["agent"] = Field(description="Discriminator indicating this is an agent URL-based destination")
|
|
366
|
-
agent_url: str = Field(description="URL identifying the destination agent (for sales agents, etc.)")
|
|
367
|
-
account: str | None = Field(None, description="Optional account identifier on the agent")
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
# Union type for Destination
|
|
371
|
-
Destination = PlatformDestination | AgentDestination
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
# A signal deployment to a specific destination platform with activation status and key
|
|
375
|
-
|
|
376
|
-
class PlatformDeployment(BaseModel):
|
|
377
|
-
model_config = ConfigDict(extra="forbid")
|
|
378
|
-
|
|
379
|
-
type: Literal["platform"] = Field(description="Discriminator indicating this is a platform-based deployment")
|
|
380
|
-
platform: str = Field(description="Platform identifier for DSPs")
|
|
381
|
-
account: str | None = Field(None, description="Account identifier if applicable")
|
|
382
|
-
is_live: bool = Field(description="Whether signal is currently active on this destination")
|
|
383
|
-
activation_key: ActivationKey | None = Field(None, description="The key to use for targeting. Only present if is_live=true AND requester has access to this destination.")
|
|
384
|
-
estimated_activation_duration_minutes: float | None = Field(None, description="Estimated time to activate if not live, or to complete activation if in progress")
|
|
385
|
-
deployed_at: str | None = Field(None, description="Timestamp when activation completed (if is_live=true)")
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
class AgentDeployment(BaseModel):
|
|
389
|
-
model_config = ConfigDict(extra="forbid")
|
|
390
|
-
|
|
391
|
-
type: Literal["agent"] = Field(description="Discriminator indicating this is an agent URL-based deployment")
|
|
392
|
-
agent_url: str = Field(description="URL identifying the destination agent")
|
|
393
|
-
account: str | None = Field(None, description="Account identifier if applicable")
|
|
394
|
-
is_live: bool = Field(description="Whether signal is currently active on this destination")
|
|
395
|
-
activation_key: ActivationKey | None = Field(None, description="The key to use for targeting. Only present if is_live=true AND requester has access to this destination.")
|
|
396
|
-
estimated_activation_duration_minutes: float | None = Field(None, description="Estimated time to activate if not live, or to complete activation if in progress")
|
|
397
|
-
deployed_at: str | None = Field(None, description="Timestamp when activation completed (if is_live=true)")
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
# Union type for Deployment
|
|
401
|
-
Deployment = PlatformDeployment | AgentDeployment
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
# 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.
|
|
405
|
-
|
|
406
|
-
class Segment_idActivationKey(BaseModel):
|
|
407
|
-
model_config = ConfigDict(extra="forbid")
|
|
408
|
-
|
|
409
|
-
type: Literal["segment_id"] = Field(description="Segment ID based targeting")
|
|
410
|
-
segment_id: str = Field(description="The platform-specific segment identifier to use in campaign targeting")
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
class Key_valueActivationKey(BaseModel):
|
|
414
|
-
model_config = ConfigDict(extra="forbid")
|
|
415
|
-
|
|
416
|
-
type: Literal["key_value"] = Field(description="Key-value pair based targeting")
|
|
417
|
-
key: str = Field(description="The targeting parameter key")
|
|
418
|
-
value: str = Field(description="The targeting parameter value")
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
# Union type for Activation Key
|
|
422
|
-
ActivationKey = Segment_idActivationKey | Key_valueActivationKey
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
class PushNotificationConfig(BaseModel):
|
|
426
|
-
"""Webhook configuration for asynchronous task notifications. Uses A2A-compatible PushNotificationConfig structure. Supports Bearer tokens (simple) or HMAC signatures (production-recommended)."""
|
|
427
|
-
|
|
428
|
-
url: str = Field(description="Webhook endpoint URL for task status notifications")
|
|
429
|
-
token: str | None = Field(None, description="Optional client-provided token for webhook validation. Echoed back in webhook payload to validate request authenticity.")
|
|
430
|
-
authentication: dict[str, Any] = Field(description="Authentication configuration for webhook delivery (A2A-compatible)")
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
class ReportingCapabilities(BaseModel):
|
|
434
|
-
"""Reporting capabilities available for a product"""
|
|
435
|
-
|
|
436
|
-
available_reporting_frequencies: list[Literal["hourly", "daily", "monthly"]] = Field(description="Supported reporting frequency options")
|
|
437
|
-
expected_delay_minutes: int = Field(description="Expected delay in minutes before reporting data becomes available (e.g., 240 for 4-hour delay)")
|
|
438
|
-
timezone: str = Field(description="Timezone for reporting periods. Use 'UTC' or IANA timezone (e.g., 'America/New_York'). Critical for daily/monthly frequency alignment.")
|
|
439
|
-
supports_webhooks: bool = Field(description="Whether this product supports webhook-based reporting notifications")
|
|
440
|
-
available_metrics: list[Literal["impressions", "spend", "clicks", "ctr", "video_completions", "completion_rate", "conversions", "viewability", "engagement_rate"]] = Field(description="Metrics available in reporting. Impressions and spend are always implicitly included.")
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
# Type alias for Advertising Channels
|
|
444
|
-
# Standard advertising channels supported by AdCP
|
|
445
|
-
Channels = Literal["display", "video", "audio", "native", "dooh", "ctv", "podcast", "retail", "social"]
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
# Type alias for Delivery Type
|
|
449
|
-
# Type of inventory delivery
|
|
450
|
-
DeliveryType = Literal["guaranteed", "non_guaranteed"]
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
# Type alias for Pacing
|
|
454
|
-
# Budget pacing strategy
|
|
455
|
-
Pacing = Literal["even", "asap", "front_loaded"]
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
# Type alias for Package Status
|
|
459
|
-
# Status of a package
|
|
460
|
-
PackageStatus = Literal["draft", "active", "paused", "completed"]
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
# Type alias for Media Buy Status
|
|
464
|
-
# Status of a media buy
|
|
465
|
-
MediaBuyStatus = Literal["pending_activation", "active", "paused", "completed"]
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
# Type alias for Task Type
|
|
469
|
-
# Valid AdCP task types across all domains. These represent the complete set of operations that can be tracked via the task management system.
|
|
470
|
-
TaskType = Literal["create_media_buy", "update_media_buy", "sync_creatives", "activate_signal", "get_signals"]
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
# Type alias for Task Status
|
|
474
|
-
# Standardized task status values based on A2A TaskState enum. Indicates the current state of any AdCP operation.
|
|
475
|
-
TaskStatus = Literal["submitted", "working", "input-required", "completed", "canceled", "failed", "rejected", "auth-required", "unknown"]
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
# Type alias for Pricing Model
|
|
479
|
-
# Supported pricing models for advertising products
|
|
480
|
-
PricingModel = Literal["cpm", "vcpm", "cpc", "cpcv", "cpv", "cpp", "flat_rate"]
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
# A pricing model option offered by a publisher for a product. Each pricing model has its own schema with model-specific requirements.
|
|
484
|
-
|
|
485
|
-
class PricingOptionVariant1(BaseModel):
|
|
486
|
-
pass
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
class PricingOptionVariant2(BaseModel):
|
|
490
|
-
pass
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
class PricingOptionVariant3(BaseModel):
|
|
494
|
-
pass
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
class PricingOptionVariant4(BaseModel):
|
|
498
|
-
pass
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
class PricingOptionVariant5(BaseModel):
|
|
502
|
-
pass
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
class PricingOptionVariant6(BaseModel):
|
|
506
|
-
pass
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
class PricingOptionVariant7(BaseModel):
|
|
510
|
-
pass
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
class PricingOptionVariant8(BaseModel):
|
|
514
|
-
pass
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
class PricingOptionVariant9(BaseModel):
|
|
518
|
-
pass
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
# Union type for Pricing Option
|
|
522
|
-
PricingOption = PricingOptionVariant1 | PricingOptionVariant2 | PricingOptionVariant3 | PricingOptionVariant4 | PricingOptionVariant5 | PricingOptionVariant6 | PricingOptionVariant7 | PricingOptionVariant8 | PricingOptionVariant9
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
# Type alias for Standard Format IDs
|
|
526
|
-
# Enumeration of all standard creative format identifiers in AdCP
|
|
527
|
-
StandardFormatIds = Literal["display_300x250", "display_728x90", "display_320x50", "display_160x600", "display_970x250", "display_336x280", "display_expandable_300x250", "display_expandable_728x90", "display_interstitial_320x480", "display_interstitial_desktop", "display_dynamic_300x250", "display_responsive", "native_in_feed", "native_content_recommendation", "native_product", "video_skippable_15s", "video_skippable_30s", "video_non_skippable_15s", "video_non_skippable_30s", "video_outstream_autoplay", "video_vertical_story", "video_rewarded_30s", "video_pause_ad", "video_ctv_non_skippable_30s", "audio_standard_15s", "audio_standard_30s", "audio_podcast_host_read", "audio_programmatic", "universal_carousel", "universal_canvas", "universal_takeover", "universal_gallery", "universal_reveal", "dooh_landscape_static", "dooh_portrait_video"]
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
# VAST (Video Ad Serving Template) tag for third-party video ad serving
|
|
531
|
-
|
|
532
|
-
class UrlVastAsset(BaseModel):
|
|
533
|
-
model_config = ConfigDict(extra="forbid")
|
|
534
|
-
|
|
535
|
-
delivery_type: Literal["url"] = Field(description="Discriminator indicating VAST is delivered via URL endpoint")
|
|
536
|
-
url: str = Field(description="URL endpoint that returns VAST XML")
|
|
537
|
-
vast_version: Literal["2.0", "3.0", "4.0", "4.1", "4.2"] | None = Field(None, description="VAST specification version")
|
|
538
|
-
vpaid_enabled: bool | None = Field(None, description="Whether VPAID (Video Player-Ad Interface Definition) is supported")
|
|
539
|
-
duration_ms: int | None = Field(None, description="Expected video duration in milliseconds (if known)")
|
|
540
|
-
tracking_events: list[Literal["start", "firstQuartile", "midpoint", "thirdQuartile", "complete", "impression", "click", "pause", "resume", "skip", "mute", "unmute", "fullscreen", "exitFullscreen", "playerExpand", "playerCollapse"]] | None = Field(None, description="Tracking events supported by this VAST tag")
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
class InlineVastAsset(BaseModel):
|
|
544
|
-
model_config = ConfigDict(extra="forbid")
|
|
545
|
-
|
|
546
|
-
delivery_type: Literal["inline"] = Field(description="Discriminator indicating VAST is delivered as inline XML content")
|
|
547
|
-
content: str = Field(description="Inline VAST XML content")
|
|
548
|
-
vast_version: Literal["2.0", "3.0", "4.0", "4.1", "4.2"] | None = Field(None, description="VAST specification version")
|
|
549
|
-
vpaid_enabled: bool | None = Field(None, description="Whether VPAID (Video Player-Ad Interface Definition) is supported")
|
|
550
|
-
duration_ms: int | None = Field(None, description="Expected video duration in milliseconds (if known)")
|
|
551
|
-
tracking_events: list[Literal["start", "firstQuartile", "midpoint", "thirdQuartile", "complete", "impression", "click", "pause", "resume", "skip", "mute", "unmute", "fullscreen", "exitFullscreen", "playerExpand", "playerCollapse"]] | None = Field(None, description="Tracking events supported by this VAST tag")
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
# Union type for VAST Asset
|
|
555
|
-
VastAsset = UrlVastAsset | InlineVastAsset
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
# DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
|
|
559
|
-
|
|
560
|
-
class UrlDaastAsset(BaseModel):
|
|
561
|
-
model_config = ConfigDict(extra="forbid")
|
|
562
|
-
|
|
563
|
-
delivery_type: Literal["url"] = Field(description="Discriminator indicating DAAST is delivered via URL endpoint")
|
|
564
|
-
url: str = Field(description="URL endpoint that returns DAAST XML")
|
|
565
|
-
daast_version: Literal["1.0", "1.1"] | None = Field(None, description="DAAST specification version")
|
|
566
|
-
duration_ms: int | None = Field(None, description="Expected audio duration in milliseconds (if known)")
|
|
567
|
-
tracking_events: list[Literal["start", "firstQuartile", "midpoint", "thirdQuartile", "complete", "impression", "pause", "resume", "skip", "mute", "unmute"]] | None = Field(None, description="Tracking events supported by this DAAST tag")
|
|
568
|
-
companion_ads: bool | None = Field(None, description="Whether companion display ads are included")
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
class InlineDaastAsset(BaseModel):
|
|
572
|
-
model_config = ConfigDict(extra="forbid")
|
|
573
|
-
|
|
574
|
-
delivery_type: Literal["inline"] = Field(description="Discriminator indicating DAAST is delivered as inline XML content")
|
|
575
|
-
content: str = Field(description="Inline DAAST XML content")
|
|
576
|
-
daast_version: Literal["1.0", "1.1"] | None = Field(None, description="DAAST specification version")
|
|
577
|
-
duration_ms: int | None = Field(None, description="Expected audio duration in milliseconds (if known)")
|
|
578
|
-
tracking_events: list[Literal["start", "firstQuartile", "midpoint", "thirdQuartile", "complete", "impression", "pause", "resume", "skip", "mute", "unmute"]] | None = Field(None, description="Tracking events supported by this DAAST tag")
|
|
579
|
-
companion_ads: bool | None = Field(None, description="Whether companion display ads are included")
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
# Union type for DAAST Asset
|
|
583
|
-
DaastAsset = UrlDaastAsset | InlineDaastAsset
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
# A single rendered piece of a creative preview with discriminated output format
|
|
587
|
-
|
|
588
|
-
class UrlPreviewRender(BaseModel):
|
|
589
|
-
"""URL-only preview format"""
|
|
590
|
-
|
|
591
|
-
model_config = ConfigDict(extra="forbid")
|
|
592
|
-
|
|
593
|
-
render_id: str = Field(description="Unique identifier for this rendered piece within the variant")
|
|
594
|
-
output_format: Literal["url"] = Field(description="Discriminator indicating preview_url is provided")
|
|
595
|
-
preview_url: str = Field(description="URL to an HTML page that renders this piece. Can be embedded in an iframe.")
|
|
596
|
-
role: str = Field(description="Semantic role of this rendered piece. Use 'primary' for main content, 'companion' for associated banners, descriptive strings for device variants or custom roles.")
|
|
597
|
-
dimensions: dict[str, Any] | None = Field(None, description="Dimensions for this rendered piece")
|
|
598
|
-
embedding: dict[str, Any] | None = Field(None, description="Optional security and embedding metadata for safe iframe integration")
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
class HtmlPreviewRender(BaseModel):
|
|
602
|
-
"""HTML-only preview format"""
|
|
603
|
-
|
|
604
|
-
model_config = ConfigDict(extra="forbid")
|
|
605
|
-
|
|
606
|
-
render_id: str = Field(description="Unique identifier for this rendered piece within the variant")
|
|
607
|
-
output_format: Literal["html"] = Field(description="Discriminator indicating preview_html is provided")
|
|
608
|
-
preview_html: str = Field(description="Raw HTML for this rendered piece. Can be embedded directly in the page without iframe. Security warning: Only use with trusted creative agents as this bypasses iframe sandboxing.")
|
|
609
|
-
role: str = Field(description="Semantic role of this rendered piece. Use 'primary' for main content, 'companion' for associated banners, descriptive strings for device variants or custom roles.")
|
|
610
|
-
dimensions: dict[str, Any] | None = Field(None, description="Dimensions for this rendered piece")
|
|
611
|
-
embedding: dict[str, Any] | None = Field(None, description="Optional security and embedding metadata")
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
class BothPreviewRender(BaseModel):
|
|
615
|
-
"""Both URL and HTML preview format"""
|
|
616
|
-
|
|
617
|
-
model_config = ConfigDict(extra="forbid")
|
|
618
|
-
|
|
619
|
-
render_id: str = Field(description="Unique identifier for this rendered piece within the variant")
|
|
620
|
-
output_format: Literal["both"] = Field(description="Discriminator indicating both preview_url and preview_html are provided")
|
|
621
|
-
preview_url: str = Field(description="URL to an HTML page that renders this piece. Can be embedded in an iframe.")
|
|
622
|
-
preview_html: str = Field(description="Raw HTML for this rendered piece. Can be embedded directly in the page without iframe. Security warning: Only use with trusted creative agents as this bypasses iframe sandboxing.")
|
|
623
|
-
role: str = Field(description="Semantic role of this rendered piece. Use 'primary' for main content, 'companion' for associated banners, descriptive strings for device variants or custom roles.")
|
|
624
|
-
dimensions: dict[str, Any] | None = Field(None, description="Dimensions for this rendered piece")
|
|
625
|
-
embedding: dict[str, Any] | None = Field(None, description="Optional security and embedding metadata for safe iframe integration")
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
# Union type for Preview Render
|
|
629
|
-
PreviewRender = UrlPreviewRender | HtmlPreviewRender | BothPreviewRender
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
# ============================================================================
|
|
634
|
-
# TASK REQUEST/RESPONSE TYPES
|
|
635
|
-
# ============================================================================
|
|
636
|
-
|
|
637
|
-
class ActivateSignalRequest(BaseModel):
|
|
638
|
-
"""Request parameters for activating a signal on a specific destination"""
|
|
639
|
-
|
|
640
|
-
signal_agent_segment_id: str = Field(description="The universal identifier for the signal to activate")
|
|
641
|
-
destinations: list[Destination] = Field(description="Target destination(s) for activation. If the authenticated caller matches one of these destinations, activation keys will be included in the response.")
|
|
642
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
class BuildCreativeRequest(BaseModel):
|
|
646
|
-
"""Request to transform or generate a creative manifest. Takes a source manifest (which may be minimal for pure generation) and produces a target manifest in the specified format. The source manifest should include all assets required by the target format (e.g., promoted_offerings for generative formats)."""
|
|
647
|
-
|
|
648
|
-
message: str | None = Field(None, description="Natural language instructions for the transformation or generation. For pure generation, this is the creative brief. For transformation, this provides guidance on how to adapt the creative.")
|
|
649
|
-
creative_manifest: CreativeManifest | None = Field(None, description="Creative manifest to transform or generate from. For pure generation, this should include the target format_id and any required input assets (e.g., promoted_offerings for generative formats). For transformation (e.g., resizing, reformatting), this is the complete creative to adapt.")
|
|
650
|
-
target_format_id: FormatId = Field(description="Format ID to generate. The format definition specifies required input assets and output structure.")
|
|
651
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
class CreateMediaBuyRequest(BaseModel):
|
|
655
|
-
"""Request parameters for creating a media buy"""
|
|
656
|
-
|
|
657
|
-
buyer_ref: str = Field(description="Buyer's reference identifier for this media buy")
|
|
658
|
-
packages: list[PackageRequest] = Field(description="Array of package configurations")
|
|
659
|
-
brand_manifest: BrandManifestRef = Field(description="Brand information manifest serving as the namespace and identity for this media buy. Provides brand context, assets, and product catalog. Can be provided inline or as a URL reference to a hosted manifest. Can be cached and reused across multiple requests.")
|
|
660
|
-
po_number: str | None = Field(None, description="Purchase order number for tracking")
|
|
661
|
-
start_time: StartTiming
|
|
662
|
-
end_time: str = Field(description="Campaign end date/time in ISO 8601 format")
|
|
663
|
-
reporting_webhook: Any | None = None
|
|
664
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
class GetMediaBuyDeliveryRequest(BaseModel):
|
|
668
|
-
"""Request parameters for retrieving comprehensive delivery metrics"""
|
|
669
|
-
|
|
670
|
-
media_buy_ids: list[str] | None = Field(None, description="Array of publisher media buy IDs to get delivery data for")
|
|
671
|
-
buyer_refs: list[str] | None = Field(None, description="Array of buyer reference IDs to get delivery data for")
|
|
672
|
-
status_filter: Any | None = Field(None, description="Filter by status. Can be a single status or array of statuses")
|
|
673
|
-
start_date: str | None = Field(None, description="Start date for reporting period (YYYY-MM-DD)")
|
|
674
|
-
end_date: str | None = Field(None, description="End date for reporting period (YYYY-MM-DD)")
|
|
675
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
class GetProductsRequest(BaseModel):
|
|
679
|
-
"""Request parameters for discovering available advertising products"""
|
|
680
|
-
|
|
681
|
-
brief: str | None = Field(None, description="Natural language description of campaign requirements")
|
|
682
|
-
brand_manifest: BrandManifestRef | None = Field(None, description="Brand information manifest providing brand context, assets, and product catalog. Can be provided inline or as a URL reference to a hosted manifest.")
|
|
683
|
-
filters: dict[str, Any] | None = Field(None, description="Structured filters for product discovery")
|
|
684
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
class GetSignalsRequest(BaseModel):
|
|
688
|
-
"""Request parameters for discovering signals based on description"""
|
|
689
|
-
|
|
690
|
-
signal_spec: str = Field(description="Natural language description of the desired signals")
|
|
691
|
-
deliver_to: dict[str, Any] = Field(description="Destination platforms where signals need to be activated")
|
|
692
|
-
filters: dict[str, Any] | None = Field(None, description="Filters to refine results")
|
|
693
|
-
max_results: int | None = Field(None, description="Maximum number of results to return")
|
|
694
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
class ListAuthorizedPropertiesRequest(BaseModel):
|
|
698
|
-
"""Request parameters for discovering which publishers this agent is authorized to represent"""
|
|
699
|
-
|
|
700
|
-
publisher_domains: list[str] | None = Field(None, description="Filter to specific publisher domains (optional). If omitted, returns all publishers this agent represents.")
|
|
701
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
class ListCreativeFormatsRequest(BaseModel):
|
|
705
|
-
"""Request parameters for discovering creative formats provided by this creative agent"""
|
|
706
|
-
|
|
707
|
-
format_ids: list[FormatId] | None = Field(None, description="Return only these specific format IDs")
|
|
708
|
-
type: Literal["audio", "video", "display", "dooh"] | None = Field(None, description="Filter by format type (technical categories with distinct requirements)")
|
|
709
|
-
asset_types: list[Literal["image", "video", "audio", "text", "html", "javascript", "url"]] | None = Field(None, description="Filter to formats that include these asset types. For third-party tags, search for 'html' or 'javascript'. E.g., ['image', 'text'] returns formats with images and text, ['javascript'] returns formats accepting JavaScript tags.")
|
|
710
|
-
max_width: int | None = Field(None, description="Maximum width in pixels (inclusive). Returns formats with width <= this value. Omit for responsive/fluid formats.")
|
|
711
|
-
max_height: int | None = Field(None, description="Maximum height in pixels (inclusive). Returns formats with height <= this value. Omit for responsive/fluid formats.")
|
|
712
|
-
min_width: int | None = Field(None, description="Minimum width in pixels (inclusive). Returns formats with width >= this value.")
|
|
713
|
-
min_height: int | None = Field(None, description="Minimum height in pixels (inclusive). Returns formats with height >= this value.")
|
|
714
|
-
is_responsive: bool | None = Field(None, description="Filter for responsive formats that adapt to container size. When true, returns formats without fixed dimensions.")
|
|
715
|
-
name_search: str | None = Field(None, description="Search for formats by name (case-insensitive partial match)")
|
|
716
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
class ListCreativesRequest(BaseModel):
|
|
720
|
-
"""Request parameters for querying creative assets from the centralized library with filtering, sorting, and pagination"""
|
|
721
|
-
|
|
722
|
-
filters: dict[str, Any] | None = Field(None, description="Filter criteria for querying creatives")
|
|
723
|
-
sort: dict[str, Any] | None = Field(None, description="Sorting parameters")
|
|
724
|
-
pagination: dict[str, Any] | None = Field(None, description="Pagination parameters")
|
|
725
|
-
include_assignments: bool | None = Field(None, description="Include package assignment information in response")
|
|
726
|
-
include_performance: bool | None = Field(None, description="Include aggregated performance metrics in response")
|
|
727
|
-
include_sub_assets: bool | None = Field(None, description="Include sub-assets (for carousel/native formats) in response")
|
|
728
|
-
fields: list[Literal["creative_id", "name", "format", "status", "created_date", "updated_date", "tags", "assignments", "performance", "sub_assets"]] | None = Field(None, description="Specific fields to include in response (omit for all fields)")
|
|
729
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
class PackageRequest(BaseModel):
|
|
733
|
-
"""Package configuration for media buy creation"""
|
|
734
|
-
|
|
735
|
-
buyer_ref: str = Field(description="Buyer's reference identifier for this package")
|
|
736
|
-
product_id: str = Field(description="Product ID for this package")
|
|
737
|
-
format_ids: list[FormatId] | None = Field(None, description="Array of format IDs that will be used for this package - must be supported by the product. If omitted, defaults to all formats supported by the product.")
|
|
738
|
-
budget: float = Field(description="Budget allocation for this package in the media buy's currency")
|
|
739
|
-
pacing: Pacing | None = None
|
|
740
|
-
pricing_option_id: str = Field(description="ID of the selected pricing option from the product's pricing_options array")
|
|
741
|
-
bid_price: float | None = Field(None, description="Bid price for auction-based CPM pricing (required if using cpm-auction-option)")
|
|
742
|
-
targeting_overlay: Targeting | None = None
|
|
743
|
-
creative_ids: list[str] | None = Field(None, description="Creative IDs to assign to this package at creation time (references existing library creatives)")
|
|
744
|
-
creatives: list[CreativeAsset] | None = Field(None, description="Full creative objects to upload and assign to this package at creation time (alternative to creative_ids - creatives will be added to library). Supports both static and generative creatives.")
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
class ProvidePerformanceFeedbackRequest(BaseModel):
|
|
748
|
-
"""Request payload for provide_performance_feedback task"""
|
|
749
|
-
|
|
750
|
-
media_buy_id: str = Field(description="Publisher's media buy identifier")
|
|
751
|
-
measurement_period: dict[str, Any] = Field(description="Time period for performance measurement")
|
|
752
|
-
performance_index: float = Field(description="Normalized performance score (0.0 = no value, 1.0 = expected, >1.0 = above expected)")
|
|
753
|
-
package_id: str | None = Field(None, description="Specific package within the media buy (if feedback is package-specific)")
|
|
754
|
-
creative_id: str | None = Field(None, description="Specific creative asset (if feedback is creative-specific)")
|
|
755
|
-
metric_type: Literal["overall_performance", "conversion_rate", "brand_lift", "click_through_rate", "completion_rate", "viewability", "brand_safety", "cost_efficiency"] | None = Field(None, description="The business metric being measured")
|
|
756
|
-
feedback_source: Literal["buyer_attribution", "third_party_measurement", "platform_analytics", "verification_partner"] | None = Field(None, description="Source of the performance data")
|
|
757
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
class SyncCreativesRequest(BaseModel):
|
|
761
|
-
"""Request parameters for syncing creative assets with upsert semantics - supports bulk operations, patch updates, and assignment management"""
|
|
762
|
-
|
|
763
|
-
creatives: list[CreativeAsset] = Field(description="Array of creative assets to sync (create or update)")
|
|
764
|
-
patch: bool | None = Field(None, description="When true, only provided fields are updated (partial update). When false, entire creative is replaced (full upsert).")
|
|
765
|
-
assignments: dict[str, Any] | None = Field(None, description="Optional bulk assignment of creatives to packages")
|
|
766
|
-
delete_missing: bool | None = Field(None, description="When true, creatives not included in this sync will be archived. Use with caution for full library replacement.")
|
|
767
|
-
dry_run: bool | None = Field(None, description="When true, preview changes without applying them. Returns what would be created/updated/deleted.")
|
|
768
|
-
validation_mode: Literal["strict", "lenient"] | None = Field(None, description="Validation strictness. 'strict' fails entire sync on any validation error. 'lenient' processes valid creatives and reports errors.")
|
|
769
|
-
push_notification_config: PushNotificationConfig | None = Field(None, description="Optional webhook configuration for async sync notifications. Publisher will send webhook when sync completes if operation takes longer than immediate response time (typically for large bulk operations or manual approval/HITL).")
|
|
770
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
class TasksGetRequest(BaseModel):
|
|
774
|
-
"""Request parameters for retrieving a specific task by ID with optional conversation history across all AdCP domains"""
|
|
775
|
-
|
|
776
|
-
task_id: str = Field(description="Unique identifier of the task to retrieve")
|
|
777
|
-
include_history: bool | None = Field(None, description="Include full conversation history for this task (may increase response size)")
|
|
778
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
class TasksListRequest(BaseModel):
|
|
782
|
-
"""Request parameters for listing and filtering async tasks across all AdCP domains with state reconciliation capabilities"""
|
|
783
|
-
|
|
784
|
-
filters: dict[str, Any] | None = Field(None, description="Filter criteria for querying tasks")
|
|
785
|
-
sort: dict[str, Any] | None = Field(None, description="Sorting parameters")
|
|
786
|
-
pagination: dict[str, Any] | None = Field(None, description="Pagination parameters")
|
|
787
|
-
include_history: bool | None = Field(None, description="Include full conversation history for each task (may significantly increase response size)")
|
|
788
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
class UpdateMediaBuyRequest(BaseModel):
|
|
792
|
-
"""Request parameters for updating campaign and package settings"""
|
|
793
|
-
|
|
794
|
-
media_buy_id: str | None = Field(None, description="Publisher's ID of the media buy to update")
|
|
795
|
-
buyer_ref: str | None = Field(None, description="Buyer's reference for the media buy to update")
|
|
796
|
-
active: bool | None = Field(None, description="Pause/resume the entire media buy")
|
|
797
|
-
start_time: StartTiming | None = None
|
|
798
|
-
end_time: str | None = Field(None, description="New end date/time in ISO 8601 format")
|
|
799
|
-
packages: list[dict[str, Any]] | None = Field(None, description="Package-specific updates")
|
|
800
|
-
push_notification_config: PushNotificationConfig | None = Field(None, description="Optional webhook configuration for async update notifications. Publisher will send webhook when update completes if operation takes longer than immediate response time.")
|
|
801
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
# Response containing the transformed or generated creative manifest, ready for use with preview_creative or sync_creatives. Returns either the complete creative manifest OR error information, never both.
|
|
805
|
-
|
|
806
|
-
class BuildCreativeResponseVariant1(BaseModel):
|
|
807
|
-
"""Success response - creative manifest generated successfully"""
|
|
808
|
-
|
|
809
|
-
model_config = ConfigDict(extra="forbid")
|
|
810
|
-
|
|
811
|
-
creative_manifest: CreativeManifest = Field(description="The generated or transformed creative manifest")
|
|
812
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
class BuildCreativeResponseVariant2(BaseModel):
|
|
816
|
-
"""Error response - creative generation failed"""
|
|
817
|
-
|
|
818
|
-
model_config = ConfigDict(extra="forbid")
|
|
819
|
-
|
|
820
|
-
errors: list[Error] = Field(description="Array of errors explaining why creative generation failed")
|
|
821
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
# Union type for Build Creative Response
|
|
825
|
-
BuildCreativeResponse = BuildCreativeResponseVariant1 | BuildCreativeResponseVariant2
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
class GetMediaBuyDeliveryResponse(BaseModel):
|
|
829
|
-
"""Response payload for get_media_buy_delivery task"""
|
|
830
|
-
|
|
831
|
-
notification_type: Literal["scheduled", "final", "delayed", "adjusted"] | None = Field(None, description="Type of webhook notification (only present in webhook deliveries): scheduled = regular periodic update, final = campaign completed, delayed = data not yet available, adjusted = resending period with updated data")
|
|
832
|
-
partial_data: bool | None = Field(None, description="Indicates if any media buys in this webhook have missing/delayed data (only present in webhook deliveries)")
|
|
833
|
-
unavailable_count: int | None = Field(None, description="Number of media buys with reporting_delayed or failed status (only present in webhook deliveries when partial_data is true)")
|
|
834
|
-
sequence_number: int | None = Field(None, description="Sequential notification number (only present in webhook deliveries, starts at 1)")
|
|
835
|
-
next_expected_at: str | None = Field(None, description="ISO 8601 timestamp for next expected notification (only present in webhook deliveries when notification_type is not 'final')")
|
|
836
|
-
reporting_period: dict[str, Any] = Field(description="Date range for the report. All periods use UTC timezone.")
|
|
837
|
-
currency: str = Field(description="ISO 4217 currency code")
|
|
838
|
-
aggregated_totals: dict[str, Any] | None = Field(None, description="Combined metrics across all returned media buys. Only included in API responses (get_media_buy_delivery), not in webhook notifications.")
|
|
839
|
-
media_buy_deliveries: list[dict[str, Any]] = Field(description="Array of delivery data for media buys. When used in webhook notifications, may contain multiple media buys aggregated by publisher. When used in get_media_buy_delivery API responses, typically contains requested media buys.")
|
|
840
|
-
errors: list[Error] | None = Field(None, description="Task-specific errors and warnings (e.g., missing delivery data, reporting platform issues)")
|
|
841
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
class GetProductsResponse(BaseModel):
|
|
845
|
-
"""Response payload for get_products task"""
|
|
846
|
-
|
|
847
|
-
products: list[Product] = Field(description="Array of matching products")
|
|
848
|
-
errors: list[Error] | None = Field(None, description="Task-specific errors and warnings (e.g., product filtering issues)")
|
|
849
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
class GetSignalsResponse(BaseModel):
|
|
853
|
-
"""Response payload for get_signals task"""
|
|
854
|
-
|
|
855
|
-
signals: list[dict[str, Any]] = Field(description="Array of matching signals")
|
|
856
|
-
errors: list[Error] | None = Field(None, description="Task-specific errors and warnings (e.g., signal discovery or pricing issues)")
|
|
857
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
class ListAuthorizedPropertiesResponse(BaseModel):
|
|
861
|
-
"""Response payload for list_authorized_properties task. Lists publisher domains and authorization scope (property_ids or property_tags). Buyers fetch actual property definitions from each publisher's canonical adagents.json file."""
|
|
862
|
-
|
|
863
|
-
publisher_domains: list[str] = Field(description="Publisher domains this agent is authorized to represent. Buyers should fetch each publisher's adagents.json to see property definitions and verify this agent is in their authorized_agents list with authorization scope.")
|
|
864
|
-
primary_channels: list[Channels] | None = Field(None, description="Primary advertising channels represented in this property portfolio. Helps buying agents quickly filter relevance.")
|
|
865
|
-
primary_countries: list[str] | None = Field(None, description="Primary countries (ISO 3166-1 alpha-2 codes) where properties are concentrated. Helps buying agents quickly filter relevance.")
|
|
866
|
-
portfolio_description: str | None = Field(None, description="Markdown-formatted description of the property portfolio, including inventory types, audience characteristics, and special features.")
|
|
867
|
-
advertising_policies: str | None = Field(None, description="Publisher's advertising content policies, restrictions, and guidelines in natural language. May include prohibited categories, blocked advertisers, restricted tactics, brand safety requirements, or links to full policy documentation.")
|
|
868
|
-
last_updated: str | None = Field(None, description="ISO 8601 timestamp of when the agent's publisher authorization list was last updated. Buyers can use this to determine if their cached publisher adagents.json files might be stale.")
|
|
869
|
-
errors: list[Error] | None = Field(None, description="Task-specific errors and warnings (e.g., property availability issues)")
|
|
870
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
class ListCreativeFormatsResponse(BaseModel):
|
|
874
|
-
"""Response payload for list_creative_formats task from creative agent - returns full format definitions"""
|
|
875
|
-
|
|
876
|
-
formats: list[Format] = Field(description="Full format definitions for all formats this agent supports. Each format's authoritative source is indicated by its agent_url field.")
|
|
877
|
-
creative_agents: list[dict[str, Any]] | None = Field(None, description="Optional: Creative agents that provide additional formats. Buyers can recursively query these agents to discover more formats. No authentication required for list_creative_formats.")
|
|
878
|
-
errors: list[Error] | None = Field(None, description="Task-specific errors and warnings")
|
|
879
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
class ListCreativesResponse(BaseModel):
|
|
883
|
-
"""Response from creative library query with filtered results, metadata, and optional enriched data"""
|
|
884
|
-
|
|
885
|
-
query_summary: dict[str, Any] = Field(description="Summary of the query that was executed")
|
|
886
|
-
pagination: dict[str, Any] = Field(description="Pagination information for navigating results")
|
|
887
|
-
creatives: list[dict[str, Any]] = Field(description="Array of creative assets matching the query")
|
|
888
|
-
format_summary: dict[str, Any] | None = Field(None, description="Breakdown of creatives by format type")
|
|
889
|
-
status_summary: dict[str, Any] | None = Field(None, description="Breakdown of creatives by status")
|
|
890
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
# Response payload for provide_performance_feedback task. Returns either success confirmation OR error information, never both.
|
|
894
|
-
|
|
895
|
-
class ProvidePerformanceFeedbackResponseVariant1(BaseModel):
|
|
896
|
-
"""Success response - feedback received and processed"""
|
|
897
|
-
|
|
898
|
-
model_config = ConfigDict(extra="forbid")
|
|
899
|
-
|
|
900
|
-
success: Literal[True] = Field(description="Whether the performance feedback was successfully received")
|
|
901
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
class ProvidePerformanceFeedbackResponseVariant2(BaseModel):
|
|
905
|
-
"""Error response - feedback rejected or could not be processed"""
|
|
906
|
-
|
|
907
|
-
model_config = ConfigDict(extra="forbid")
|
|
908
|
-
|
|
909
|
-
errors: list[Error] = Field(description="Array of errors explaining why feedback was rejected (e.g., invalid measurement period, missing campaign data)")
|
|
910
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
# Union type for Provide Performance Feedback Response
|
|
914
|
-
ProvidePerformanceFeedbackResponse = ProvidePerformanceFeedbackResponseVariant1 | ProvidePerformanceFeedbackResponseVariant2
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
class TasksGetResponse(BaseModel):
|
|
918
|
-
"""Response containing detailed information about a specific task including status and optional conversation history across all AdCP domains"""
|
|
919
|
-
|
|
920
|
-
task_id: str = Field(description="Unique identifier for this task")
|
|
921
|
-
task_type: TaskType = Field(description="Type of AdCP operation")
|
|
922
|
-
domain: Literal["media-buy", "signals"] = Field(description="AdCP domain this task belongs to")
|
|
923
|
-
status: TaskStatus = Field(description="Current task status")
|
|
924
|
-
created_at: str = Field(description="When the task was initially created (ISO 8601)")
|
|
925
|
-
updated_at: str = Field(description="When the task was last updated (ISO 8601)")
|
|
926
|
-
completed_at: str | None = Field(None, description="When the task completed (ISO 8601, only for completed/failed/canceled tasks)")
|
|
927
|
-
has_webhook: bool | None = Field(None, description="Whether this task has webhook configuration")
|
|
928
|
-
progress: dict[str, Any] | None = Field(None, description="Progress information for long-running tasks")
|
|
929
|
-
error: dict[str, Any] | None = Field(None, description="Error details for failed tasks")
|
|
930
|
-
history: list[dict[str, Any]] | None = Field(None, description="Complete conversation history for this task (only included if include_history was true in request)")
|
|
931
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
class TasksListResponse(BaseModel):
|
|
935
|
-
"""Response from task listing query with filtered results and state reconciliation data across all AdCP domains"""
|
|
936
|
-
|
|
937
|
-
query_summary: dict[str, Any] = Field(description="Summary of the query that was executed")
|
|
938
|
-
tasks: list[dict[str, Any]] = Field(description="Array of tasks matching the query criteria")
|
|
939
|
-
pagination: dict[str, Any] = Field(description="Pagination information")
|
|
940
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
# ============================================================================
|
|
945
|
-
# CUSTOM IMPLEMENTATIONS (override type aliases from generator)
|
|
946
|
-
# ============================================================================
|
|
947
|
-
# The simple code generator produces type aliases (e.g., PreviewCreativeRequest = Any)
|
|
948
|
-
# for complex schemas that use oneOf. We override them here with proper Pydantic classes
|
|
949
|
-
# to maintain type safety and enable batch API support.
|
|
950
|
-
# Note: All classes inherit from BaseModel (which is aliased to AdCPBaseModel for exclude_none).
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
class FormatId(BaseModel):
|
|
954
|
-
"""Structured format identifier with agent URL and format name"""
|
|
955
|
-
|
|
956
|
-
agent_url: str = Field(description="URL of the agent that defines this format (e.g., 'https://creatives.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats)")
|
|
957
|
-
id: str = Field(description="Format identifier within the agent's namespace (e.g., 'display_300x250', 'video_standard_30s')")
|
|
958
|
-
|
|
959
|
-
@field_validator("id")
|
|
960
|
-
@classmethod
|
|
961
|
-
def validate_id_pattern(cls, v: str) -> str:
|
|
962
|
-
"""Validate format ID contains only alphanumeric characters, hyphens, and underscores."""
|
|
963
|
-
if not re.match(r"^[a-zA-Z0-9_-]+$", v):
|
|
964
|
-
raise ValueError(
|
|
965
|
-
f"Invalid format ID: {v!r}. Must contain only alphanumeric characters, hyphens, and underscores"
|
|
966
|
-
)
|
|
967
|
-
return v
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
class PreviewCreativeRequest(BaseModel):
|
|
971
|
-
"""Request to generate a preview of a creative manifest. Supports single or batch mode."""
|
|
972
|
-
|
|
973
|
-
# Single mode fields
|
|
974
|
-
format_id: FormatId | None = Field(default=None, description="Format identifier for rendering the preview (single mode)")
|
|
975
|
-
creative_manifest: CreativeManifest | None = Field(default=None, description="Complete creative manifest with all required assets (single mode)")
|
|
976
|
-
inputs: list[dict[str, Any]] | None = Field(default=None, description="Array of input sets for generating multiple preview variants")
|
|
977
|
-
template_id: str | None = Field(default=None, description="Specific template ID for custom format rendering")
|
|
978
|
-
|
|
979
|
-
# Batch mode field
|
|
980
|
-
requests: list[dict[str, Any]] | None = Field(default=None, description="Array of preview requests for batch processing (1-50 items)")
|
|
981
|
-
|
|
982
|
-
# Output format (applies to both modes)
|
|
983
|
-
output_format: Literal["url", "html"] | None = Field(default="url", description="Output format: 'url' for iframe URLs, 'html' for direct embedding")
|
|
984
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
985
|
-
|
|
986
|
-
class PreviewCreativeResponse(BaseModel):
|
|
987
|
-
"""Response containing preview links for one or more creatives. Format matches the request: single preview response for single requests, batch results for batch requests."""
|
|
988
|
-
|
|
989
|
-
# Single mode fields
|
|
990
|
-
previews: list[dict[str, Any]] | None = Field(default=None, description="Array of preview variants (single mode)")
|
|
991
|
-
interactive_url: str | None = Field(default=None, description="Optional URL to interactive testing page (single mode)")
|
|
992
|
-
expires_at: str | None = Field(default=None, description="ISO 8601 timestamp when preview links expire (single mode)")
|
|
993
|
-
|
|
994
|
-
# Batch mode field
|
|
995
|
-
results: list[dict[str, Any]] | None = Field(default=None, description="Array of preview results for batch processing")
|
|
996
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
# ============================================================================
|
|
1000
|
-
# ONEOF DISCRIMINATED UNIONS FOR RESPONSE TYPES
|
|
1001
|
-
# ============================================================================
|
|
1002
|
-
# These response types use oneOf semantics: success XOR error, never both.
|
|
1003
|
-
# Implemented as Union types with distinct Success/Error variants.
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
class ActivateSignalSuccess(BaseModel):
|
|
1007
|
-
"""Successful signal activation response"""
|
|
1008
|
-
|
|
1009
|
-
decisioning_platform_segment_id: str = Field(
|
|
1010
|
-
description="The platform-specific ID to use once activated"
|
|
1011
|
-
)
|
|
1012
|
-
estimated_activation_duration_minutes: float | None = None
|
|
1013
|
-
deployed_at: str | None = None
|
|
1014
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
1015
|
-
|
|
1016
|
-
class ActivateSignalError(BaseModel):
|
|
1017
|
-
"""Failed signal activation response"""
|
|
1018
|
-
|
|
1019
|
-
errors: list[Error] = Field(description="Task-specific errors and warnings")
|
|
1020
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
1021
|
-
|
|
1022
|
-
# Override the generated ActivateSignalResponse type alias
|
|
1023
|
-
ActivateSignalResponse = ActivateSignalSuccess | ActivateSignalError
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
class CreateMediaBuySuccess(BaseModel):
|
|
1027
|
-
"""Successful media buy creation response"""
|
|
1028
|
-
|
|
1029
|
-
media_buy_id: str = Field(description="The unique ID for the media buy")
|
|
1030
|
-
buyer_ref: str = Field(description="The buyer's reference ID for this media buy")
|
|
1031
|
-
packages: list[Package] = Field(
|
|
1032
|
-
description="Array of approved packages. Each package is ready for creative assignment."
|
|
1033
|
-
)
|
|
1034
|
-
creative_deadline: str | None = Field(
|
|
1035
|
-
None,
|
|
1036
|
-
description="ISO 8601 date when creatives must be provided for launch",
|
|
1037
|
-
)
|
|
1038
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
class CreateMediaBuyError(BaseModel):
|
|
1042
|
-
"""Failed media buy creation response"""
|
|
1043
|
-
|
|
1044
|
-
errors: list[Error] = Field(description="Task-specific errors and warnings")
|
|
1045
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
# Override the generated CreateMediaBuyResponse type alias
|
|
1049
|
-
CreateMediaBuyResponse = CreateMediaBuySuccess | CreateMediaBuyError
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
class UpdateMediaBuySuccess(BaseModel):
|
|
1053
|
-
"""Successful media buy update response"""
|
|
1054
|
-
|
|
1055
|
-
media_buy_id: str = Field(description="The unique ID for the media buy")
|
|
1056
|
-
buyer_ref: str = Field(description="The buyer's reference ID for this media buy")
|
|
1057
|
-
packages: list[Package] = Field(
|
|
1058
|
-
description="Array of updated packages reflecting the changes"
|
|
1059
|
-
)
|
|
1060
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
class UpdateMediaBuyError(BaseModel):
|
|
1064
|
-
"""Failed media buy update response"""
|
|
1065
|
-
|
|
1066
|
-
errors: list[Error] = Field(description="Task-specific errors and warnings")
|
|
1067
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
1068
|
-
|
|
1069
|
-
# Override the generated UpdateMediaBuyResponse type alias
|
|
1070
|
-
UpdateMediaBuyResponse = UpdateMediaBuySuccess | UpdateMediaBuyError
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
class SyncCreativesSuccess(BaseModel):
|
|
1074
|
-
"""Successful creative sync response"""
|
|
1075
|
-
|
|
1076
|
-
assignments: list[CreativeAssignment] = Field(
|
|
1077
|
-
description="Array of creative assignments with updated status"
|
|
1078
|
-
)
|
|
1079
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
class SyncCreativesError(BaseModel):
|
|
1083
|
-
"""Failed creative sync response"""
|
|
1084
|
-
|
|
1085
|
-
errors: list[Error] = Field(description="Task-specific errors and warnings")
|
|
1086
|
-
context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
|
|
1087
|
-
|
|
1088
|
-
# Override the generated SyncCreativesResponse type alias
|
|
1089
|
-
SyncCreativesResponse = SyncCreativesSuccess | SyncCreativesError
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
# Explicit exports for module interface
|
|
12
|
+
# Import all types from generated_poc modules
|
|
13
|
+
from adcp.types.generated_poc.activate_signal_request import ActivateSignalRequest
|
|
14
|
+
from adcp.types.generated_poc.activate_signal_response import (
|
|
15
|
+
ActivateSignalResponse,
|
|
16
|
+
ActivateSignalResponse1,
|
|
17
|
+
ActivateSignalResponse2,
|
|
18
|
+
)
|
|
19
|
+
from adcp.types.generated_poc.activation_key import ActivationKey1, ActivationKey2
|
|
20
|
+
from adcp.types.generated_poc.adagents import (
|
|
21
|
+
AuthorizedAgents,
|
|
22
|
+
AuthorizedAgents1,
|
|
23
|
+
AuthorizedAgents2,
|
|
24
|
+
AuthorizedAgents3,
|
|
25
|
+
AuthorizedSalesAgents,
|
|
26
|
+
Contact,
|
|
27
|
+
PropertyId,
|
|
28
|
+
PropertyTag,
|
|
29
|
+
PublisherProperties,
|
|
30
|
+
PublisherProperties1,
|
|
31
|
+
Tags,
|
|
32
|
+
)
|
|
33
|
+
from adcp.types.generated_poc.asset_type import (
|
|
34
|
+
AssetTypeSchema,
|
|
35
|
+
ContentLength,
|
|
36
|
+
Dimensions,
|
|
37
|
+
Duration,
|
|
38
|
+
FileSize,
|
|
39
|
+
Quality,
|
|
40
|
+
Requirements,
|
|
41
|
+
Type,
|
|
42
|
+
)
|
|
43
|
+
from adcp.types.generated_poc.audio_asset import AudioAsset
|
|
44
|
+
from adcp.types.generated_poc.brand_manifest import (
|
|
45
|
+
Asset,
|
|
46
|
+
Asset1,
|
|
47
|
+
AssetType,
|
|
48
|
+
BrandManifest1,
|
|
49
|
+
BrandManifest2,
|
|
50
|
+
Colors,
|
|
51
|
+
Disclaimer,
|
|
52
|
+
FeedFormat,
|
|
53
|
+
Fonts,
|
|
54
|
+
Logo,
|
|
55
|
+
Metadata,
|
|
56
|
+
ProductCatalog,
|
|
57
|
+
ProductCatalog1,
|
|
58
|
+
UpdateFrequency,
|
|
59
|
+
)
|
|
60
|
+
from adcp.types.generated_poc.brand_manifest_ref import BrandManifest, BrandManifestReference
|
|
61
|
+
from adcp.types.generated_poc.build_creative_request import BuildCreativeRequest
|
|
62
|
+
from adcp.types.generated_poc.build_creative_response import (
|
|
63
|
+
BuildCreativeResponse,
|
|
64
|
+
BuildCreativeResponse1,
|
|
65
|
+
BuildCreativeResponse2,
|
|
66
|
+
)
|
|
67
|
+
from adcp.types.generated_poc.channels import AdvertisingChannels
|
|
68
|
+
from adcp.types.generated_poc.cpc_option import CpcPricingOption
|
|
69
|
+
from adcp.types.generated_poc.cpcv_option import CpcvPricingOption
|
|
70
|
+
from adcp.types.generated_poc.cpm_auction_option import CpmAuctionPricingOption, PriceGuidance
|
|
71
|
+
from adcp.types.generated_poc.cpm_fixed_option import CpmFixedRatePricingOption
|
|
72
|
+
from adcp.types.generated_poc.cpp_option import CppPricingOption, Parameters
|
|
73
|
+
from adcp.types.generated_poc.cpv_option import CpvPricingOption, ViewThreshold, ViewThreshold1
|
|
74
|
+
from adcp.types.generated_poc.create_media_buy_request import (
|
|
75
|
+
CreateMediaBuyRequest,
|
|
76
|
+
ReportingFrequency,
|
|
77
|
+
ReportingWebhook,
|
|
78
|
+
RequestedMetric,
|
|
79
|
+
)
|
|
80
|
+
from adcp.types.generated_poc.create_media_buy_response import (
|
|
81
|
+
CreateMediaBuyResponse,
|
|
82
|
+
CreateMediaBuyResponse1,
|
|
83
|
+
CreateMediaBuyResponse2,
|
|
84
|
+
Package,
|
|
85
|
+
)
|
|
86
|
+
from adcp.types.generated_poc.creative_asset import CreativeAsset, Input
|
|
87
|
+
from adcp.types.generated_poc.creative_assignment import CreativeAssignment
|
|
88
|
+
from adcp.types.generated_poc.creative_manifest import CreativeManifest
|
|
89
|
+
from adcp.types.generated_poc.creative_policy import CoBranding, CreativePolicy, LandingPage
|
|
90
|
+
from adcp.types.generated_poc.creative_status import CreativeStatus
|
|
91
|
+
from adcp.types.generated_poc.css_asset import CssAsset
|
|
92
|
+
from adcp.types.generated_poc.daast_asset import (
|
|
93
|
+
DaastAsset1,
|
|
94
|
+
DaastAsset2,
|
|
95
|
+
DaastVersion,
|
|
96
|
+
TrackingEvent,
|
|
97
|
+
)
|
|
98
|
+
from adcp.types.generated_poc.delivery_metrics import (
|
|
99
|
+
DeliveryMetrics,
|
|
100
|
+
DoohMetrics,
|
|
101
|
+
QuartileData,
|
|
102
|
+
VenueBreakdownItem,
|
|
103
|
+
)
|
|
104
|
+
from adcp.types.generated_poc.delivery_type import DeliveryType
|
|
105
|
+
from adcp.types.generated_poc.deployment import Deployment1, Deployment2
|
|
106
|
+
from adcp.types.generated_poc.destination import Destination1, Destination2
|
|
107
|
+
from adcp.types.generated_poc.error import Error
|
|
108
|
+
from adcp.types.generated_poc.flat_rate_option import FlatRatePricingOption
|
|
109
|
+
from adcp.types.generated_poc.format import (
|
|
110
|
+
AssetsRequired,
|
|
111
|
+
AssetsRequired1,
|
|
112
|
+
Format,
|
|
113
|
+
FormatCard,
|
|
114
|
+
FormatCardDetailed,
|
|
115
|
+
Render,
|
|
116
|
+
Responsive,
|
|
117
|
+
Unit,
|
|
118
|
+
)
|
|
119
|
+
from adcp.types.generated_poc.format_id import FormatId
|
|
120
|
+
from adcp.types.generated_poc.frequency_cap import FrequencyCap
|
|
121
|
+
from adcp.types.generated_poc.frequency_cap_scope import FrequencyCapScope
|
|
122
|
+
from adcp.types.generated_poc.get_media_buy_delivery_request import (
|
|
123
|
+
GetMediaBuyDeliveryRequest,
|
|
124
|
+
StatusFilter,
|
|
125
|
+
StatusFilterEnum,
|
|
126
|
+
)
|
|
127
|
+
from adcp.types.generated_poc.get_media_buy_delivery_response import (
|
|
128
|
+
AggregatedTotals,
|
|
129
|
+
ByPackageItem,
|
|
130
|
+
DailyBreakdownItem,
|
|
131
|
+
GetMediaBuyDeliveryResponse,
|
|
132
|
+
MediaBuyDelivery,
|
|
133
|
+
NotificationType,
|
|
134
|
+
ReportingPeriod,
|
|
135
|
+
Status,
|
|
136
|
+
Totals,
|
|
137
|
+
)
|
|
138
|
+
from adcp.types.generated_poc.get_products_request import Filters, FormatType, GetProductsRequest
|
|
139
|
+
from adcp.types.generated_poc.get_products_response import GetProductsResponse
|
|
140
|
+
from adcp.types.generated_poc.get_signals_request import (
|
|
141
|
+
CatalogType,
|
|
142
|
+
Country,
|
|
143
|
+
DeliverTo,
|
|
144
|
+
GetSignalsRequest,
|
|
145
|
+
)
|
|
146
|
+
from adcp.types.generated_poc.get_signals_response import (
|
|
147
|
+
GetSignalsResponse,
|
|
148
|
+
Pricing,
|
|
149
|
+
Signal,
|
|
150
|
+
SignalType,
|
|
151
|
+
)
|
|
152
|
+
from adcp.types.generated_poc.html_asset import HtmlAsset
|
|
153
|
+
from adcp.types.generated_poc.identifier_types import PropertyIdentifierTypes
|
|
154
|
+
from adcp.types.generated_poc.image_asset import ImageAsset
|
|
155
|
+
from adcp.types.generated_poc.index import AdcpAssetTypeRegistry
|
|
156
|
+
from adcp.types.generated_poc.javascript_asset import JavascriptAsset, ModuleType
|
|
157
|
+
from adcp.types.generated_poc.list_authorized_properties_request import (
|
|
158
|
+
ListAuthorizedPropertiesRequest,
|
|
159
|
+
PublisherDomain,
|
|
160
|
+
)
|
|
161
|
+
from adcp.types.generated_poc.list_authorized_properties_response import (
|
|
162
|
+
ListAuthorizedPropertiesResponse,
|
|
163
|
+
PrimaryCountry,
|
|
164
|
+
)
|
|
165
|
+
from adcp.types.generated_poc.list_creative_formats_request import ListCreativeFormatsRequest
|
|
166
|
+
from adcp.types.generated_poc.list_creative_formats_response import (
|
|
167
|
+
Capability,
|
|
168
|
+
CreativeAgent,
|
|
169
|
+
ListCreativeFormatsResponse,
|
|
170
|
+
)
|
|
171
|
+
from adcp.types.generated_poc.list_creatives_request import (
|
|
172
|
+
Direction,
|
|
173
|
+
Field1,
|
|
174
|
+
FieldModel,
|
|
175
|
+
ListCreativesRequest,
|
|
176
|
+
Pagination,
|
|
177
|
+
Sort,
|
|
178
|
+
)
|
|
179
|
+
from adcp.types.generated_poc.list_creatives_response import (
|
|
180
|
+
AssignedPackage,
|
|
181
|
+
Assignments,
|
|
182
|
+
Creative,
|
|
183
|
+
ListCreativesResponse,
|
|
184
|
+
Performance,
|
|
185
|
+
QuerySummary,
|
|
186
|
+
SortApplied,
|
|
187
|
+
StatusSummary,
|
|
188
|
+
)
|
|
189
|
+
from adcp.types.generated_poc.markdown_asset import MarkdownAsset, MarkdownFlavor
|
|
190
|
+
from adcp.types.generated_poc.measurement import Measurement
|
|
191
|
+
from adcp.types.generated_poc.media_buy import MediaBuy
|
|
192
|
+
from adcp.types.generated_poc.media_buy_status import MediaBuyStatus
|
|
193
|
+
from adcp.types.generated_poc.pacing import Pacing
|
|
194
|
+
from adcp.types.generated_poc.package_request import PackageRequest
|
|
195
|
+
from adcp.types.generated_poc.package_status import PackageStatus
|
|
196
|
+
from adcp.types.generated_poc.performance_feedback import (
|
|
197
|
+
FeedbackSource,
|
|
198
|
+
MeasurementPeriod,
|
|
199
|
+
MetricType,
|
|
200
|
+
PerformanceFeedback,
|
|
201
|
+
)
|
|
202
|
+
from adcp.types.generated_poc.placement import Placement
|
|
203
|
+
from adcp.types.generated_poc.preview_creative_request import (
|
|
204
|
+
Input2,
|
|
205
|
+
OutputFormat,
|
|
206
|
+
PreviewCreativeRequest,
|
|
207
|
+
PreviewCreativeRequest1,
|
|
208
|
+
PreviewCreativeRequest2,
|
|
209
|
+
Request,
|
|
210
|
+
)
|
|
211
|
+
from adcp.types.generated_poc.preview_creative_response import (
|
|
212
|
+
Input4,
|
|
213
|
+
Preview,
|
|
214
|
+
Preview1,
|
|
215
|
+
Preview2,
|
|
216
|
+
PreviewCreativeResponse,
|
|
217
|
+
PreviewCreativeResponse1,
|
|
218
|
+
PreviewCreativeResponse2,
|
|
219
|
+
Response,
|
|
220
|
+
Response1,
|
|
221
|
+
Results,
|
|
222
|
+
Results1,
|
|
223
|
+
)
|
|
224
|
+
from adcp.types.generated_poc.preview_render import (
|
|
225
|
+
Embedding,
|
|
226
|
+
PreviewRender,
|
|
227
|
+
PreviewRender1,
|
|
228
|
+
PreviewRender2,
|
|
229
|
+
PreviewRender3,
|
|
230
|
+
)
|
|
231
|
+
from adcp.types.generated_poc.pricing_model import PricingModel
|
|
232
|
+
from adcp.types.generated_poc.pricing_option import (
|
|
233
|
+
CpcOption,
|
|
234
|
+
CpcvOption,
|
|
235
|
+
CpmAuctionOption,
|
|
236
|
+
CpmFixedOption,
|
|
237
|
+
CppOption,
|
|
238
|
+
CpvOption,
|
|
239
|
+
FlatRateOption,
|
|
240
|
+
Parameters1,
|
|
241
|
+
Parameters2,
|
|
242
|
+
PriceGuidance1,
|
|
243
|
+
PricingOption,
|
|
244
|
+
VcpmAuctionOption,
|
|
245
|
+
VcpmFixedOption,
|
|
246
|
+
)
|
|
247
|
+
from adcp.types.generated_poc.product import (
|
|
248
|
+
DeliveryMeasurement,
|
|
249
|
+
Product,
|
|
250
|
+
ProductCard,
|
|
251
|
+
ProductCardDetailed,
|
|
252
|
+
)
|
|
253
|
+
from adcp.types.generated_poc.promoted_offerings import AssetSelectors, Offering, PromotedOfferings
|
|
254
|
+
from adcp.types.generated_poc.promoted_products import PromotedProducts
|
|
255
|
+
from adcp.types.generated_poc.property import Identifier, Property, PropertyType, Tag
|
|
256
|
+
from adcp.types.generated_poc.protocol_envelope import ProtocolEnvelope
|
|
257
|
+
from adcp.types.generated_poc.provide_performance_feedback_request import (
|
|
258
|
+
ProvidePerformanceFeedbackRequest,
|
|
259
|
+
)
|
|
260
|
+
from adcp.types.generated_poc.provide_performance_feedback_response import (
|
|
261
|
+
ProvidePerformanceFeedbackResponse,
|
|
262
|
+
ProvidePerformanceFeedbackResponse1,
|
|
263
|
+
ProvidePerformanceFeedbackResponse2,
|
|
264
|
+
)
|
|
265
|
+
from adcp.types.generated_poc.publisher_identifier_types import PublisherIdentifierTypes
|
|
266
|
+
from adcp.types.generated_poc.push_notification_config import (
|
|
267
|
+
Authentication,
|
|
268
|
+
PushNotificationConfig,
|
|
269
|
+
Scheme,
|
|
270
|
+
)
|
|
271
|
+
from adcp.types.generated_poc.reporting_capabilities import (
|
|
272
|
+
AvailableMetric,
|
|
273
|
+
AvailableReportingFrequency,
|
|
274
|
+
ReportingCapabilities,
|
|
275
|
+
)
|
|
276
|
+
from adcp.types.generated_poc.response import ProtocolResponse
|
|
277
|
+
from adcp.types.generated_poc.standard_format_ids import StandardFormatIds
|
|
278
|
+
from adcp.types.generated_poc.start_timing import StartTiming
|
|
279
|
+
from adcp.types.generated_poc.sub_asset import SubAsset1, SubAsset2
|
|
280
|
+
from adcp.types.generated_poc.sync_creatives_request import SyncCreativesRequest, ValidationMode
|
|
281
|
+
from adcp.types.generated_poc.sync_creatives_response import (
|
|
282
|
+
Action,
|
|
283
|
+
SyncCreativesResponse,
|
|
284
|
+
SyncCreativesResponse1,
|
|
285
|
+
SyncCreativesResponse2,
|
|
286
|
+
)
|
|
287
|
+
from adcp.types.generated_poc.targeting import GeoCountryAnyOfItem, TargetingOverlay
|
|
288
|
+
from adcp.types.generated_poc.task_status import TaskStatus
|
|
289
|
+
from adcp.types.generated_poc.task_type import TaskType
|
|
290
|
+
from adcp.types.generated_poc.tasks_get_request import TasksGetRequest
|
|
291
|
+
from adcp.types.generated_poc.tasks_get_response import (
|
|
292
|
+
Details,
|
|
293
|
+
Domain,
|
|
294
|
+
HistoryItem,
|
|
295
|
+
Progress,
|
|
296
|
+
TasksGetResponse,
|
|
297
|
+
)
|
|
298
|
+
from adcp.types.generated_poc.tasks_list_request import TasksListRequest
|
|
299
|
+
from adcp.types.generated_poc.tasks_list_response import DomainBreakdown, Task, TasksListResponse
|
|
300
|
+
from adcp.types.generated_poc.text_asset import TextAsset
|
|
301
|
+
from adcp.types.generated_poc.update_media_buy_request import (
|
|
302
|
+
Packages,
|
|
303
|
+
Packages1,
|
|
304
|
+
Packages2,
|
|
305
|
+
Packages3,
|
|
306
|
+
UpdateMediaBuyRequest,
|
|
307
|
+
UpdateMediaBuyRequest1,
|
|
308
|
+
UpdateMediaBuyRequest2,
|
|
309
|
+
)
|
|
310
|
+
from adcp.types.generated_poc.update_media_buy_response import (
|
|
311
|
+
AffectedPackage,
|
|
312
|
+
UpdateMediaBuyResponse,
|
|
313
|
+
UpdateMediaBuyResponse1,
|
|
314
|
+
UpdateMediaBuyResponse2,
|
|
315
|
+
)
|
|
316
|
+
from adcp.types.generated_poc.url_asset import UrlAsset, UrlType
|
|
317
|
+
from adcp.types.generated_poc.vast_asset import VastAsset1, VastAsset2, VastVersion
|
|
318
|
+
from adcp.types.generated_poc.vcpm_auction_option import VcpmAuctionPricingOption
|
|
319
|
+
from adcp.types.generated_poc.vcpm_fixed_option import VcpmFixedRatePricingOption
|
|
320
|
+
from adcp.types.generated_poc.video_asset import VideoAsset
|
|
321
|
+
from adcp.types.generated_poc.webhook_asset import (
|
|
322
|
+
Method,
|
|
323
|
+
Method1,
|
|
324
|
+
ResponseType,
|
|
325
|
+
Security,
|
|
326
|
+
WebhookAsset,
|
|
327
|
+
)
|
|
328
|
+
from adcp.types.generated_poc.webhook_payload import WebhookPayload
|
|
329
|
+
|
|
330
|
+
# Backward compatibility aliases for renamed types
|
|
331
|
+
BrandManifestRef = BrandManifestReference
|
|
332
|
+
Channels = AdvertisingChannels
|
|
333
|
+
|
|
334
|
+
# Explicit exports
|
|
1093
335
|
__all__ = [
|
|
1094
|
-
"
|
|
336
|
+
"Action",
|
|
1095
337
|
"ActivateSignalRequest",
|
|
1096
338
|
"ActivateSignalResponse",
|
|
1097
|
-
"
|
|
1098
|
-
"
|
|
1099
|
-
"
|
|
1100
|
-
"
|
|
1101
|
-
"
|
|
339
|
+
"ActivateSignalResponse1",
|
|
340
|
+
"ActivateSignalResponse2",
|
|
341
|
+
"ActivationKey1",
|
|
342
|
+
"ActivationKey2",
|
|
343
|
+
"AdcpAssetTypeRegistry",
|
|
344
|
+
"AdvertisingChannels",
|
|
345
|
+
"AffectedPackage",
|
|
346
|
+
"AggregatedTotals",
|
|
347
|
+
"Asset",
|
|
348
|
+
"Asset1",
|
|
349
|
+
"AssetSelectors",
|
|
350
|
+
"AssetType",
|
|
351
|
+
"AssetTypeSchema",
|
|
352
|
+
"AssetsRequired",
|
|
353
|
+
"AssetsRequired1",
|
|
354
|
+
"AssignedPackage",
|
|
355
|
+
"Assignments",
|
|
356
|
+
"AudioAsset",
|
|
357
|
+
"Authentication",
|
|
358
|
+
"AuthorizedAgents",
|
|
359
|
+
"AuthorizedAgents1",
|
|
360
|
+
"AuthorizedAgents2",
|
|
361
|
+
"AuthorizedAgents3",
|
|
362
|
+
"AuthorizedSalesAgents",
|
|
363
|
+
"AvailableMetric",
|
|
364
|
+
"AvailableReportingFrequency",
|
|
1102
365
|
"BrandManifest",
|
|
366
|
+
"BrandManifest1",
|
|
367
|
+
"BrandManifest2",
|
|
1103
368
|
"BrandManifestRef",
|
|
1104
|
-
"
|
|
1105
|
-
"BrandManifestRefVariant2",
|
|
369
|
+
"BrandManifestReference",
|
|
1106
370
|
"BuildCreativeRequest",
|
|
1107
371
|
"BuildCreativeResponse",
|
|
1108
|
-
"
|
|
1109
|
-
"
|
|
372
|
+
"BuildCreativeResponse1",
|
|
373
|
+
"BuildCreativeResponse2",
|
|
374
|
+
"ByPackageItem",
|
|
375
|
+
"Capability",
|
|
376
|
+
"CatalogType",
|
|
1110
377
|
"Channels",
|
|
1111
|
-
"
|
|
378
|
+
"CoBranding",
|
|
379
|
+
"Colors",
|
|
380
|
+
"Contact",
|
|
381
|
+
"ContentLength",
|
|
382
|
+
"Country",
|
|
383
|
+
"CpcOption",
|
|
384
|
+
"CpcPricingOption",
|
|
385
|
+
"CpcvOption",
|
|
386
|
+
"CpcvPricingOption",
|
|
387
|
+
"CpmAuctionOption",
|
|
388
|
+
"CpmAuctionPricingOption",
|
|
389
|
+
"CpmFixedOption",
|
|
390
|
+
"CpmFixedRatePricingOption",
|
|
391
|
+
"CppOption",
|
|
392
|
+
"CppPricingOption",
|
|
393
|
+
"CpvOption",
|
|
394
|
+
"CpvPricingOption",
|
|
1112
395
|
"CreateMediaBuyRequest",
|
|
1113
396
|
"CreateMediaBuyResponse",
|
|
1114
|
-
"
|
|
397
|
+
"CreateMediaBuyResponse1",
|
|
398
|
+
"CreateMediaBuyResponse2",
|
|
399
|
+
"Creative",
|
|
400
|
+
"CreativeAgent",
|
|
1115
401
|
"CreativeAsset",
|
|
1116
402
|
"CreativeAssignment",
|
|
1117
403
|
"CreativeManifest",
|
|
1118
404
|
"CreativePolicy",
|
|
1119
|
-
"
|
|
405
|
+
"CreativeStatus",
|
|
406
|
+
"CssAsset",
|
|
407
|
+
"DaastAsset1",
|
|
408
|
+
"DaastAsset2",
|
|
409
|
+
"DaastVersion",
|
|
410
|
+
"DailyBreakdownItem",
|
|
411
|
+
"DeliverTo",
|
|
412
|
+
"DeliveryMeasurement",
|
|
1120
413
|
"DeliveryMetrics",
|
|
1121
414
|
"DeliveryType",
|
|
1122
|
-
"
|
|
1123
|
-
"
|
|
415
|
+
"Deployment1",
|
|
416
|
+
"Deployment2",
|
|
417
|
+
"Destination1",
|
|
418
|
+
"Destination2",
|
|
419
|
+
"Details",
|
|
420
|
+
"Dimensions",
|
|
421
|
+
"Direction",
|
|
422
|
+
"Disclaimer",
|
|
423
|
+
"Domain",
|
|
424
|
+
"DomainBreakdown",
|
|
425
|
+
"DoohMetrics",
|
|
426
|
+
"Duration",
|
|
427
|
+
"Embedding",
|
|
1124
428
|
"Error",
|
|
429
|
+
"FeedFormat",
|
|
430
|
+
"FeedbackSource",
|
|
431
|
+
"Field1",
|
|
432
|
+
"FieldModel",
|
|
433
|
+
"FileSize",
|
|
434
|
+
"Filters",
|
|
435
|
+
"FlatRateOption",
|
|
436
|
+
"FlatRatePricingOption",
|
|
437
|
+
"Fonts",
|
|
1125
438
|
"Format",
|
|
439
|
+
"FormatCard",
|
|
440
|
+
"FormatCardDetailed",
|
|
1126
441
|
"FormatId",
|
|
442
|
+
"FormatType",
|
|
1127
443
|
"FrequencyCap",
|
|
444
|
+
"FrequencyCapScope",
|
|
445
|
+
"GeoCountryAnyOfItem",
|
|
1128
446
|
"GetMediaBuyDeliveryRequest",
|
|
1129
447
|
"GetMediaBuyDeliveryResponse",
|
|
1130
448
|
"GetProductsRequest",
|
|
1131
449
|
"GetProductsResponse",
|
|
1132
450
|
"GetSignalsRequest",
|
|
1133
451
|
"GetSignalsResponse",
|
|
1134
|
-
"
|
|
1135
|
-
"
|
|
1136
|
-
"
|
|
1137
|
-
"
|
|
452
|
+
"HistoryItem",
|
|
453
|
+
"HtmlAsset",
|
|
454
|
+
"Identifier",
|
|
455
|
+
"ImageAsset",
|
|
456
|
+
"Input",
|
|
457
|
+
"Input2",
|
|
458
|
+
"Input4",
|
|
459
|
+
"JavascriptAsset",
|
|
460
|
+
"LandingPage",
|
|
1138
461
|
"ListAuthorizedPropertiesRequest",
|
|
1139
462
|
"ListAuthorizedPropertiesResponse",
|
|
1140
463
|
"ListCreativeFormatsRequest",
|
|
1141
464
|
"ListCreativeFormatsResponse",
|
|
1142
465
|
"ListCreativesRequest",
|
|
1143
466
|
"ListCreativesResponse",
|
|
467
|
+
"Logo",
|
|
468
|
+
"MarkdownAsset",
|
|
469
|
+
"MarkdownFlavor",
|
|
1144
470
|
"Measurement",
|
|
471
|
+
"MeasurementPeriod",
|
|
1145
472
|
"MediaBuy",
|
|
473
|
+
"MediaBuyDelivery",
|
|
1146
474
|
"MediaBuyStatus",
|
|
1147
|
-
"
|
|
475
|
+
"Metadata",
|
|
476
|
+
"Method",
|
|
477
|
+
"Method1",
|
|
478
|
+
"MetricType",
|
|
479
|
+
"ModuleType",
|
|
480
|
+
"NotificationType",
|
|
481
|
+
"Offering",
|
|
482
|
+
"OutputFormat",
|
|
1148
483
|
"Pacing",
|
|
1149
484
|
"Package",
|
|
1150
485
|
"PackageRequest",
|
|
1151
486
|
"PackageStatus",
|
|
487
|
+
"Packages",
|
|
488
|
+
"Packages1",
|
|
489
|
+
"Packages2",
|
|
490
|
+
"Packages3",
|
|
491
|
+
"Pagination",
|
|
492
|
+
"Parameters",
|
|
493
|
+
"Parameters1",
|
|
494
|
+
"Parameters2",
|
|
495
|
+
"Performance",
|
|
1152
496
|
"PerformanceFeedback",
|
|
1153
497
|
"Placement",
|
|
1154
|
-
"
|
|
1155
|
-
"
|
|
498
|
+
"Preview",
|
|
499
|
+
"Preview1",
|
|
500
|
+
"Preview2",
|
|
1156
501
|
"PreviewCreativeRequest",
|
|
502
|
+
"PreviewCreativeRequest1",
|
|
503
|
+
"PreviewCreativeRequest2",
|
|
1157
504
|
"PreviewCreativeResponse",
|
|
505
|
+
"PreviewCreativeResponse1",
|
|
506
|
+
"PreviewCreativeResponse2",
|
|
1158
507
|
"PreviewRender",
|
|
508
|
+
"PreviewRender1",
|
|
509
|
+
"PreviewRender2",
|
|
510
|
+
"PreviewRender3",
|
|
511
|
+
"PriceGuidance",
|
|
512
|
+
"PriceGuidance1",
|
|
513
|
+
"Pricing",
|
|
1159
514
|
"PricingModel",
|
|
1160
515
|
"PricingOption",
|
|
1161
|
-
"
|
|
1162
|
-
"PricingOptionVariant2",
|
|
1163
|
-
"PricingOptionVariant3",
|
|
1164
|
-
"PricingOptionVariant4",
|
|
1165
|
-
"PricingOptionVariant5",
|
|
1166
|
-
"PricingOptionVariant6",
|
|
1167
|
-
"PricingOptionVariant7",
|
|
1168
|
-
"PricingOptionVariant8",
|
|
1169
|
-
"PricingOptionVariant9",
|
|
516
|
+
"PrimaryCountry",
|
|
1170
517
|
"Product",
|
|
518
|
+
"ProductCard",
|
|
519
|
+
"ProductCardDetailed",
|
|
520
|
+
"ProductCatalog",
|
|
521
|
+
"ProductCatalog1",
|
|
522
|
+
"Progress",
|
|
523
|
+
"PromotedOfferings",
|
|
1171
524
|
"PromotedProducts",
|
|
1172
525
|
"Property",
|
|
526
|
+
"PropertyId",
|
|
527
|
+
"PropertyIdentifierTypes",
|
|
528
|
+
"PropertyTag",
|
|
529
|
+
"PropertyType",
|
|
1173
530
|
"ProtocolEnvelope",
|
|
531
|
+
"ProtocolResponse",
|
|
1174
532
|
"ProvidePerformanceFeedbackRequest",
|
|
1175
533
|
"ProvidePerformanceFeedbackResponse",
|
|
1176
|
-
"
|
|
1177
|
-
"
|
|
534
|
+
"ProvidePerformanceFeedbackResponse1",
|
|
535
|
+
"ProvidePerformanceFeedbackResponse2",
|
|
536
|
+
"PublisherDomain",
|
|
537
|
+
"PublisherIdentifierTypes",
|
|
538
|
+
"PublisherProperties",
|
|
539
|
+
"PublisherProperties1",
|
|
1178
540
|
"PushNotificationConfig",
|
|
541
|
+
"Quality",
|
|
542
|
+
"QuartileData",
|
|
543
|
+
"QuerySummary",
|
|
544
|
+
"Render",
|
|
1179
545
|
"ReportingCapabilities",
|
|
546
|
+
"ReportingFrequency",
|
|
547
|
+
"ReportingPeriod",
|
|
548
|
+
"ReportingWebhook",
|
|
549
|
+
"Request",
|
|
550
|
+
"RequestedMetric",
|
|
551
|
+
"Requirements",
|
|
1180
552
|
"Response",
|
|
1181
|
-
"
|
|
553
|
+
"Response1",
|
|
554
|
+
"ResponseType",
|
|
555
|
+
"Responsive",
|
|
556
|
+
"Results",
|
|
557
|
+
"Results1",
|
|
558
|
+
"Scheme",
|
|
559
|
+
"Security",
|
|
560
|
+
"Signal",
|
|
561
|
+
"SignalType",
|
|
562
|
+
"Sort",
|
|
563
|
+
"SortApplied",
|
|
1182
564
|
"StandardFormatIds",
|
|
1183
565
|
"StartTiming",
|
|
1184
|
-
"
|
|
1185
|
-
"
|
|
1186
|
-
"
|
|
1187
|
-
"
|
|
566
|
+
"Status",
|
|
567
|
+
"StatusFilter",
|
|
568
|
+
"StatusFilterEnum",
|
|
569
|
+
"StatusSummary",
|
|
570
|
+
"SubAsset1",
|
|
571
|
+
"SubAsset2",
|
|
1188
572
|
"SyncCreativesRequest",
|
|
1189
573
|
"SyncCreativesResponse",
|
|
1190
|
-
"
|
|
1191
|
-
"
|
|
574
|
+
"SyncCreativesResponse1",
|
|
575
|
+
"SyncCreativesResponse2",
|
|
576
|
+
"Tag",
|
|
577
|
+
"Tags",
|
|
578
|
+
"TargetingOverlay",
|
|
579
|
+
"Task",
|
|
1192
580
|
"TaskStatus",
|
|
1193
581
|
"TaskType",
|
|
1194
582
|
"TasksGetRequest",
|
|
1195
583
|
"TasksGetResponse",
|
|
1196
584
|
"TasksListRequest",
|
|
1197
585
|
"TasksListResponse",
|
|
1198
|
-
"
|
|
1199
|
-
"
|
|
586
|
+
"TextAsset",
|
|
587
|
+
"Totals",
|
|
588
|
+
"TrackingEvent",
|
|
589
|
+
"Type",
|
|
590
|
+
"Unit",
|
|
591
|
+
"UpdateFrequency",
|
|
1200
592
|
"UpdateMediaBuyRequest",
|
|
593
|
+
"UpdateMediaBuyRequest1",
|
|
594
|
+
"UpdateMediaBuyRequest2",
|
|
1201
595
|
"UpdateMediaBuyResponse",
|
|
1202
|
-
"
|
|
1203
|
-
"
|
|
1204
|
-
"
|
|
1205
|
-
"
|
|
1206
|
-
"
|
|
596
|
+
"UpdateMediaBuyResponse1",
|
|
597
|
+
"UpdateMediaBuyResponse2",
|
|
598
|
+
"UrlAsset",
|
|
599
|
+
"UrlType",
|
|
600
|
+
"ValidationMode",
|
|
601
|
+
"VastAsset1",
|
|
602
|
+
"VastAsset2",
|
|
603
|
+
"VastVersion",
|
|
604
|
+
"VcpmAuctionOption",
|
|
605
|
+
"VcpmAuctionPricingOption",
|
|
606
|
+
"VcpmFixedOption",
|
|
607
|
+
"VcpmFixedRatePricingOption",
|
|
608
|
+
"VenueBreakdownItem",
|
|
609
|
+
"VideoAsset",
|
|
610
|
+
"ViewThreshold",
|
|
611
|
+
"ViewThreshold1",
|
|
612
|
+
"WebhookAsset",
|
|
1207
613
|
"WebhookPayload",
|
|
1208
614
|
]
|