@adcp/client 3.8.0 → 3.9.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.
Files changed (86) hide show
  1. package/bin/adcp.js +536 -20
  2. package/dist/lib/agents/index.generated.d.ts +9 -1
  3. package/dist/lib/agents/index.generated.d.ts.map +1 -1
  4. package/dist/lib/agents/index.generated.js +12 -0
  5. package/dist/lib/agents/index.generated.js.map +1 -1
  6. package/dist/lib/auth/index.d.ts +1 -0
  7. package/dist/lib/auth/index.d.ts.map +1 -1
  8. package/dist/lib/auth/index.js +16 -0
  9. package/dist/lib/auth/index.js.map +1 -1
  10. package/dist/lib/auth/oauth/CLIFlowHandler.d.ts +61 -0
  11. package/dist/lib/auth/oauth/CLIFlowHandler.d.ts.map +1 -0
  12. package/dist/lib/auth/oauth/CLIFlowHandler.js +287 -0
  13. package/dist/lib/auth/oauth/CLIFlowHandler.js.map +1 -0
  14. package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts +126 -0
  15. package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts.map +1 -0
  16. package/dist/lib/auth/oauth/MCPOAuthProvider.js +236 -0
  17. package/dist/lib/auth/oauth/MCPOAuthProvider.js.map +1 -0
  18. package/dist/lib/auth/oauth/index.d.ts +104 -0
  19. package/dist/lib/auth/oauth/index.d.ts.map +1 -0
  20. package/dist/lib/auth/oauth/index.js +168 -0
  21. package/dist/lib/auth/oauth/index.js.map +1 -0
  22. package/dist/lib/auth/oauth/types.d.ts +114 -0
  23. package/dist/lib/auth/oauth/types.d.ts.map +1 -0
  24. package/dist/lib/auth/oauth/types.js +104 -0
  25. package/dist/lib/auth/oauth/types.js.map +1 -0
  26. package/dist/lib/core/TaskExecutor.d.ts +7 -0
  27. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  28. package/dist/lib/core/TaskExecutor.js +46 -10
  29. package/dist/lib/core/TaskExecutor.js.map +1 -1
  30. package/dist/lib/index.d.ts +1 -0
  31. package/dist/lib/index.d.ts.map +1 -1
  32. package/dist/lib/index.js +11 -3
  33. package/dist/lib/index.js.map +1 -1
  34. package/dist/lib/protocols/index.d.ts +2 -1
  35. package/dist/lib/protocols/index.d.ts.map +1 -1
  36. package/dist/lib/protocols/index.js +4 -1
  37. package/dist/lib/protocols/index.js.map +1 -1
  38. package/dist/lib/protocols/mcp.d.ts +80 -0
  39. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  40. package/dist/lib/protocols/mcp.js +158 -0
  41. package/dist/lib/protocols/mcp.js.map +1 -1
  42. package/dist/lib/testing/agent-tester.d.ts +1 -1
  43. package/dist/lib/testing/agent-tester.d.ts.map +1 -1
  44. package/dist/lib/testing/agent-tester.js +39 -1
  45. package/dist/lib/testing/agent-tester.js.map +1 -1
  46. package/dist/lib/testing/index.d.ts +1 -1
  47. package/dist/lib/testing/index.d.ts.map +1 -1
  48. package/dist/lib/testing/index.js +11 -1
  49. package/dist/lib/testing/index.js.map +1 -1
  50. package/dist/lib/testing/scenarios/capabilities.d.ts +27 -0
  51. package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -0
  52. package/dist/lib/testing/scenarios/capabilities.js +250 -0
  53. package/dist/lib/testing/scenarios/capabilities.js.map +1 -0
  54. package/dist/lib/testing/scenarios/governance.d.ts +35 -0
  55. package/dist/lib/testing/scenarios/governance.d.ts.map +1 -0
  56. package/dist/lib/testing/scenarios/governance.js +428 -0
  57. package/dist/lib/testing/scenarios/governance.js.map +1 -0
  58. package/dist/lib/testing/scenarios/index.d.ts +3 -0
  59. package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
  60. package/dist/lib/testing/scenarios/index.js +15 -1
  61. package/dist/lib/testing/scenarios/index.js.map +1 -1
  62. package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts +34 -0
  63. package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts.map +1 -0
  64. package/dist/lib/testing/scenarios/sponsored-intelligence.js +318 -0
  65. package/dist/lib/testing/scenarios/sponsored-intelligence.js.map +1 -0
  66. package/dist/lib/testing/types.d.ts +9 -1
  67. package/dist/lib/testing/types.d.ts.map +1 -1
  68. package/dist/lib/types/adcp.d.ts +47 -1
  69. package/dist/lib/types/adcp.d.ts.map +1 -1
  70. package/dist/lib/types/core.generated.d.ts +393 -164
  71. package/dist/lib/types/core.generated.d.ts.map +1 -1
  72. package/dist/lib/types/core.generated.js +2 -2
  73. package/dist/lib/types/core.generated.js.map +1 -1
  74. package/dist/lib/types/schemas.generated.d.ts +1275 -845
  75. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  76. package/dist/lib/types/schemas.generated.js +300 -198
  77. package/dist/lib/types/schemas.generated.js.map +1 -1
  78. package/dist/lib/types/tools.generated.d.ts +461 -167
  79. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  80. package/dist/lib/types/tools.generated.js +1 -1
  81. package/dist/lib/types/tools.generated.js.map +1 -1
  82. package/dist/lib/version.d.ts +5 -5
  83. package/dist/lib/version.d.ts.map +1 -1
  84. package/dist/lib/version.js +5 -5
  85. package/dist/lib/version.js.map +1 -1
  86. package/package.json +2 -2
