@adcp/client 3.15.0 → 3.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/adcp-registry.js +736 -0
- package/bin/adcp.js +38 -2
- package/dist/lib/adapters/property-list-adapter.js +2 -2
- package/dist/lib/adapters/property-list-adapter.js.map +1 -1
- package/dist/lib/adapters/proposal-manager.d.ts +3 -3
- package/dist/lib/adapters/proposal-manager.d.ts.map +1 -1
- package/dist/lib/adapters/proposal-manager.js.map +1 -1
- package/dist/lib/agents/index.generated.d.ts +9 -1
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +12 -0
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +3 -2
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +4 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +6 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/protocols/mcp.d.ts.map +1 -1
- package/dist/lib/protocols/mcp.js +49 -20
- package/dist/lib/protocols/mcp.js.map +1 -1
- package/dist/lib/registry/index.d.ts +97 -31
- package/dist/lib/registry/index.d.ts.map +1 -1
- package/dist/lib/registry/index.js +228 -61
- package/dist/lib/registry/index.js.map +1 -1
- package/dist/lib/registry/types.d.ts +41 -57
- package/dist/lib/registry/types.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.d.ts +1860 -0
- package/dist/lib/registry/types.generated.d.ts.map +1 -0
- package/dist/lib/registry/types.generated.js +8 -0
- package/dist/lib/registry/types.generated.js.map +1 -0
- package/dist/lib/registry/types.js +6 -0
- package/dist/lib/registry/types.js.map +1 -1
- package/dist/lib/testing/client.d.ts +6 -0
- package/dist/lib/testing/client.d.ts.map +1 -1
- package/dist/lib/testing/client.js +13 -5
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/scenarios/index.d.ts +1 -1
- package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/index.js +2 -1
- package/dist/lib/testing/scenarios/index.js.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.d.ts +8 -0
- package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.js +127 -12
- package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
- package/dist/lib/testing/types.d.ts +6 -1
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/types/compat.d.ts +60 -0
- package/dist/lib/types/compat.d.ts.map +1 -0
- package/dist/lib/types/compat.js +29 -0
- package/dist/lib/types/compat.js.map +1 -0
- package/dist/lib/types/core.generated.d.ts +29 -322
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/schemas.generated.d.ts +225 -1296
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +89 -106
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +246 -339
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.d.ts +3 -1
- package/dist/lib/utils/capabilities.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.js +4 -0
- package/dist/lib/utils/capabilities.js.map +1 -1
- package/package.json +8 -4
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Brand
|
|
2
|
+
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
3
3
|
*/
|
|
4
|
-
export type
|
|
5
|
-
/**
|
|
6
|
-
* Type of asset. Note: Brand manifests typically contain basic media assets (image, video, audio, text). Code assets (html, javascript, css) and ad markup (vast, daast) are usually not part of brand asset libraries.
|
|
7
|
-
*/
|
|
8
|
-
export type AssetContentType = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'promoted_offerings' | 'url' | 'webhook';
|
|
4
|
+
export type BrandID = string;
|
|
9
5
|
/**
|
|
10
6
|
* Type of inventory delivery
|
|
11
7
|
*/
|
|
@@ -173,7 +169,7 @@ export interface GetProductsRequest {
|
|
|
173
169
|
* Natural language description of campaign requirements.
|
|
174
170
|
*/
|
|
175
171
|
brief?: string;
|
|
176
|
-
|
|
172
|
+
brand?: BrandReference;
|
|
177
173
|
product_selectors?: PromotedProducts;
|
|
178
174
|
/**
|
|
179
175
|
* Account ID for product lookup. Required when the seller declares account.required_for_products = true in capabilities. Returns products with pricing specific to this account's rate card.
|
|
@@ -186,318 +182,17 @@ export interface GetProductsRequest {
|
|
|
186
182
|
ext?: ExtensionObject;
|
|
187
183
|
}
|
|
188
184
|
/**
|
|
189
|
-
*
|
|
185
|
+
* Brand reference for product discovery context. Resolved to full brand identity at execution time.
|
|
190
186
|
*/
|
|
191
|
-
export interface
|
|
192
|
-
/**
|
|
193
|
-
* Primary brand URL for context and asset discovery. Creative agents can infer brand information from this URL.
|
|
194
|
-
*/
|
|
195
|
-
url?: string;
|
|
196
|
-
/**
|
|
197
|
-
* URL to the brand's privacy policy. Used for consumer consent flows when personal data may be shared with the advertiser. AI platforms can use this to present explicit privacy choices to users before data handoff.
|
|
198
|
-
*/
|
|
199
|
-
privacy_policy_url?: string;
|
|
200
|
-
/**
|
|
201
|
-
* Brand or business name
|
|
202
|
-
*/
|
|
203
|
-
name: string;
|
|
204
|
-
/**
|
|
205
|
-
* Brand logo assets with structured fields for orientation, background compatibility, and variant type. Use the orientation, background, and variant enum fields for reliable filtering by creative agents.
|
|
206
|
-
*/
|
|
207
|
-
logos?: {
|
|
208
|
-
/**
|
|
209
|
-
* URL to the logo asset
|
|
210
|
-
*/
|
|
211
|
-
url: string;
|
|
212
|
-
/**
|
|
213
|
-
* Logo aspect ratio orientation. square: ~1:1, horizontal: wide, vertical: tall, stacked: vertically arranged elements
|
|
214
|
-
*/
|
|
215
|
-
orientation?: 'square' | 'horizontal' | 'vertical' | 'stacked';
|
|
216
|
-
/**
|
|
217
|
-
* Background compatibility. dark-bg: use on dark backgrounds, light-bg: use on light backgrounds, transparent-bg: has transparent background
|
|
218
|
-
*/
|
|
219
|
-
background?: 'dark-bg' | 'light-bg' | 'transparent-bg';
|
|
220
|
-
/**
|
|
221
|
-
* Logo variant type. primary: main logo, secondary: alternative, icon: symbol only, wordmark: text only, full-lockup: complete logo
|
|
222
|
-
*/
|
|
223
|
-
variant?: 'primary' | 'secondary' | 'icon' | 'wordmark' | 'full-lockup';
|
|
224
|
-
/**
|
|
225
|
-
* Additional semantic tags for custom categorization beyond the standard orientation, background, and variant fields.
|
|
226
|
-
*/
|
|
227
|
-
tags?: string[];
|
|
228
|
-
/**
|
|
229
|
-
* Human-readable description of when to use this logo variant (e.g., 'Primary logo for use on light backgrounds', 'Icon-only variant for small formats')
|
|
230
|
-
*/
|
|
231
|
-
usage?: string;
|
|
232
|
-
/**
|
|
233
|
-
* Logo width in pixels
|
|
234
|
-
*/
|
|
235
|
-
width?: number;
|
|
236
|
-
/**
|
|
237
|
-
* Logo height in pixels
|
|
238
|
-
*/
|
|
239
|
-
height?: number;
|
|
240
|
-
}[];
|
|
241
|
-
/**
|
|
242
|
-
* Brand color palette. Each role accepts a single hex color or an array of hex colors for brands with multiple values per role.
|
|
243
|
-
*/
|
|
244
|
-
colors?: {
|
|
245
|
-
/**
|
|
246
|
-
* Primary brand color(s)
|
|
247
|
-
*/
|
|
248
|
-
primary?: string | [string, ...string[]];
|
|
249
|
-
/**
|
|
250
|
-
* Secondary brand color(s)
|
|
251
|
-
*/
|
|
252
|
-
secondary?: string | [string, ...string[]];
|
|
253
|
-
/**
|
|
254
|
-
* Accent color(s)
|
|
255
|
-
*/
|
|
256
|
-
accent?: string | [string, ...string[]];
|
|
257
|
-
/**
|
|
258
|
-
* Background color(s)
|
|
259
|
-
*/
|
|
260
|
-
background?: string | [string, ...string[]];
|
|
261
|
-
/**
|
|
262
|
-
* Text color(s)
|
|
263
|
-
*/
|
|
264
|
-
text?: string | [string, ...string[]];
|
|
265
|
-
};
|
|
266
|
-
/**
|
|
267
|
-
* Brand typography guidelines
|
|
268
|
-
*/
|
|
269
|
-
fonts?: {
|
|
270
|
-
/**
|
|
271
|
-
* Primary font family name
|
|
272
|
-
*/
|
|
273
|
-
primary?: string;
|
|
274
|
-
/**
|
|
275
|
-
* Secondary font family name
|
|
276
|
-
*/
|
|
277
|
-
secondary?: string;
|
|
278
|
-
/**
|
|
279
|
-
* URLs to web font files if using custom fonts
|
|
280
|
-
*/
|
|
281
|
-
font_urls?: string[];
|
|
282
|
-
};
|
|
283
|
-
/**
|
|
284
|
-
* Brand voice and messaging tone guidelines for creative agents.
|
|
285
|
-
*/
|
|
286
|
-
tone?: string | {
|
|
287
|
-
/**
|
|
288
|
-
* High-level voice descriptor (e.g., 'warm and inviting', 'professional and trustworthy')
|
|
289
|
-
*/
|
|
290
|
-
voice?: string;
|
|
291
|
-
/**
|
|
292
|
-
* Personality traits that characterize the brand voice
|
|
293
|
-
*/
|
|
294
|
-
attributes?: string[];
|
|
295
|
-
/**
|
|
296
|
-
* Specific guidance for copy generation - what TO do
|
|
297
|
-
*/
|
|
298
|
-
dos?: string[];
|
|
299
|
-
/**
|
|
300
|
-
* Guardrails to avoid brand violations - what NOT to do
|
|
301
|
-
*/
|
|
302
|
-
donts?: string[];
|
|
303
|
-
};
|
|
304
|
-
/**
|
|
305
|
-
* Brand voice configuration for audio/conversational experiences
|
|
306
|
-
*/
|
|
307
|
-
voice?: {
|
|
308
|
-
/**
|
|
309
|
-
* TTS provider (e.g., 'elevenlabs', 'openai', 'amazon_polly')
|
|
310
|
-
*/
|
|
311
|
-
provider?: string;
|
|
312
|
-
/**
|
|
313
|
-
* Provider-specific voice identifier
|
|
314
|
-
*/
|
|
315
|
-
voice_id?: string;
|
|
316
|
-
/**
|
|
317
|
-
* Provider-specific voice settings (speed, pitch, etc.)
|
|
318
|
-
*/
|
|
319
|
-
settings?: {
|
|
320
|
-
[k: string]: unknown | undefined;
|
|
321
|
-
};
|
|
322
|
-
};
|
|
323
|
-
/**
|
|
324
|
-
* Brand avatar configuration for visual conversational experiences
|
|
325
|
-
*/
|
|
326
|
-
avatar?: {
|
|
327
|
-
/**
|
|
328
|
-
* Avatar provider (e.g., 'd-id', 'heygen', 'synthesia')
|
|
329
|
-
*/
|
|
330
|
-
provider?: string;
|
|
331
|
-
/**
|
|
332
|
-
* Provider-specific avatar identifier
|
|
333
|
-
*/
|
|
334
|
-
avatar_id?: string;
|
|
335
|
-
/**
|
|
336
|
-
* Provider-specific avatar settings
|
|
337
|
-
*/
|
|
338
|
-
settings?: {
|
|
339
|
-
[k: string]: unknown | undefined;
|
|
340
|
-
};
|
|
341
|
-
};
|
|
342
|
-
/**
|
|
343
|
-
* Brand tagline or slogan
|
|
344
|
-
*/
|
|
345
|
-
tagline?: string;
|
|
346
|
-
/**
|
|
347
|
-
* Brand asset library with explicit assets and tags. Assets are referenced inline with URLs pointing to CDN-hosted files.
|
|
348
|
-
*/
|
|
349
|
-
assets?: {
|
|
350
|
-
/**
|
|
351
|
-
* Unique identifier for this asset
|
|
352
|
-
*/
|
|
353
|
-
asset_id: string;
|
|
354
|
-
asset_type: AssetContentType;
|
|
355
|
-
/**
|
|
356
|
-
* URL to CDN-hosted asset file
|
|
357
|
-
*/
|
|
358
|
-
url: string;
|
|
359
|
-
/**
|
|
360
|
-
* Tags for asset discovery (e.g., 'holiday', 'lifestyle', 'product_shot')
|
|
361
|
-
*/
|
|
362
|
-
tags?: string[];
|
|
363
|
-
/**
|
|
364
|
-
* Human-readable asset name
|
|
365
|
-
*/
|
|
366
|
-
name?: string;
|
|
367
|
-
/**
|
|
368
|
-
* Asset description or usage notes
|
|
369
|
-
*/
|
|
370
|
-
description?: string;
|
|
371
|
-
/**
|
|
372
|
-
* Image/video width in pixels
|
|
373
|
-
*/
|
|
374
|
-
width?: number;
|
|
375
|
-
/**
|
|
376
|
-
* Image/video height in pixels
|
|
377
|
-
*/
|
|
378
|
-
height?: number;
|
|
379
|
-
/**
|
|
380
|
-
* Video/audio duration in seconds
|
|
381
|
-
*/
|
|
382
|
-
duration_seconds?: number;
|
|
383
|
-
/**
|
|
384
|
-
* File size in bytes
|
|
385
|
-
*/
|
|
386
|
-
file_size_bytes?: number;
|
|
387
|
-
/**
|
|
388
|
-
* File format (e.g., 'jpg', 'mp4', 'mp3')
|
|
389
|
-
*/
|
|
390
|
-
format?: string;
|
|
391
|
-
/**
|
|
392
|
-
* Additional asset-specific metadata
|
|
393
|
-
*/
|
|
394
|
-
metadata?: {
|
|
395
|
-
[k: string]: unknown | undefined;
|
|
396
|
-
};
|
|
397
|
-
[k: string]: unknown | undefined;
|
|
398
|
-
}[];
|
|
399
|
-
/**
|
|
400
|
-
* Product catalog information for e-commerce advertisers. Enables SKU-level creative generation and product selection.
|
|
401
|
-
*/
|
|
402
|
-
product_catalog?: {
|
|
403
|
-
/**
|
|
404
|
-
* URL to product catalog feed
|
|
405
|
-
*/
|
|
406
|
-
feed_url: string;
|
|
407
|
-
/**
|
|
408
|
-
* Format of the product feed. Use 'openai_product_feed' for feeds conforming to the OpenAI Commerce Product Feed specification.
|
|
409
|
-
*/
|
|
410
|
-
feed_format?: 'google_merchant_center' | 'facebook_catalog' | 'openai_product_feed' | 'custom';
|
|
411
|
-
/**
|
|
412
|
-
* Product categories available in the catalog (for filtering)
|
|
413
|
-
*/
|
|
414
|
-
categories?: string[];
|
|
415
|
-
/**
|
|
416
|
-
* When the product catalog was last updated
|
|
417
|
-
*/
|
|
418
|
-
last_updated?: string;
|
|
419
|
-
/**
|
|
420
|
-
* How frequently the product catalog is updated
|
|
421
|
-
*/
|
|
422
|
-
update_frequency?: 'realtime' | 'hourly' | 'daily' | 'weekly';
|
|
423
|
-
/**
|
|
424
|
-
* Agentic checkout endpoint configuration. Enables AI agents to complete purchases on behalf of users through a structured checkout API.
|
|
425
|
-
*/
|
|
426
|
-
agentic_checkout?: {
|
|
427
|
-
/**
|
|
428
|
-
* Base URL for checkout session API (e.g., https://merchant.com/api/checkout_sessions)
|
|
429
|
-
*/
|
|
430
|
-
endpoint: string;
|
|
431
|
-
/**
|
|
432
|
-
* Checkout API specification implemented by the endpoint
|
|
433
|
-
*/
|
|
434
|
-
spec: 'openai_agentic_checkout_v1';
|
|
435
|
-
/**
|
|
436
|
-
* Payment providers supported by this checkout endpoint
|
|
437
|
-
*/
|
|
438
|
-
supported_payment_providers?: string[];
|
|
439
|
-
};
|
|
440
|
-
[k: string]: unknown | undefined;
|
|
441
|
-
};
|
|
442
|
-
/**
|
|
443
|
-
* Legal disclaimers or required text that must appear in creatives
|
|
444
|
-
*/
|
|
445
|
-
disclaimers?: {
|
|
446
|
-
/**
|
|
447
|
-
* Disclaimer text
|
|
448
|
-
*/
|
|
449
|
-
text: string;
|
|
450
|
-
/**
|
|
451
|
-
* When this disclaimer applies (e.g., 'financial_products', 'health_claims', 'all')
|
|
452
|
-
*/
|
|
453
|
-
context?: string;
|
|
454
|
-
/**
|
|
455
|
-
* Whether this disclaimer must appear
|
|
456
|
-
*/
|
|
457
|
-
required?: boolean;
|
|
458
|
-
}[];
|
|
459
|
-
/**
|
|
460
|
-
* Industry or vertical (e.g., 'retail', 'automotive', 'finance', 'healthcare')
|
|
461
|
-
*/
|
|
462
|
-
industry?: string;
|
|
463
|
-
/**
|
|
464
|
-
* Primary target audience description
|
|
465
|
-
*/
|
|
466
|
-
target_audience?: string;
|
|
467
|
-
/**
|
|
468
|
-
* Brand contact information
|
|
469
|
-
*/
|
|
470
|
-
contact?: {
|
|
471
|
-
/**
|
|
472
|
-
* Contact email
|
|
473
|
-
*/
|
|
474
|
-
email?: string;
|
|
475
|
-
/**
|
|
476
|
-
* Contact phone number
|
|
477
|
-
*/
|
|
478
|
-
phone?: string;
|
|
479
|
-
};
|
|
187
|
+
export interface BrandReference {
|
|
480
188
|
/**
|
|
481
|
-
*
|
|
189
|
+
* Domain where /.well-known/brand.json is hosted, or the brand's operating domain
|
|
482
190
|
*/
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
* When this brand manifest was created
|
|
486
|
-
*/
|
|
487
|
-
created_date?: string;
|
|
488
|
-
/**
|
|
489
|
-
* When this brand manifest was last updated
|
|
490
|
-
*/
|
|
491
|
-
updated_date?: string;
|
|
492
|
-
/**
|
|
493
|
-
* Brand card version number
|
|
494
|
-
*/
|
|
495
|
-
version?: string;
|
|
496
|
-
};
|
|
497
|
-
[k: string]: unknown | undefined;
|
|
191
|
+
domain: string;
|
|
192
|
+
brand_id?: BrandID;
|
|
498
193
|
}
|
|
499
194
|
/**
|
|
500
|
-
* Selectors to filter the brand
|
|
195
|
+
* Selectors to filter the brand's product catalog for product discovery. When provided, sellers should only return advertising products where the selected catalog items have matches. Uses the same selection methods as promoted-offerings.
|
|
501
196
|
*/
|
|
502
197
|
export interface PromotedProducts {
|
|
503
198
|
/**
|
|
@@ -505,19 +200,19 @@ export interface PromotedProducts {
|
|
|
505
200
|
*/
|
|
506
201
|
manifest_gtins?: string[];
|
|
507
202
|
/**
|
|
508
|
-
* Direct product SKU references from the brand
|
|
203
|
+
* Direct product SKU references from the brand's product catalog
|
|
509
204
|
*/
|
|
510
205
|
manifest_skus?: string[];
|
|
511
206
|
/**
|
|
512
|
-
* Select products by tags from the brand
|
|
207
|
+
* Select products by tags from the brand's product catalog (e.g., 'organic', 'sauces', 'holiday')
|
|
513
208
|
*/
|
|
514
209
|
manifest_tags?: string[];
|
|
515
210
|
/**
|
|
516
|
-
* Select products from a specific category in the brand
|
|
211
|
+
* Select products from a specific category in the brand's product catalog (e.g., 'beverages/soft-drinks', 'food/sauces')
|
|
517
212
|
*/
|
|
518
213
|
manifest_category?: string;
|
|
519
214
|
/**
|
|
520
|
-
* Natural language query to select products from the brand
|
|
215
|
+
* Natural language query to select products from the brand's catalog (e.g., 'all pasta sauces', 'organic products under $20')
|
|
521
216
|
*/
|
|
522
217
|
manifest_query?: string;
|
|
523
218
|
[k: string]: unknown | undefined;
|
|
@@ -686,6 +381,10 @@ export interface MediaBuyFeatures {
|
|
|
686
381
|
* Supports sync_event_sources and log_event tasks for conversion event tracking
|
|
687
382
|
*/
|
|
688
383
|
conversion_tracking?: boolean;
|
|
384
|
+
/**
|
|
385
|
+
* Supports sync_audiences task and audience_include/audience_exclude in targeting overlays for first-party CRM audience management
|
|
386
|
+
*/
|
|
387
|
+
audience_targeting?: boolean;
|
|
689
388
|
[k: string]: boolean | undefined;
|
|
690
389
|
}
|
|
691
390
|
/**
|
|
@@ -1012,7 +711,7 @@ export interface Product {
|
|
|
1012
711
|
[k: string]: unknown | undefined;
|
|
1013
712
|
};
|
|
1014
713
|
/**
|
|
1015
|
-
* When the buyer provides a
|
|
714
|
+
* When the buyer provides a brand with product_catalog, indicates which of the buyer's catalog items are eligible for this product. Enables buyers to make informed product_selector choices in create_media_buy. Only present for products where catalog matching is relevant (e.g. sponsored product listings on retail media). Sellers SHOULD include at least one of matched_gtins or matched_skus.
|
|
1016
715
|
*/
|
|
1017
716
|
catalog_match?: {
|
|
1018
717
|
/**
|
|
@@ -2058,6 +1757,10 @@ export interface PaginationResponse {
|
|
|
2058
1757
|
/**
|
|
2059
1758
|
* Filter by format type (technical categories with distinct requirements)
|
|
2060
1759
|
*/
|
|
1760
|
+
export type AssetContentType = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'promoted_offerings' | 'url' | 'webhook';
|
|
1761
|
+
/**
|
|
1762
|
+
* Filter to formats that meet at least this WCAG conformance level (A < AA < AAA)
|
|
1763
|
+
*/
|
|
2061
1764
|
export type WCAGLevel = 'A' | 'AA' | 'AAA';
|
|
2062
1765
|
/**
|
|
2063
1766
|
* Request parameters for discovering supported creative formats
|
|
@@ -2232,7 +1935,7 @@ export interface Format {
|
|
|
2232
1935
|
*/
|
|
2233
1936
|
supported_macros?: (UniversalMacro | string)[];
|
|
2234
1937
|
/**
|
|
2235
|
-
* For generative formats: array of format IDs that this format can generate. When a format accepts inputs like
|
|
1938
|
+
* For generative formats: array of format IDs that this format can generate. When a format accepts inputs like brand context and message, this specifies what concrete output formats can be produced (e.g., a generative banner format might output standard image banner formats).
|
|
2236
1939
|
*/
|
|
2237
1940
|
output_format_ids?: FormatID1[];
|
|
2238
1941
|
/**
|
|
@@ -2520,17 +2223,13 @@ export type DAASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'third
|
|
|
2520
2223
|
*/
|
|
2521
2224
|
export type DAASTVersion1 = '1.0' | '1.1';
|
|
2522
2225
|
/**
|
|
2523
|
-
* Brand
|
|
2226
|
+
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
2524
2227
|
*/
|
|
2525
2228
|
export type URLAssetType = 'clickthrough' | 'tracker_pixel' | 'tracker_script';
|
|
2526
2229
|
/**
|
|
2527
2230
|
* For generative creatives: set to 'approved' to finalize, 'rejected' to request regeneration with updated assets/message. Omit for non-generative creatives (system will set based on processing state).
|
|
2528
2231
|
*/
|
|
2529
2232
|
export type CreativeStatus = 'processing' | 'approved' | 'rejected' | 'pending_review' | 'archived';
|
|
2530
|
-
/**
|
|
2531
|
-
* 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.
|
|
2532
|
-
*/
|
|
2533
|
-
export type BrandManifestReference1 = BrandManifest | string;
|
|
2534
2233
|
/**
|
|
2535
2234
|
* Campaign start timing: 'asap' or ISO 8601 date-time
|
|
2536
2235
|
*/
|
|
@@ -2572,7 +2271,7 @@ export interface CreateMediaBuyRequest {
|
|
|
2572
2271
|
* Array of package configurations. Required when not using proposal_id. When executing a proposal, this can be omitted and packages will be derived from the proposal's allocations.
|
|
2573
2272
|
*/
|
|
2574
2273
|
packages?: PackageRequest[];
|
|
2575
|
-
|
|
2274
|
+
brand: BrandReference1;
|
|
2576
2275
|
/**
|
|
2577
2276
|
* Purchase order number for tracking
|
|
2578
2277
|
*/
|
|
@@ -2858,6 +2557,18 @@ export interface TargetingOverlay {
|
|
|
2858
2557
|
* AXE segment ID to exclude from targeting
|
|
2859
2558
|
*/
|
|
2860
2559
|
axe_exclude_segment?: string;
|
|
2560
|
+
/**
|
|
2561
|
+
* Restrict delivery to members of these first-party CRM audiences. Only users present in the uploaded lists are eligible. References audience_id values from sync_audiences on the same seller account — audience IDs are not portable across sellers. Not for lookalike expansion — express that intent in the campaign brief. Seller must declare support in get_adcp_capabilities.
|
|
2562
|
+
*
|
|
2563
|
+
* @minItems 1
|
|
2564
|
+
*/
|
|
2565
|
+
audience_include?: [string, ...string[]];
|
|
2566
|
+
/**
|
|
2567
|
+
* Suppress delivery to members of these first-party CRM audiences. Matched users are excluded regardless of other targeting. References audience_id values from sync_audiences on the same seller account — audience IDs are not portable across sellers. Seller must declare support in get_adcp_capabilities.
|
|
2568
|
+
*
|
|
2569
|
+
* @minItems 1
|
|
2570
|
+
*/
|
|
2571
|
+
audience_exclude?: [string, ...string[]];
|
|
2861
2572
|
frequency_cap?: FrequencyCap;
|
|
2862
2573
|
property_list?: PropertyListReference;
|
|
2863
2574
|
/**
|
|
@@ -3277,10 +2988,10 @@ export interface JavaScriptAsset {
|
|
|
3277
2988
|
[k: string]: unknown | undefined;
|
|
3278
2989
|
}
|
|
3279
2990
|
/**
|
|
3280
|
-
* Complete offering specification combining brand
|
|
2991
|
+
* Complete offering specification combining brand reference, product selectors, and optional SI agent endpoint. Provides all context needed for creative generation and/or conversational experiences about what is being promoted. When si_agent_url is present, hosts can connect users to conversational experiences about any of the offerings.
|
|
3281
2992
|
*/
|
|
3282
2993
|
export interface PromotedOfferings {
|
|
3283
|
-
|
|
2994
|
+
brand: BrandReference;
|
|
3284
2995
|
/**
|
|
3285
2996
|
* MCP endpoint URL for the brand's SI agent. When present, hosts can connect users to conversational experiences about any of the offerings. The agent handles si_get_offering lookups and full conversations.
|
|
3286
2997
|
*/
|
|
@@ -3291,7 +3002,7 @@ export interface PromotedOfferings {
|
|
|
3291
3002
|
*/
|
|
3292
3003
|
offerings?: Offering[];
|
|
3293
3004
|
/**
|
|
3294
|
-
* Selectors to choose specific assets from the brand
|
|
3005
|
+
* Selectors to choose specific assets from the brand's asset library
|
|
3295
3006
|
*/
|
|
3296
3007
|
asset_selectors?: {
|
|
3297
3008
|
/**
|
|
@@ -3311,7 +3022,7 @@ export interface PromotedOfferings {
|
|
|
3311
3022
|
[k: string]: unknown | undefined;
|
|
3312
3023
|
}
|
|
3313
3024
|
/**
|
|
3314
|
-
*
|
|
3025
|
+
* Brand reference. Resolved to full brand identity (logos, colors, tone, assets) at execution time for creative generation.
|
|
3315
3026
|
*/
|
|
3316
3027
|
export interface Offering {
|
|
3317
3028
|
/**
|
|
@@ -3382,6 +3093,16 @@ export interface URLAsset {
|
|
|
3382
3093
|
description?: string;
|
|
3383
3094
|
[k: string]: unknown | undefined;
|
|
3384
3095
|
}
|
|
3096
|
+
/**
|
|
3097
|
+
* Brand reference for this media buy. Resolved to full brand identity at execution time from brand.json or the registry.
|
|
3098
|
+
*/
|
|
3099
|
+
export interface BrandReference1 {
|
|
3100
|
+
/**
|
|
3101
|
+
* Domain where /.well-known/brand.json is hosted, or the brand's operating domain
|
|
3102
|
+
*/
|
|
3103
|
+
domain: string;
|
|
3104
|
+
brand_id?: BrandID;
|
|
3105
|
+
}
|
|
3385
3106
|
/**
|
|
3386
3107
|
* Optional webhook configuration for automated reporting delivery
|
|
3387
3108
|
*/
|
|
@@ -5124,6 +4845,160 @@ export interface LogEventError {
|
|
|
5124
4845
|
/**
|
|
5125
4846
|
* Standard error structure for task-specific errors and warnings
|
|
5126
4847
|
*/
|
|
4848
|
+
/**
|
|
4849
|
+
* Hashed identifiers for a CRM audience member. All identifiers must be normalized before hashing: emails to lowercase+trim, phone numbers to E.164 format (e.g. +12065551234). At least one identifier is required. Providing multiple identifiers for the same person improves match rates. Composite identifiers (e.g. hashed first name + last name + zip for Google Customer Match) are not yet standardized — use the ext field for platform-specific extensions.
|
|
4850
|
+
*/
|
|
4851
|
+
export type AudienceMember = {
|
|
4852
|
+
[k: string]: unknown | undefined;
|
|
4853
|
+
} & {
|
|
4854
|
+
/**
|
|
4855
|
+
* SHA-256 hash of lowercase, trimmed email address.
|
|
4856
|
+
*/
|
|
4857
|
+
hashed_email?: string;
|
|
4858
|
+
/**
|
|
4859
|
+
* SHA-256 hash of E.164-formatted phone number (e.g. +12065551234).
|
|
4860
|
+
*/
|
|
4861
|
+
hashed_phone?: string;
|
|
4862
|
+
/**
|
|
4863
|
+
* Universal ID values (MAIDs, RampID, UID2, etc.) for user matching.
|
|
4864
|
+
*
|
|
4865
|
+
* @minItems 1
|
|
4866
|
+
*/
|
|
4867
|
+
uids?: [
|
|
4868
|
+
{
|
|
4869
|
+
type: UIDType;
|
|
4870
|
+
/**
|
|
4871
|
+
* Universal ID value
|
|
4872
|
+
*/
|
|
4873
|
+
value: string;
|
|
4874
|
+
[k: string]: unknown | undefined;
|
|
4875
|
+
},
|
|
4876
|
+
...{
|
|
4877
|
+
type: UIDType;
|
|
4878
|
+
/**
|
|
4879
|
+
* Universal ID value
|
|
4880
|
+
*/
|
|
4881
|
+
value: string;
|
|
4882
|
+
[k: string]: unknown | undefined;
|
|
4883
|
+
}[]
|
|
4884
|
+
];
|
|
4885
|
+
ext?: ExtensionObject;
|
|
4886
|
+
[k: string]: unknown | undefined;
|
|
4887
|
+
};
|
|
4888
|
+
/**
|
|
4889
|
+
* Universal ID type
|
|
4890
|
+
*/
|
|
4891
|
+
export interface SyncAudiencesRequest {
|
|
4892
|
+
/**
|
|
4893
|
+
* Account to manage audiences for
|
|
4894
|
+
*/
|
|
4895
|
+
account_id: string;
|
|
4896
|
+
/**
|
|
4897
|
+
* Audiences to sync (create or update). When omitted, the call is discovery-only and returns all existing audiences on the account without modification.
|
|
4898
|
+
*/
|
|
4899
|
+
audiences?: {
|
|
4900
|
+
/**
|
|
4901
|
+
* Buyer's identifier for this audience. Used to reference the audience in targeting overlays.
|
|
4902
|
+
*/
|
|
4903
|
+
audience_id: string;
|
|
4904
|
+
/**
|
|
4905
|
+
* Human-readable name for this audience
|
|
4906
|
+
*/
|
|
4907
|
+
name?: string;
|
|
4908
|
+
/**
|
|
4909
|
+
* Members to add to this audience. Hashed before sending — normalize emails to lowercase+trim, phones to E.164.
|
|
4910
|
+
*/
|
|
4911
|
+
add?: AudienceMember[];
|
|
4912
|
+
/**
|
|
4913
|
+
* Members to remove from this audience. If the same identifier appears in both add and remove in a single request, remove takes precedence.
|
|
4914
|
+
*/
|
|
4915
|
+
remove?: AudienceMember[];
|
|
4916
|
+
/**
|
|
4917
|
+
* When true, delete this audience from the account entirely. All other fields on this audience object are ignored. Use this to delete a specific audience without affecting others.
|
|
4918
|
+
*/
|
|
4919
|
+
delete?: boolean;
|
|
4920
|
+
/**
|
|
4921
|
+
* GDPR lawful basis for processing this audience list. Informational — not validated by the protocol, but required by some sellers operating in regulated markets (e.g. EU). When omitted, the buyer asserts they have a lawful basis appropriate to their jurisdiction.
|
|
4922
|
+
*/
|
|
4923
|
+
consent_basis?: 'consent' | 'legitimate_interest' | 'contract' | 'legal_obligation';
|
|
4924
|
+
}[];
|
|
4925
|
+
/**
|
|
4926
|
+
* When true, buyer-managed audiences on the account not included in this sync will be removed. Does not affect seller-managed audiences. Do not combine with an omitted audiences array or all buyer-managed audiences will be deleted.
|
|
4927
|
+
*/
|
|
4928
|
+
delete_missing?: boolean;
|
|
4929
|
+
context?: ContextObject;
|
|
4930
|
+
ext?: ExtensionObject;
|
|
4931
|
+
}
|
|
4932
|
+
/**
|
|
4933
|
+
* Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.
|
|
4934
|
+
*/
|
|
4935
|
+
/**
|
|
4936
|
+
* Response from audience sync operation. Returns either per-audience results OR operation-level errors.
|
|
4937
|
+
*/
|
|
4938
|
+
export type SyncAudiencesResponse = SyncAudiencesSuccess | SyncAudiencesError;
|
|
4939
|
+
/**
|
|
4940
|
+
* Success response - sync operation processed audiences
|
|
4941
|
+
*/
|
|
4942
|
+
export interface SyncAudiencesSuccess {
|
|
4943
|
+
/**
|
|
4944
|
+
* Results for each audience on the account
|
|
4945
|
+
*/
|
|
4946
|
+
audiences: {
|
|
4947
|
+
/**
|
|
4948
|
+
* Audience ID from the request (buyer's identifier)
|
|
4949
|
+
*/
|
|
4950
|
+
audience_id: string;
|
|
4951
|
+
/**
|
|
4952
|
+
* Name of the audience
|
|
4953
|
+
*/
|
|
4954
|
+
name?: string;
|
|
4955
|
+
/**
|
|
4956
|
+
* Seller-assigned identifier for this audience in their ad platform
|
|
4957
|
+
*/
|
|
4958
|
+
seller_id?: string;
|
|
4959
|
+
/**
|
|
4960
|
+
* Action taken for this audience. 'status' is present when action is created, updated, or unchanged. 'status' is absent when action is deleted or failed.
|
|
4961
|
+
*/
|
|
4962
|
+
action: 'created' | 'updated' | 'unchanged' | 'deleted' | 'failed';
|
|
4963
|
+
/**
|
|
4964
|
+
* Matching status. Present when action is created, updated, or unchanged; absent when action is deleted or failed. 'processing': platform is still matching members against its user base. 'ready': audience is available for targeting, matched_count is populated. 'too_small': matched audience is below the platform's minimum size — add more members and re-sync.
|
|
4965
|
+
*/
|
|
4966
|
+
status?: 'processing' | 'ready' | 'too_small';
|
|
4967
|
+
/**
|
|
4968
|
+
* Number of members submitted in this sync operation (delta, not cumulative). In discovery-only calls (no audiences array), this is 0.
|
|
4969
|
+
*/
|
|
4970
|
+
uploaded_count?: number;
|
|
4971
|
+
/**
|
|
4972
|
+
* Total members matched to platform users across all syncs (cumulative, not just this call). Populated when status is 'ready'.
|
|
4973
|
+
*/
|
|
4974
|
+
matched_count?: number;
|
|
4975
|
+
/**
|
|
4976
|
+
* ISO 8601 timestamp of when the most recent sync operation was accepted by the platform. Useful for agents reasoning about audience freshness. Omitted if the seller does not track this.
|
|
4977
|
+
*/
|
|
4978
|
+
last_synced_at?: string;
|
|
4979
|
+
/**
|
|
4980
|
+
* Minimum matched audience size required for targeting on this platform. Populated when status is 'too_small'. Helps agents know how many more members are needed.
|
|
4981
|
+
*/
|
|
4982
|
+
minimum_size?: number;
|
|
4983
|
+
/**
|
|
4984
|
+
* Errors for this audience (only present when action='failed')
|
|
4985
|
+
*/
|
|
4986
|
+
errors?: Error[];
|
|
4987
|
+
}[];
|
|
4988
|
+
context?: ContextObject;
|
|
4989
|
+
ext?: ExtensionObject;
|
|
4990
|
+
}
|
|
4991
|
+
/**
|
|
4992
|
+
* Standard error structure for task-specific errors and warnings
|
|
4993
|
+
*/
|
|
4994
|
+
export interface SyncAudiencesError {
|
|
4995
|
+
/**
|
|
4996
|
+
* Operation-level errors that prevented processing
|
|
4997
|
+
*/
|
|
4998
|
+
errors: Error[];
|
|
4999
|
+
context?: ContextObject;
|
|
5000
|
+
ext?: ExtensionObject;
|
|
5001
|
+
}
|
|
5127
5002
|
/**
|
|
5128
5003
|
* VAST (Video Ad Serving Template) tag for third-party video ad serving
|
|
5129
5004
|
*/
|
|
@@ -5150,7 +5025,7 @@ export interface BuildCreativeRequest {
|
|
|
5150
5025
|
message?: string;
|
|
5151
5026
|
creative_manifest?: CreativeManifest;
|
|
5152
5027
|
target_format_id: FormatID1;
|
|
5153
|
-
|
|
5028
|
+
brand?: BrandReference1;
|
|
5154
5029
|
creative_brief?: CreativeBriefReference;
|
|
5155
5030
|
context?: ContextObject;
|
|
5156
5031
|
ext?: ExtensionObject;
|
|
@@ -6096,7 +5971,7 @@ export interface DeliveryMetrics1 {
|
|
|
6096
5971
|
[k: string]: unknown | undefined;
|
|
6097
5972
|
}
|
|
6098
5973
|
/**
|
|
6099
|
-
* The rendered creative manifest for this variant — the actual output that was served, not the input assets. Contains format_id and the resolved assets (specific headline, image, video, etc. the platform selected or generated). For Tier 2, shows which asset combination was picked. For Tier 3, contains the generated assets which may differ entirely from the input brand
|
|
5974
|
+
* The rendered creative manifest for this variant — the actual output that was served, not the input assets. Contains format_id and the resolved assets (specific headline, image, video, etc. the platform selected or generated). For Tier 2, shows which asset combination was picked. For Tier 3, contains the generated assets which may differ entirely from the input brand identity. Pass to preview_creative to re-render.
|
|
6100
5975
|
*/
|
|
6101
5976
|
export interface Identifier {
|
|
6102
5977
|
type: PropertyIdentifierTypes;
|
|
@@ -6443,7 +6318,7 @@ export type BasePropertySource = PublisherTagsSource | PublisherPropertyIDsSourc
|
|
|
6443
6318
|
*/
|
|
6444
6319
|
export type PropertyType = 'website' | 'mobile_app' | 'ctv_app' | 'desktop_app' | 'dooh' | 'podcast' | 'radio' | 'streaming_audio';
|
|
6445
6320
|
/**
|
|
6446
|
-
*
|
|
6321
|
+
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
6447
6322
|
*/
|
|
6448
6323
|
export interface CreatePropertyListRequest {
|
|
6449
6324
|
/**
|
|
@@ -6459,7 +6334,7 @@ export interface CreatePropertyListRequest {
|
|
|
6459
6334
|
*/
|
|
6460
6335
|
base_properties?: BasePropertySource[];
|
|
6461
6336
|
filters?: PropertyListFilters;
|
|
6462
|
-
|
|
6337
|
+
brand?: BrandReference;
|
|
6463
6338
|
context?: ContextObject;
|
|
6464
6339
|
ext?: ExtensionObject;
|
|
6465
6340
|
}
|
|
@@ -6579,7 +6454,7 @@ export interface FeatureRequirement {
|
|
|
6579
6454
|
if_not_covered?: 'exclude' | 'include';
|
|
6580
6455
|
}
|
|
6581
6456
|
/**
|
|
6582
|
-
* Brand
|
|
6457
|
+
* Brand reference. When provided, the agent automatically applies appropriate rules based on brand characteristics (industry, target_audience, etc.). Resolved at execution time.
|
|
6583
6458
|
*/
|
|
6584
6459
|
/**
|
|
6585
6460
|
* A source of properties for a property list. Supports three selection patterns: publisher with tags, publisher with property IDs, or direct identifiers.
|
|
@@ -6617,7 +6492,7 @@ export interface PropertyList {
|
|
|
6617
6492
|
*/
|
|
6618
6493
|
base_properties?: BasePropertySource[];
|
|
6619
6494
|
filters?: PropertyListFilters;
|
|
6620
|
-
|
|
6495
|
+
brand?: BrandReference;
|
|
6621
6496
|
/**
|
|
6622
6497
|
* URL to receive notifications when the resolved list changes
|
|
6623
6498
|
*/
|
|
@@ -6663,7 +6538,7 @@ export interface UpdatePropertyListRequest {
|
|
|
6663
6538
|
*/
|
|
6664
6539
|
base_properties?: BasePropertySource[];
|
|
6665
6540
|
filters?: PropertyListFilters;
|
|
6666
|
-
|
|
6541
|
+
brand?: BrandReference;
|
|
6667
6542
|
/**
|
|
6668
6543
|
* Update the webhook URL for list change notifications (set to empty string to remove)
|
|
6669
6544
|
*/
|
|
@@ -8738,6 +8613,38 @@ export interface GetAdCPCapabilitiesResponse {
|
|
|
8738
8613
|
* Whether seller supports language targeting (ISO 639-1 codes)
|
|
8739
8614
|
*/
|
|
8740
8615
|
language?: boolean;
|
|
8616
|
+
/**
|
|
8617
|
+
* Whether seller supports audience_include in targeting overlays (requires features.audience_targeting)
|
|
8618
|
+
*/
|
|
8619
|
+
audience_include?: boolean;
|
|
8620
|
+
/**
|
|
8621
|
+
* Whether seller supports audience_exclude in targeting overlays (requires features.audience_targeting)
|
|
8622
|
+
*/
|
|
8623
|
+
audience_exclude?: boolean;
|
|
8624
|
+
};
|
|
8625
|
+
};
|
|
8626
|
+
/**
|
|
8627
|
+
* Audience targeting capabilities. Only present when features.audience_targeting is true.
|
|
8628
|
+
*/
|
|
8629
|
+
audience_targeting?: {
|
|
8630
|
+
/**
|
|
8631
|
+
* Hashed PII types accepted for audience matching. Buyers should only send identifiers the seller supports.
|
|
8632
|
+
*/
|
|
8633
|
+
supported_identifier_types: ('hashed_email' | 'hashed_phone')[];
|
|
8634
|
+
/**
|
|
8635
|
+
* Universal ID types accepted for audience matching (MAIDs, RampID, UID2, etc.). MAID support varies significantly by platform — check this field before sending uids with type: maid.
|
|
8636
|
+
*/
|
|
8637
|
+
supported_uid_types?: UIDType[];
|
|
8638
|
+
/**
|
|
8639
|
+
* Minimum matched audience size required for targeting. Audiences below this threshold will have status: too_small. Varies by platform (100–1000 is typical).
|
|
8640
|
+
*/
|
|
8641
|
+
minimum_audience_size: number;
|
|
8642
|
+
/**
|
|
8643
|
+
* Expected matching latency range in hours after upload. Use to calibrate polling cadence and set appropriate expectations before configuring push_notification_config.
|
|
8644
|
+
*/
|
|
8645
|
+
matching_latency_hours?: {
|
|
8646
|
+
min?: number;
|
|
8647
|
+
max?: number;
|
|
8741
8648
|
};
|
|
8742
8649
|
};
|
|
8743
8650
|
/**
|
|
@@ -8891,9 +8798,9 @@ export interface GetAdCPCapabilitiesResponse {
|
|
|
8891
8798
|
};
|
|
8892
8799
|
capabilities: SICapabilities;
|
|
8893
8800
|
/**
|
|
8894
|
-
* URL to brand
|
|
8801
|
+
* URL to brand.json with colors, fonts, logos, tone
|
|
8895
8802
|
*/
|
|
8896
|
-
|
|
8803
|
+
brand_url?: string;
|
|
8897
8804
|
};
|
|
8898
8805
|
/**
|
|
8899
8806
|
* Creative protocol capabilities. Only present if creative is in supported_protocols.
|