@@ -26,6 +26,7 @@ export interface MediaBuy {
26
26
  * Buyer's reference identifier for this media buy
27
27
  */
28
28
  buyer_ref?: string;
29
+ account?: Account;
29
30
  status: MediaBuyStatus;
30
31
  /**
31
32
  * Description of advertiser and what is being promoted
@@ -53,6 +54,53 @@ export interface MediaBuy {
53
54
  updated_at?: string;
54
55
  ext?: ExtensionObject;
55
56
  }
57
+ /**
58
+ * Account billed for this media buy
59
+ */
60
+ export interface Account {
61
+ /**
62
+ * Unique identifier for this account
63
+ */
64
+ account_id: string;
65
+ /**
66
+ * Human-readable account name (e.g., 'Coke', 'Coke c/o Publicis')
67
+ */
68
+ name: string;
69
+ /**
70
+ * The advertiser whose rates apply to this account
71
+ */
72
+ advertiser?: string;
73
+ /**
74
+ * Optional intermediary who receives invoices on behalf of the advertiser (e.g., agency)
75
+ */
76
+ billing_proxy?: string;
77
+ /**
78
+ * Account status
79
+ */
80
+ status: 'active' | 'suspended' | 'closed';
81
+ /**
82
+ * Identifier for the rate card applied to this account
83
+ */
84
+ rate_card?: string;
85
+ /**
86
+ * Payment terms (e.g., 'net_30', 'prepay')
87
+ */
88
+ payment_terms?: string;
89
+ /**
90
+ * Maximum outstanding balance allowed
91
+ */
92
+ credit_limit?: {
93
+ amount: number;
94
+ currency: string;
95
+ };
96
+ ext?: ExtensionObject;
97
+ }
98
+ /**
99
+ * 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.
100
+ */
101
+ export interface ExtensionObject {
102
+ [k: string]: unknown | undefined;
103
+ }
56
104
  /**
57
105
  * A specific product within a media buy (line item)
58
106
  */
@@ -147,6 +195,7 @@ export interface TargetingOverlay {
147
195
  */
148
196
  axe_exclude_segment?: string;
149
197
  frequency_cap?: FrequencyCap;
198
+ property_list?: PropertyListReference;
150
199
  [k: string]: unknown | undefined;
151
200
  }
152
201
  /**
@@ -159,6 +208,23 @@ export interface FrequencyCap {
159
208
  suppress_minutes: number;
160
209
  [k: string]: unknown | undefined;
161
210
  }
211
+ /**
212
+ * Reference to a property list for targeting specific properties within this product. The package runs on the intersection of the product's publisher_properties and this list. Sellers SHOULD return a validation error if the product has property_targeting_allowed: false.
213
+ */
214
+ export interface PropertyListReference {
215
+ /**
216
+ * URL of the agent managing the property list
217
+ */
218
+ agent_url: string;
219
+ /**
220
+ * Identifier for the property list within the agent
221
+ */
222
+ list_id: string;
223
+ /**
224
+ * JWT or other authorization token for accessing the list. Optional if the list is public or caller has implicit access.
225
+ */
226
+ auth_token?: string;
227
+ }
162
228
  /**
163
229
  * Assignment of a creative asset to a package with optional placement targeting. Used in create_media_buy and update_media_buy requests. Note: sync_creatives does not support placement_ids - use create/update_media_buy for placement-level targeting.
164
230
  */
@@ -205,12 +271,6 @@ export interface FormatID {
205
271
  duration_ms?: number;
206
272
  [k: string]: unknown | undefined;
207
273
  }
208
- /**
209
- * 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.
210
- */
211
- export interface ExtensionObject {
212
- [k: string]: unknown | undefined;
213
- }
214
274
  /**
215
275
  * JavaScript module type
216
276
  */
@@ -438,7 +498,7 @@ export interface ImageAsset {
438
498
  [k: string]: unknown | undefined;
439
499
  }
440
500
  /**
441
- * Video asset with URL and specifications
501
+ * Video asset with URL and technical specifications including audio track properties
442
502
  */
443
503
  export interface VideoAsset {
444
504
  /**
@@ -458,17 +518,97 @@ export interface VideoAsset {
458
518
  */
459
519
  duration_ms?: number;
460
520
  /**
461
- * Video file format (mp4, webm, mov, etc.)
521
+ * File size in bytes
462
522
  */
463
- format?: string;
523
+ file_size_bytes?: number;
464
524
  /**
465
- * Video bitrate in kilobits per second
525
+ * Video container format (mp4, webm, mov, etc.)
466
526
  */
467
- bitrate_kbps?: number;
527
+ container_format?: string;
528
+ /**
529
+ * Video codec used (h264, h265, vp9, av1, prores, etc.)
530
+ */
531
+ video_codec?: string;
532
+ /**
533
+ * Video stream bitrate in kilobits per second
534
+ */
535
+ video_bitrate_kbps?: number;
536
+ /**
537
+ * Frame rate as string to preserve precision (e.g., '23.976', '29.97', '30')
538
+ */
539
+ frame_rate?: string;
540
+ /**
541
+ * Whether the video uses constant (CFR) or variable (VFR) frame rate
542
+ */
543
+ frame_rate_type?: 'constant' | 'variable';
544
+ /**
545
+ * Scan type of the video
546
+ */
547
+ scan_type?: 'progressive' | 'interlaced';
548
+ /**
549
+ * Color space of the video
550
+ */
551
+ color_space?: 'rec709' | 'rec2020' | 'rec2100' | 'srgb' | 'dci_p3';
552
+ /**
553
+ * HDR format if applicable, or 'sdr' for standard dynamic range
554
+ */
555
+ hdr_format?: 'sdr' | 'hdr10' | 'hdr10_plus' | 'hlg' | 'dolby_vision';
556
+ /**
557
+ * Chroma subsampling format
558
+ */
559
+ chroma_subsampling?: '4:2:0' | '4:2:2' | '4:4:4';
560
+ /**
561
+ * Video bit depth
562
+ */
563
+ video_bit_depth?: 8 | 10 | 12;
564
+ /**
565
+ * GOP/keyframe interval in seconds
566
+ */
567
+ gop_interval_seconds?: number;
568
+ /**
569
+ * GOP structure type
570
+ */
571
+ gop_type?: 'closed' | 'open';
572
+ /**
573
+ * Position of moov atom in MP4 container
574
+ */
575
+ moov_atom_position?: 'start' | 'end';
576
+ /**
577
+ * Whether the video contains an audio track
578
+ */
579
+ has_audio?: boolean;
580
+ /**
581
+ * Audio codec used (aac, aac_lc, he_aac, pcm, mp3, ac3, eac3, etc.)
582
+ */
583
+ audio_codec?: string;
584
+ /**
585
+ * Audio sampling rate in Hz (e.g., 44100, 48000)
586
+ */
587
+ audio_sampling_rate_hz?: number;
588
+ /**
589
+ * Audio channel configuration
590
+ */
591
+ audio_channels?: 'mono' | 'stereo' | '5.1' | '7.1';
592
+ /**
593
+ * Audio bit depth
594
+ */
595
+ audio_bit_depth?: 16 | 24 | 32;
596
+ /**
597
+ * Audio bitrate in kilobits per second
598
+ */
599
+ audio_bitrate_kbps?: number;
600
+ /**
601
+ * Integrated loudness in LUFS
602
+ */
603
+ audio_loudness_lufs?: number;
604
+ /**
605
+ * True peak level in dBFS
606
+ */
607
+ audio_true_peak_dbfs?: number;
468
608
  [k: string]: unknown | undefined;
469
609
  }
470
610
  /**
471
- * Audio asset with URL and specifications
611
+ * Audio asset with URL and technical specifications
472
612
  */
473
613
  export interface AudioAsset {
474
614
  /**
@@ -480,13 +620,41 @@ export interface AudioAsset {
480
620
  */
481
621
  duration_ms?: number;
482
622
  /**
483
- * Audio file format (mp3, wav, aac, etc.)
623
+ * File size in bytes
484
624
  */
485
- format?: string;
625
+ file_size_bytes?: number;
486
626
  /**
487
- * Audio bitrate in kilobits per second
627
+ * Audio container/file format (mp3, m4a, aac, wav, ogg, flac, etc.)
628
+ */
629
+ container_format?: string;
630
+ /**
631
+ * Audio codec used (aac, aac_lc, he_aac, pcm, mp3, vorbis, opus, flac, ac3, eac3, etc.)
632
+ */
633
+ codec?: string;
634
+ /**
635
+ * Sampling rate in Hz (e.g., 44100, 48000, 96000)
636
+ */
637
+ sampling_rate_hz?: number;
638
+ /**
639
+ * Channel configuration
640
+ */
641
+ channels?: 'mono' | 'stereo' | '5.1' | '7.1';
642
+ /**
643
+ * Bit depth
644
+ */
645
+ bit_depth?: 16 | 24 | 32;
646
+ /**
647
+ * Bitrate in kilobits per second
488
648
  */
489
649
  bitrate_kbps?: number;
650
+ /**
651
+ * Integrated loudness in LUFS
652
+ */
653
+ loudness_lufs?: number;
654
+ /**
655
+ * True peak level in dBFS
656
+ */
657
+ true_peak_dbfs?: number;
490
658
  [k: string]: unknown | undefined;
491
659
  }
492
660
  /**
@@ -1083,6 +1251,10 @@ export interface Product {
1083
1251
  * Whether this is a custom product
1084
1252
  */
1085
1253
  is_custom?: boolean;
1254
+ /**
1255
+ * Whether buyers can filter this product to a subset of its publisher_properties. When false (default), the product is 'all or nothing' - buyers must accept all properties or the product is excluded from property_list filtering results.
1256
+ */
1257
+ property_targeting_allowed?: boolean;
1086
1258
  /**
1087
1259
  * Explanation of why this product matches the brief (only included when brief is provided)
1088
1260
  */
@@ -1161,33 +1333,35 @@ export interface CPMPricingOption {
1161
1333
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
1162
1334
  */
1163
1335
  floor_price?: number;
1164
- /**
1165
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
1166
- */
1167
- price_guidance?: {
1168
- /**
1169
- * 25th percentile winning price
1170
- */
1171
- p25?: number;
1172
- /**
1173
- * Median winning price
1174
- */
1175
- p50?: number;
1176
- /**
1177
- * 75th percentile winning price
1178
- */
1179
- p75?: number;
1180
- /**
1181
- * 90th percentile winning price
1182
- */
1183
- p90?: number;
1184
- };
1336
+ price_guidance?: PriceGuidance;
1185
1337
  /**
1186
1338
  * Minimum spend requirement per package using this pricing option, in the specified currency
1187
1339
  */
1188
1340
  min_spend_per_package?: number;
1189
1341
  [k: string]: unknown | undefined;
1190
1342
  }
1343
+ /**
1344
+ * Optional pricing guidance for auction-based bidding
1345
+ */
1346
+ export interface PriceGuidance {
1347
+ /**
1348
+ * 25th percentile of recent winning bids
1349
+ */
1350
+ p25?: number;
1351
+ /**
1352
+ * Median of recent winning bids
1353
+ */
1354
+ p50?: number;
1355
+ /**
1356
+ * 75th percentile of recent winning bids
1357
+ */
1358
+ p75?: number;
1359
+ /**
1360
+ * 90th percentile of recent winning bids
1361
+ */
1362
+ p90?: number;
1363
+ [k: string]: unknown | undefined;
1364
+ }
1191
1365
  /**
1192
1366
  * Viewable Cost Per Mille (cost per 1,000 viewable impressions) pricing - MRC viewability standard. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1193
1367
  */
@@ -1212,33 +1386,35 @@ export interface VCPMPricingOption {
1212
1386
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
1213
1387
  */
1214
1388
  floor_price?: number;
1215
- /**
1216
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
1217
- */
1218
- price_guidance?: {
1219
- /**
1220
- * 25th percentile of recent winning bids
1221
- */
1222
- p25?: number;
1223
- /**
1224
- * Median of recent winning bids
1225
- */
1226
- p50?: number;
1227
- /**
1228
- * 75th percentile of recent winning bids
1229
- */
1230
- p75?: number;
1231
- /**
1232
- * 90th percentile of recent winning bids
1233
- */
1234
- p90?: number;
1235
- };
1389
+ price_guidance?: PriceGuidance1;
1236
1390
  /**
1237
1391
  * Minimum spend requirement per package using this pricing option, in the specified currency
1238
1392
  */
1239
1393
  min_spend_per_package?: number;
1240
1394
  [k: string]: unknown | undefined;
1241
1395
  }
1396
+ /**
1397
+ * Optional pricing guidance for auction-based bidding
1398
+ */
1399
+ export interface PriceGuidance1 {
1400
+ /**
1401
+ * 25th percentile of recent winning bids
1402
+ */
1403
+ p25?: number;
1404
+ /**
1405
+ * Median of recent winning bids
1406
+ */
1407
+ p50?: number;
1408
+ /**
1409
+ * 75th percentile of recent winning bids
1410
+ */
1411
+ p75?: number;
1412
+ /**
1413
+ * 90th percentile of recent winning bids
1414
+ */
1415
+ p90?: number;
1416
+ [k: string]: unknown | undefined;
1417
+ }
1242
1418
  /**
1243
1419
  * Cost Per Click pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1244
1420
  */
@@ -1263,33 +1439,35 @@ export interface CPCPricingOption {
1263
1439
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
1264
1440
  */
1265
1441
  floor_price?: number;
1266
- /**
1267
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
1268
- */
1269
- price_guidance?: {
1270
- /**
1271
- * 25th percentile of recent winning bids
1272
- */
1273
- p25?: number;
1274
- /**
1275
- * Median of recent winning bids
1276
- */
1277
- p50?: number;
1278
- /**
1279
- * 75th percentile of recent winning bids
1280
- */
1281
- p75?: number;
1282
- /**
1283
- * 90th percentile of recent winning bids
1284
- */
1285
- p90?: number;
1286
- };
1442
+ price_guidance?: PriceGuidance2;
1287
1443
  /**
1288
1444
  * Minimum spend requirement per package using this pricing option, in the specified currency
1289
1445
  */
1290
1446
  min_spend_per_package?: number;
1291
1447
  [k: string]: unknown | undefined;
1292
1448
  }
1449
+ /**
1450
+ * Optional pricing guidance for auction-based bidding
1451
+ */
1452
+ export interface PriceGuidance2 {
1453
+ /**
1454
+ * 25th percentile of recent winning bids
1455
+ */
1456
+ p25?: number;
1457
+ /**
1458
+ * Median of recent winning bids
1459
+ */
1460
+ p50?: number;
1461
+ /**
1462
+ * 75th percentile of recent winning bids
1463
+ */
1464
+ p75?: number;
1465
+ /**
1466
+ * 90th percentile of recent winning bids
1467
+ */
1468
+ p90?: number;
1469
+ [k: string]: unknown | undefined;
1470
+ }
1293
1471
  /**
1294
1472
  * Cost Per Completed View (100% video/audio completion) pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1295
1473
  */
@@ -1314,33 +1492,35 @@ export interface CPCVPricingOption {
1314
1492
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
1315
1493
  */
1316
1494
  floor_price?: number;
1317
- /**
1318
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
1319
- */
1320
- price_guidance?: {
1321
- /**
1322
- * 25th percentile of recent winning bids
1323
- */
1324
- p25?: number;
1325
- /**
1326
- * Median of recent winning bids
1327
- */
1328
- p50?: number;
1329
- /**
1330
- * 75th percentile of recent winning bids
1331
- */
1332
- p75?: number;
1333
- /**
1334
- * 90th percentile of recent winning bids
1335
- */
1336
- p90?: number;
1337
- };
1495
+ price_guidance?: PriceGuidance3;
1338
1496
  /**
1339
1497
  * Minimum spend requirement per package using this pricing option, in the specified currency
1340
1498
  */
1341
1499
  min_spend_per_package?: number;
1342
1500
  [k: string]: unknown | undefined;
1343
1501
  }
1502
+ /**
1503
+ * Optional pricing guidance for auction-based bidding
1504
+ */
1505
+ export interface PriceGuidance3 {
1506
+ /**
1507
+ * 25th percentile of recent winning bids
1508
+ */
1509
+ p25?: number;
1510
+ /**
1511
+ * Median of recent winning bids
1512
+ */
1513
+ p50?: number;
1514
+ /**
1515
+ * 75th percentile of recent winning bids
1516
+ */
1517
+ p75?: number;
1518
+ /**
1519
+ * 90th percentile of recent winning bids
1520
+ */
1521
+ p90?: number;
1522
+ [k: string]: unknown | undefined;
1523
+ }
1344
1524
  /**
1345
1525
  * Cost Per View (at publisher-defined threshold) pricing for video/audio. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1346
1526
  */
@@ -1365,27 +1545,7 @@ export interface CPVPricingOption {
1365
1545
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
1366
1546
  */
1367
1547
  floor_price?: number;
1368
- /**
1369
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
1370
- */
1371
- price_guidance?: {
1372
- /**
1373
- * 25th percentile of recent winning bids
1374
- */
1375
- p25?: number;
1376
- /**
1377
- * Median of recent winning bids
1378
- */
1379
- p50?: number;
1380
- /**
1381
- * 75th percentile of recent winning bids
1382
- */
1383
- p75?: number;
1384
- /**
1385
- * 90th percentile of recent winning bids
1386
- */
1387
- p90?: number;
1388
- };
1548
+ price_guidance?: PriceGuidance4;
1389
1549
  /**
1390
1550
  * CPV-specific parameters defining the view threshold
1391
1551
  */
@@ -1405,6 +1565,28 @@ export interface CPVPricingOption {
1405
1565
  min_spend_per_package?: number;
1406
1566
  [k: string]: unknown | undefined;
1407
1567
  }
1568
+ /**
1569
+ * Optional pricing guidance for auction-based bidding
1570
+ */
1571
+ export interface PriceGuidance4 {
1572
+ /**
1573
+ * 25th percentile of recent winning bids
1574
+ */
1575
+ p25?: number;
1576
+ /**
1577
+ * Median of recent winning bids
1578
+ */
1579
+ p50?: number;
1580
+ /**
1581
+ * 75th percentile of recent winning bids
1582
+ */
1583
+ p75?: number;
1584
+ /**
1585
+ * 90th percentile of recent winning bids
1586
+ */
1587
+ p90?: number;
1588
+ [k: string]: unknown | undefined;
1589
+ }
1408
1590
  /**
1409
1591
  * Cost Per Point (Gross Rating Point) pricing for TV and audio campaigns. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1410
1592
  */
@@ -1429,27 +1611,7 @@ export interface CPPPricingOption {
1429
1611
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
1430
1612
  */
1431
1613
  floor_price?: number;
1432
- /**
1433
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
1434
- */
1435
- price_guidance?: {
1436
- /**
1437
- * 25th percentile of recent winning bids
1438
- */
1439
- p25?: number;
1440
- /**
1441
- * Median of recent winning bids
1442
- */
1443
- p50?: number;
1444
- /**
1445
- * 75th percentile of recent winning bids
1446
- */
1447
- p75?: number;
1448
- /**
1449
- * 90th percentile of recent winning bids
1450
- */
1451
- p90?: number;
1452
- };
1614
+ price_guidance?: PriceGuidance5;
1453
1615
  /**
1454
1616
  * CPP-specific parameters for demographic targeting
1455
1617
  */
@@ -1470,6 +1632,28 @@ export interface CPPPricingOption {
1470
1632
  min_spend_per_package?: number;
1471
1633
  [k: string]: unknown | undefined;
1472
1634
  }
1635
+ /**
1636
+ * Optional pricing guidance for auction-based bidding
1637
+ */
1638
+ export interface PriceGuidance5 {
1639
+ /**
1640
+ * 25th percentile of recent winning bids
1641
+ */
1642
+ p25?: number;
1643
+ /**
1644
+ * Median of recent winning bids
1645
+ */
1646
+ p50?: number;
1647
+ /**
1648
+ * 75th percentile of recent winning bids
1649
+ */
1650
+ p75?: number;
1651
+ /**
1652
+ * 90th percentile of recent winning bids
1653
+ */
1654
+ p90?: number;
1655
+ [k: string]: unknown | undefined;
1656
+ }
1473
1657
  /**
1474
1658
  * Flat rate pricing for DOOH, sponsorships, and time-based campaigns. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1475
1659
  */
@@ -1494,27 +1678,7 @@ export interface FlatRatePricingOption {
1494
1678
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
1495
1679
  */
1496
1680
  floor_price?: number;
1497
- /**
1498
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
1499
- */
1500
- price_guidance?: {
1501
- /**
1502
- * 25th percentile of recent winning bids
1503
- */
1504
- p25?: number;
1505
- /**
1506
- * Median of recent winning bids
1507
- */
1508
- p50?: number;
1509
- /**
1510
- * 75th percentile of recent winning bids
1511
- */
1512
- p75?: number;
1513
- /**
1514
- * 90th percentile of recent winning bids
1515
- */
1516
- p90?: number;
1517
- };
1681
+ price_guidance?: PriceGuidance6;
1518
1682
  /**
1519
1683
  * Flat rate parameters for DOOH and time-based campaigns
1520
1684
  */
@@ -1555,6 +1719,28 @@ export interface FlatRatePricingOption {
1555
1719
  min_spend_per_package?: number;
1556
1720
  [k: string]: unknown | undefined;
1557
1721
  }
1722
+ /**
1723
+ * Optional pricing guidance for auction-based bidding
1724
+ */
1725
+ export interface PriceGuidance6 {
1726
+ /**
1727
+ * 25th percentile of recent winning bids
1728
+ */
1729
+ p25?: number;
1730
+ /**
1731
+ * Median of recent winning bids
1732
+ */
1733
+ p50?: number;
1734
+ /**
1735
+ * 75th percentile of recent winning bids
1736
+ */
1737
+ p75?: number;
1738
+ /**
1739
+ * 90th percentile of recent winning bids
1740
+ */
1741
+ p90?: number;
1742
+ [k: string]: unknown | undefined;
1743
+ }
1558
1744
  /**
1559
1745
  * Measurement capabilities included with a product
1560
1746
  */
@@ -1708,7 +1894,7 @@ export interface Property {
1708
1894
  */
1709
1895
  tags?: PropertyTag[];
1710
1896
  /**
1711
- * Domain where adagents.json should be checked for authorization validation. Required for list_authorized_properties response. Optional in adagents.json (file location implies domain).
1897
+ * Domain where adagents.json should be checked for authorization validation. Optional in adagents.json (file location implies domain).
1712
1898
  */
1713
1899
  publisher_domain?: string;
1714
1900
  }
@@ -1989,6 +2175,7 @@ export interface CreateMediaBuySuccess {
1989
2175
  * Buyer's reference identifier for this media buy
1990
2176
  */
1991
2177
  buyer_ref: string;
2178
+ account?: Account;
1992
2179
  /**
1993
2180
  * ISO 8601 timestamp for creative upload deadline
1994
2181
  */
@@ -2002,7 +2189,7 @@ export interface CreateMediaBuySuccess {
2002
2189
  [k: string]: unknown | undefined;
2003
2190
  }
2004
2191
  /**
2005
- * A specific product within a media buy (line item)
2192
+ * Account billed for this media buy. Includes advertiser, billing proxy (if any), and rate card applied.
2006
2193
  */
2007
2194
  export interface CreateMediaBuyError {
2008
2195
  /**
@@ -2161,6 +2348,7 @@ export interface SyncCreativesSuccess {
2161
2348
  * Creative ID from the request
2162
2349
  */
2163
2350
  creative_id: string;
2351
+ account?: Account1;
2164
2352
  action: CreativeAction;
2165
2353
  /**
2166
2354
  * Platform-specific ID assigned to the creative
@@ -2202,6 +2390,47 @@ export interface SyncCreativesSuccess {
2202
2390
  ext?: ExtensionObject;
2203
2391
  [k: string]: unknown | undefined;
2204
2392
  }
2393
+ /**
2394
+ * Account that owns this creative
2395
+ */
2396
+ export interface Account1 {
2397
+ /**
2398
+ * Unique identifier for this account
2399
+ */
2400
+ account_id: string;
2401
+ /**
2402
+ * Human-readable account name (e.g., 'Coke', 'Coke c/o Publicis')
2403
+ */
2404
+ name: string;
2405
+ /**
2406
+ * The advertiser whose rates apply to this account
2407
+ */
2408
+ advertiser?: string;
2409
+ /**
2410
+ * Optional intermediary who receives invoices on behalf of the advertiser (e.g., agency)
2411
+ */
2412
+ billing_proxy?: string;
2413
+ /**
2414
+ * Account status
2415
+ */
2416
+ status: 'active' | 'suspended' | 'closed';
2417
+ /**
2418
+ * Identifier for the rate card applied to this account
2419
+ */
2420
+ rate_card?: string;
2421
+ /**
2422
+ * Payment terms (e.g., 'net_30', 'prepay')
2423
+ */
2424
+ payment_terms?: string;
2425
+ /**
2426
+ * Maximum outstanding balance allowed
2427
+ */
2428
+ credit_limit?: {
2429
+ amount: number;
2430
+ currency: string;
2431
+ };
2432
+ ext?: ExtensionObject;
2433
+ }
2205
2434
  /**
2206
2435
  * Error response - operation failed completely, no creatives were processed
2207
2436
  */