@adcp/client 3.21.0 → 3.22.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.
@@ -130,13 +130,11 @@ export interface Account {
130
130
  */
131
131
  sandbox?: boolean;
132
132
  ext?: ExtensionObject;
133
- [k: string]: unknown | undefined;
134
133
  }
135
134
  /**
136
135
  * 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.
137
136
  */
138
137
  export interface ExtensionObject {
139
- [k: string]: unknown | undefined;
140
138
  }
141
139
  /**
142
140
  * A specific product within a media buy (line item)
@@ -186,7 +184,6 @@ export interface Package {
186
184
  */
187
185
  paused?: boolean;
188
186
  ext?: ExtensionObject;
189
- [k: string]: unknown | undefined;
190
187
  }
191
188
  /**
192
189
  * Optional restriction overlays for media buys. Most targeting should be expressed in the brief and handled by the publisher. These fields are for functional restrictions: geographic (RCT testing, regulatory compliance), age verification (alcohol, gambling), device platform (app compatibility), and language (localization).
@@ -194,134 +191,64 @@ export interface Package {
194
191
  export interface TargetingOverlay {
195
192
  /**
196
193
  * Restrict delivery to specific countries. ISO 3166-1 alpha-2 codes (e.g., 'US', 'GB', 'DE').
197
- *
198
- * @minItems 1
199
194
  */
200
- geo_countries?: [string, ...string[]];
195
+ geo_countries?: string[];
201
196
  /**
202
197
  * Exclude specific countries from delivery. ISO 3166-1 alpha-2 codes (e.g., 'US', 'GB', 'DE').
203
- *
204
- * @minItems 1
205
198
  */
206
- geo_countries_exclude?: [string, ...string[]];
199
+ geo_countries_exclude?: string[];
207
200
  /**
208
201
  * Restrict delivery to specific regions/states. ISO 3166-2 subdivision codes (e.g., 'US-CA', 'GB-SCT').
209
- *
210
- * @minItems 1
211
202
  */
212
- geo_regions?: [string, ...string[]];
203
+ geo_regions?: string[];
213
204
  /**
214
205
  * Exclude specific regions/states from delivery. ISO 3166-2 subdivision codes (e.g., 'US-CA', 'GB-SCT').
215
- *
216
- * @minItems 1
217
206
  */
218
- geo_regions_exclude?: [string, ...string[]];
207
+ geo_regions_exclude?: string[];
219
208
  /**
220
209
  * Restrict delivery to specific metro areas. Each entry specifies the classification system and target values. Seller must declare supported systems in get_adcp_capabilities.
221
- *
222
- * @minItems 1
223
210
  */
224
- geo_metros?: [
225
- {
226
- system: MetroAreaSystem;
227
- /**
228
- * Metro codes within the system (e.g., ['501', '602'] for Nielsen DMAs)
229
- *
230
- * @minItems 1
231
- */
232
- values: [string, ...string[]];
233
- },
234
- ...{
235
- system: MetroAreaSystem;
236
- /**
237
- * Metro codes within the system (e.g., ['501', '602'] for Nielsen DMAs)
238
- *
239
- * @minItems 1
240
- */
241
- values: [string, ...string[]];
242
- }[]
243
- ];
211
+ geo_metros?: {
212
+ system: MetroAreaSystem;
213
+ /**
214
+ * Metro codes within the system (e.g., ['501', '602'] for Nielsen DMAs)
215
+ */
216
+ values: string[];
217
+ }[];
244
218
  /**
245
219
  * Exclude specific metro areas from delivery. Each entry specifies the classification system and excluded values. Seller must declare supported systems in get_adcp_capabilities.
246
- *
247
- * @minItems 1
248
220
  */
249
- geo_metros_exclude?: [
250
- {
251
- system: MetroAreaSystem;
252
- /**
253
- * Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
254
- *
255
- * @minItems 1
256
- */
257
- values: [string, ...string[]];
258
- },
259
- ...{
260
- system: MetroAreaSystem;
261
- /**
262
- * Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
263
- *
264
- * @minItems 1
265
- */
266
- values: [string, ...string[]];
267
- }[]
268
- ];
221
+ geo_metros_exclude?: {
222
+ system: MetroAreaSystem;
223
+ /**
224
+ * Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
225
+ */
226
+ values: string[];
227
+ }[];
269
228
  /**
270
229
  * Restrict delivery to specific postal areas. Each entry specifies the postal system and target values. Seller must declare supported systems in get_adcp_capabilities.
271
- *
272
- * @minItems 1
273
230
  */
274
- geo_postal_areas?: [
275
- {
276
- system: PostalCodeSystem;
277
- /**
278
- * Postal codes within the system (e.g., ['10001', '10002'] for us_zip)
279
- *
280
- * @minItems 1
281
- */
282
- values: [string, ...string[]];
283
- },
284
- ...{
285
- system: PostalCodeSystem;
286
- /**
287
- * Postal codes within the system (e.g., ['10001', '10002'] for us_zip)
288
- *
289
- * @minItems 1
290
- */
291
- values: [string, ...string[]];
292
- }[]
293
- ];
231
+ geo_postal_areas?: {
232
+ system: PostalCodeSystem;
233
+ /**
234
+ * Postal codes within the system (e.g., ['10001', '10002'] for us_zip)
235
+ */
236
+ values: string[];
237
+ }[];
294
238
  /**
295
239
  * Exclude specific postal areas from delivery. Each entry specifies the postal system and excluded values. Seller must declare supported systems in get_adcp_capabilities.
296
- *
297
- * @minItems 1
298
240
  */
299
- geo_postal_areas_exclude?: [
300
- {
301
- system: PostalCodeSystem;
302
- /**
303
- * Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
304
- *
305
- * @minItems 1
306
- */
307
- values: [string, ...string[]];
308
- },
309
- ...{
310
- system: PostalCodeSystem;
311
- /**
312
- * Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
313
- *
314
- * @minItems 1
315
- */
316
- values: [string, ...string[]];
317
- }[]
318
- ];
241
+ geo_postal_areas_exclude?: {
242
+ system: PostalCodeSystem;
243
+ /**
244
+ * Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
245
+ */
246
+ values: string[];
247
+ }[];
319
248
  /**
320
249
  * Restrict delivery to specific time windows. Each entry specifies days of week and an hour range.
321
- *
322
- * @minItems 1
323
250
  */
324
- daypart_targets?: [DaypartTarget, ...DaypartTarget[]];
251
+ daypart_targets?: DaypartTarget[];
325
252
  /**
326
253
  * AXE segment ID to include for targeting
327
254
  */
@@ -332,16 +259,12 @@ export interface TargetingOverlay {
332
259
  axe_exclude_segment?: string;
333
260
  /**
334
261
  * 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.
335
- *
336
- * @minItems 1
337
262
  */
338
- audience_include?: [string, ...string[]];
263
+ audience_include?: string[];
339
264
  /**
340
265
  * 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.
341
- *
342
- * @minItems 1
343
266
  */
344
- audience_exclude?: [string, ...string[]];
267
+ audience_exclude?: string[];
345
268
  frequency_cap?: FrequencyCap;
346
269
  property_list?: PropertyListReference;
347
270
  /**
@@ -358,69 +281,34 @@ export interface TargetingOverlay {
358
281
  verification_required?: boolean;
359
282
  /**
360
283
  * Accepted verification methods. If omitted, any method the platform supports is acceptable.
361
- *
362
- * @minItems 1
363
284
  */
364
- accepted_methods?: [AgeVerificationMethod, ...AgeVerificationMethod[]];
285
+ accepted_methods?: AgeVerificationMethod[];
365
286
  };
366
287
  /**
367
288
  * Restrict to specific platforms. Use for technical compatibility (app only works on iOS). Values from Sec-CH-UA-Platform standard, extended for CTV.
368
- *
369
- * @minItems 1
370
289
  */
371
- device_platform?: [DevicePlatform, ...DevicePlatform[]];
290
+ device_platform?: DevicePlatform[];
372
291
  /**
373
292
  * Target users within store catchment areas from a synced store catalog. Each entry references a store-type catalog and optionally narrows to specific stores or catchment zones.
374
- *
375
- * @minItems 1
376
293
  */
377
- store_catchments?: [
378
- {
379
- /**
380
- * Synced store-type catalog ID from sync_catalogs.
381
- */
382
- catalog_id: string;
383
- /**
384
- * Filter to specific stores within the catalog. Omit to target all stores.
385
- *
386
- * @minItems 1
387
- */
388
- store_ids?: [string, ...string[]];
389
- /**
390
- * Catchment zone IDs to target (e.g., 'walk', 'drive'). Omit to target all catchment zones.
391
- *
392
- * @minItems 1
393
- */
394
- catchment_ids?: [string, ...string[]];
395
- [k: string]: unknown | undefined;
396
- },
397
- ...{
398
- /**
399
- * Synced store-type catalog ID from sync_catalogs.
400
- */
401
- catalog_id: string;
402
- /**
403
- * Filter to specific stores within the catalog. Omit to target all stores.
404
- *
405
- * @minItems 1
406
- */
407
- store_ids?: [string, ...string[]];
408
- /**
409
- * Catchment zone IDs to target (e.g., 'walk', 'drive'). Omit to target all catchment zones.
410
- *
411
- * @minItems 1
412
- */
413
- catchment_ids?: [string, ...string[]];
414
- [k: string]: unknown | undefined;
415
- }[]
416
- ];
294
+ store_catchments?: {
295
+ /**
296
+ * Synced store-type catalog ID from sync_catalogs.
297
+ */
298
+ catalog_id: string;
299
+ /**
300
+ * Filter to specific stores within the catalog. Omit to target all stores.
301
+ */
302
+ store_ids?: string[];
303
+ /**
304
+ * Catchment zone IDs to target (e.g., 'walk', 'drive'). Omit to target all catchment zones.
305
+ */
306
+ catchment_ids?: string[];
307
+ }[];
417
308
  /**
418
309
  * Restrict to users with specific language preferences. ISO 639-1 codes (e.g., 'en', 'es', 'fr').
419
- *
420
- * @minItems 1
421
310
  */
422
- language?: [string, ...string[]];
423
- [k: string]: unknown | undefined;
311
+ language?: string[];
424
312
  }
425
313
  /**
426
314
  * A time window for daypart targeting. Specifies days of week and an hour range. start_hour is inclusive, end_hour is exclusive (e.g., 6-10 = 6:00am to 10:00am). Follows the Google Ads AdScheduleInfo / DV360 DayPartTargeting pattern.
@@ -428,10 +316,8 @@ export interface TargetingOverlay {
428
316
  export interface DaypartTarget {
429
317
  /**
430
318
  * Days of week this window applies to. Use multiple days for compact targeting (e.g., monday-friday in one object).
431
- *
432
- * @minItems 1
433
319
  */
434
- days: [DayOfWeek, ...DayOfWeek[]];
320
+ days: DayOfWeek[];
435
321
  /**
436
322
  * Start hour (inclusive), 0-23 in 24-hour format. 0 = midnight, 6 = 6:00am, 18 = 6:00pm.
437
323
  */
@@ -453,7 +339,6 @@ export interface FrequencyCap {
453
339
  * Minutes to suppress after impression
454
340
  */
455
341
  suppress_minutes: number;
456
- [k: string]: unknown | undefined;
457
342
  }
458
343
  /**
459
344
  * 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.
@@ -486,11 +371,8 @@ export interface CreativeAssignment {
486
371
  weight?: number;
487
372
  /**
488
373
  * Optional array of placement IDs where this creative should run. When omitted, the creative runs on all placements in the package. References placement_id values from the product's placements array.
489
- *
490
- * @minItems 1
491
374
  */
492
- placement_ids?: [string, ...string[]];
493
- [k: string]: unknown | undefined;
375
+ placement_ids?: string[];
494
376
  }
495
377
  /**
496
378
  * Structured format identifier with agent URL and format name. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants.
@@ -516,7 +398,6 @@ export interface FormatID {
516
398
  * Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
517
399
  */
518
400
  duration_ms?: number;
519
- [k: string]: unknown | undefined;
520
401
  }
521
402
  /**
522
403
  * Conversion optimization goal for a package. Tells the seller which event source and event type to optimize delivery against. Provide at most one of target_roas or target_cpa. If neither is provided, the seller optimizes for maximum conversions within budget.
@@ -547,9 +428,7 @@ export interface OptimizationGoal {
547
428
  * View-through attribution window (e.g. '1d', '7d')
548
429
  */
549
430
  view_through?: string;
550
- [k: string]: unknown | undefined;
551
431
  };
552
- [k: string]: unknown | undefined;
553
432
  }
554
433
  /**
555
434
  * Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
@@ -604,7 +483,6 @@ export type VASTAsset = {
604
483
  * URL to audio description track for visually impaired users
605
484
  */
606
485
  audio_description_url?: string;
607
- [k: string]: unknown | undefined;
608
486
  } | {
609
487
  /**
610
488
  * Discriminator indicating VAST is delivered as inline XML content
@@ -635,7 +513,6 @@ export type VASTAsset = {
635
513
  * URL to audio description track for visually impaired users
636
514
  */
637
515
  audio_description_url?: string;
638
- [k: string]: unknown | undefined;
639
516
  };
640
517
  /**
641
518
  * VAST specification version
@@ -674,7 +551,6 @@ export type DAASTAsset = {
674
551
  * URL to text transcript of the audio content
675
552
  */
676
553
  transcript_url?: string;
677
- [k: string]: unknown | undefined;
678
554
  } | {
679
555
  /**
680
556
  * Discriminator indicating DAAST is delivered as inline XML content
@@ -701,7 +577,6 @@ export type DAASTAsset = {
701
577
  * URL to text transcript of the audio content
702
578
  */
703
579
  transcript_url?: string;
704
- [k: string]: unknown | undefined;
705
580
  };
706
581
  /**
707
582
  * DAAST specification version
@@ -800,28 +675,20 @@ export interface Catalog {
800
675
  update_frequency?: UpdateFrequency;
801
676
  /**
802
677
  * Inline catalog data. The item schema depends on the catalog type: Offering objects for 'offering', StoreItem for 'store', HotelItem for 'hotel', FlightItem for 'flight', JobItem for 'job', VehicleItem for 'vehicle', RealEstateItem for 'real_estate', EducationItem for 'education', DestinationItem for 'destination', AppItem for 'app', or freeform objects for 'product', 'inventory', and 'promotion'. Mutually exclusive with url — provide one or the other, not both. Implementations should validate items against the type-specific schema.
803
- *
804
- * @minItems 1
805
678
  */
806
- items?: [{}, ...{}[]];
679
+ items?: {}[];
807
680
  /**
808
681
  * Filter catalog to specific item IDs. For offering-type catalogs, these are offering_id values. For product-type catalogs, these are SKU identifiers.
809
- *
810
- * @minItems 1
811
682
  */
812
- ids?: [string, ...string[]];
683
+ ids?: string[];
813
684
  /**
814
685
  * Filter product-type catalogs by GTIN identifiers for cross-retailer catalog matching. Accepts standard GTIN formats (GTIN-8, UPC-A/GTIN-12, EAN-13/GTIN-13, GTIN-14). Only applicable when type is 'product'.
815
- *
816
- * @minItems 1
817
686
  */
818
- gtins?: [string, ...string[]];
687
+ gtins?: string[];
819
688
  /**
820
689
  * Filter catalog to items with these tags. Tags are matched using OR logic — items matching any tag are included.
821
- *
822
- * @minItems 1
823
690
  */
824
- tags?: [string, ...string[]];
691
+ tags?: string[];
825
692
  /**
826
693
  * Filter catalog to items in this category (e.g., 'beverages/soft-drinks', 'chef-positions').
827
694
  */
@@ -832,15 +699,66 @@ export interface Catalog {
832
699
  query?: string;
833
700
  /**
834
701
  * Event types that represent conversions for items in this catalog. Declares what events the platform should attribute to catalog items — e.g., a job catalog converts via submit_application, a product catalog via purchase. The event's content_ids field carries the item IDs that connect back to catalog items. Use content_id_type to declare what identifier type content_ids values represent.
835
- *
836
- * @minItems 1
837
702
  */
838
- conversion_events?: [EventType, ...EventType[]];
703
+ conversion_events?: EventType[];
839
704
  content_id_type?: ContentIDType;
840
- [k: string]: unknown | undefined;
705
+ /**
706
+ * Declarative normalization rules for external feeds. Maps non-standard feed field names, date formats, price encodings, and image URLs to the AdCP catalog item schema. Applied during sync_catalogs ingestion. Supports field renames, named transforms (date, divide, boolean, split), static literal injection, and assignment of image URLs to typed asset pools.
707
+ */
708
+ feed_field_mappings?: CatalogFieldMapping[];
841
709
  }
842
710
  /**
843
- * Image asset with URL and dimensions
711
+ * Declares how a field in an external feed maps to the AdCP catalog item schema. Used in sync_catalogs feed_field_mappings to normalize non-AdCP feeds (Google Merchant Center, LinkedIn Jobs XML, hotel XML, etc.) to the standard catalog item schema without requiring the buyer to preprocess every feed. Multiple mappings can assemble a nested object via dot notation (e.g., separate mappings for price.amount and price.currency).
712
+ */
713
+ export interface CatalogFieldMapping {
714
+ /**
715
+ * Field name in the external feed record. Omit when injecting a static literal value (use the value property instead).
716
+ */
717
+ feed_field?: string;
718
+ /**
719
+ * Target field on the catalog item schema, using dot notation for nested fields (e.g., 'name', 'price.amount', 'location.city'). Mutually exclusive with asset_group_id.
720
+ */
721
+ catalog_field?: string;
722
+ /**
723
+ * Places the feed field value (a URL) into a typed asset pool on the catalog item's assets array. The value is wrapped as an image or video asset in a group with this ID. Use standard group IDs: 'images_landscape', 'images_vertical', 'images_square', 'logo', 'video'. Mutually exclusive with catalog_field.
724
+ */
725
+ asset_group_id?: string;
726
+ /**
727
+ * Static literal value to inject into catalog_field for every item, regardless of what the feed contains. Mutually exclusive with feed_field. Useful for fields the feed omits (e.g., currency when price is always USD, or a constant category value).
728
+ */
729
+ value?: {
730
+ [k: string]: unknown | undefined;
731
+ };
732
+ /**
733
+ * Named transform to apply to the feed field value before writing to the catalog schema. See transform-specific parameters (format, timezone, by, separator).
734
+ */
735
+ transform?: 'date' | 'divide' | 'boolean' | 'split';
736
+ /**
737
+ * For transform 'date': the input date format string (e.g., 'YYYYMMDD', 'MM/DD/YYYY', 'DD-MM-YYYY'). Output is always ISO 8601 (e.g., '2025-03-01'). Uses Unicode date pattern tokens.
738
+ */
739
+ format?: string;
740
+ /**
741
+ * For transform 'date': the timezone of the input value. IANA timezone identifier (e.g., 'UTC', 'America/New_York', 'Europe/Amsterdam'). Defaults to UTC when omitted.
742
+ */
743
+ timezone?: string;
744
+ /**
745
+ * For transform 'divide': the divisor to apply (e.g., 100 to convert integer cents to decimal dollars).
746
+ */
747
+ by?: number;
748
+ /**
749
+ * For transform 'split': the separator character or string to split on. Defaults to ','.
750
+ */
751
+ separator?: string;
752
+ /**
753
+ * Fallback value to use when feed_field is absent, null, or empty. Applied after any transform would have been applied. Allows optional feed fields to have a guaranteed baseline value.
754
+ */
755
+ default?: {
756
+ [k: string]: unknown | undefined;
757
+ };
758
+ ext?: ExtensionObject;
759
+ }
760
+ /**
761
+ * 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.
844
762
  */
845
763
  export interface ImageAsset {
846
764
  /**
@@ -863,7 +781,6 @@ export interface ImageAsset {
863
781
  * Alternative text for accessibility
864
782
  */
865
783
  alt_text?: string;
866
- [k: string]: unknown | undefined;
867
784
  }
868
785
  /**
869
786
  * Video asset with URL and technical specifications including audio track properties
@@ -985,7 +902,6 @@ export interface VideoAsset {
985
902
  * URL to audio description track for visually impaired users
986
903
  */
987
904
  audio_description_url?: string;
988
- [k: string]: unknown | undefined;
989
905
  }
990
906
  /**
991
907
  * Audio asset with URL and technical specifications
@@ -1039,7 +955,6 @@ export interface AudioAsset {
1039
955
  * URL to text transcript of the audio content
1040
956
  */
1041
957
  transcript_url?: string;
1042
- [k: string]: unknown | undefined;
1043
958
  }
1044
959
  /**
1045
960
  * Text content asset
@@ -1053,7 +968,6 @@ export interface TextAsset {
1053
968
  * Language code (e.g., 'en', 'es', 'fr')
1054
969
  */
1055
970
  language?: string;
1056
- [k: string]: unknown | undefined;
1057
971
  }
1058
972
  /**
1059
973
  * HTML content asset
@@ -1088,7 +1002,6 @@ export interface HTMLAsset {
1088
1002
  */
1089
1003
  screen_reader_tested?: boolean;
1090
1004
  };
1091
- [k: string]: unknown | undefined;
1092
1005
  }
1093
1006
  /**
1094
1007
  * CSS stylesheet asset
@@ -1102,7 +1015,6 @@ export interface CSSAsset {
1102
1015
  * CSS media query context (e.g., 'screen', 'print')
1103
1016
  */
1104
1017
  media?: string;
1105
- [k: string]: unknown | undefined;
1106
1018
  }
1107
1019
  /**
1108
1020
  * JavaScript code asset
@@ -1134,7 +1046,6 @@ export interface JavaScriptAsset {
1134
1046
  */
1135
1047
  screen_reader_tested?: boolean;
1136
1048
  };
1137
- [k: string]: unknown | undefined;
1138
1049
  }
1139
1050
  /**
1140
1051
  * URL reference asset
@@ -1149,7 +1060,6 @@ export interface URLAsset {
1149
1060
  * Description of what this URL points to
1150
1061
  */
1151
1062
  description?: string;
1152
- [k: string]: unknown | undefined;
1153
1063
  }
1154
1064
  /**
1155
1065
  * Selects properties from a publisher's adagents.json. Used for both product definitions and agent authorization. Supports three selection patterns: all properties, specific IDs, or by tags.
@@ -1163,7 +1073,6 @@ export type PublisherPropertySelector = {
1163
1073
  * Discriminator indicating all properties from this publisher are included
1164
1074
  */
1165
1075
  selection_type: 'all';
1166
- [k: string]: unknown | undefined;
1167
1076
  } | {
1168
1077
  /**
1169
1078
  * Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
@@ -1175,11 +1084,8 @@ export type PublisherPropertySelector = {
1175
1084
  selection_type: 'by_id';
1176
1085
  /**
1177
1086
  * Specific property IDs from the publisher's adagents.json
1178
- *
1179
- * @minItems 1
1180
1087
  */
1181
- property_ids: [PropertyID, ...PropertyID[]];
1182
- [k: string]: unknown | undefined;
1088
+ property_ids: PropertyID[];
1183
1089
  } | {
1184
1090
  /**
1185
1091
  * Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
@@ -1191,11 +1097,8 @@ export type PublisherPropertySelector = {
1191
1097
  selection_type: 'by_tag';
1192
1098
  /**
1193
1099
  * Property tags from the publisher's adagents.json. Selector covers all properties with these tags
1194
- *
1195
- * @minItems 1
1196
1100
  */
1197
- property_tags: [PropertyTag, ...PropertyTag[]];
1198
- [k: string]: unknown | undefined;
1101
+ property_tags: PropertyTag[];
1199
1102
  };
1200
1103
  /**
1201
1104
  * Identifier for a publisher property. Must be lowercase alphanumeric with underscores only.
@@ -1261,7 +1164,6 @@ export type DataProviderSignalSelector = {
1261
1164
  * Discriminator indicating all signals from this data provider are included
1262
1165
  */
1263
1166
  selection_type: 'all';
1264
- [k: string]: unknown | undefined;
1265
1167
  } | {
1266
1168
  /**
1267
1169
  * Domain where data provider's adagents.json is hosted (e.g., 'polk.com')
@@ -1273,11 +1175,8 @@ export type DataProviderSignalSelector = {
1273
1175
  selection_type: 'by_id';
1274
1176
  /**
1275
1177
  * Specific signal IDs from the data provider's catalog
1276
- *
1277
- * @minItems 1
1278
1178
  */
1279
- signal_ids: [string, ...string[]];
1280
- [k: string]: unknown | undefined;
1179
+ signal_ids: string[];
1281
1180
  } | {
1282
1181
  /**
1283
1182
  * Domain where data provider's adagents.json is hosted (e.g., 'polk.com')
@@ -1289,11 +1188,8 @@ export type DataProviderSignalSelector = {
1289
1188
  selection_type: 'by_tag';
1290
1189
  /**
1291
1190
  * Signal tags from the data provider's catalog. Selector covers all signals with these tags
1292
- *
1293
- * @minItems 1
1294
1191
  */
1295
- signal_tags: [string, ...string[]];
1296
- [k: string]: unknown | undefined;
1192
+ signal_tags: string[];
1297
1193
  };
1298
1194
  /**
1299
1195
  * The type of catalog feed. Determines the item schema and how the platform resolves catalog items. Multiple catalog types can be synced to the same account and referenced together in creatives.
@@ -1459,11 +1355,8 @@ export interface Placement {
1459
1355
  description?: string;
1460
1356
  /**
1461
1357
  * Format IDs supported by this specific placement. Can include: (1) concrete format_ids (fixed dimensions), (2) template format_ids without parameters (accepts any dimensions/duration), or (3) parameterized format_ids (specific dimension/duration constraints).
1462
- *
1463
- * @minItems 1
1464
1358
  */
1465
- format_ids?: [FormatID, ...FormatID[]];
1466
- [k: string]: unknown | undefined;
1359
+ format_ids?: FormatID[];
1467
1360
  }
1468
1361
  /**
1469
1362
  * Cost Per Mille (cost per 1,000 impressions) pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
@@ -1498,7 +1391,6 @@ export interface CPMPricingOption {
1498
1391
  * Minimum spend requirement per package using this pricing option, in the specified currency
1499
1392
  */
1500
1393
  min_spend_per_package?: number;
1501
- [k: string]: unknown | undefined;
1502
1394
  }
1503
1395
  /**
1504
1396
  * Optional pricing guidance for auction-based bidding
@@ -1520,7 +1412,6 @@ export interface PriceGuidance {
1520
1412
  * 90th percentile of recent winning bids
1521
1413
  */
1522
1414
  p90?: number;
1523
- [k: string]: unknown | undefined;
1524
1415
  }
1525
1416
  /**
1526
1417
  * 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.
@@ -1555,7 +1446,6 @@ export interface VCPMPricingOption {
1555
1446
  * Minimum spend requirement per package using this pricing option, in the specified currency
1556
1447
  */
1557
1448
  min_spend_per_package?: number;
1558
- [k: string]: unknown | undefined;
1559
1449
  }
1560
1450
  /**
1561
1451
  * Optional pricing guidance for auction-based bidding
@@ -1590,7 +1480,6 @@ export interface CPCPricingOption {
1590
1480
  * Minimum spend requirement per package using this pricing option, in the specified currency
1591
1481
  */
1592
1482
  min_spend_per_package?: number;
1593
- [k: string]: unknown | undefined;
1594
1483
  }
1595
1484
  /**
1596
1485
  * Optional pricing guidance for auction-based bidding
@@ -1625,7 +1514,6 @@ export interface CPCVPricingOption {
1625
1514
  * Minimum spend requirement per package using this pricing option, in the specified currency
1626
1515
  */
1627
1516
  min_spend_per_package?: number;
1628
- [k: string]: unknown | undefined;
1629
1517
  }
1630
1518
  /**
1631
1519
  * Optional pricing guidance for auction-based bidding
@@ -1665,15 +1553,12 @@ export interface CPVPricingOption {
1665
1553
  * Seconds of viewing required
1666
1554
  */
1667
1555
  duration_seconds: number;
1668
- [k: string]: unknown | undefined;
1669
1556
  };
1670
- [k: string]: unknown | undefined;
1671
1557
  };
1672
1558
  /**
1673
1559
  * Minimum spend requirement per package using this pricing option, in the specified currency
1674
1560
  */
1675
1561
  min_spend_per_package?: number;
1676
- [k: string]: unknown | undefined;
1677
1562
  }
1678
1563
  /**
1679
1564
  * Optional pricing guidance for auction-based bidding
@@ -1713,13 +1598,11 @@ export interface CPPPricingOption {
1713
1598
  * Minimum GRPs/TRPs required
1714
1599
  */
1715
1600
  min_points?: number;
1716
- [k: string]: unknown | undefined;
1717
1601
  };
1718
1602
  /**
1719
1603
  * Minimum spend requirement per package using this pricing option, in the specified currency
1720
1604
  */
1721
1605
  min_spend_per_package?: number;
1722
- [k: string]: unknown | undefined;
1723
1606
  }
1724
1607
  /**
1725
1608
  * Optional pricing guidance for auction-based bidding
@@ -1757,7 +1640,6 @@ export interface CPAPricingOption {
1757
1640
  * Minimum spend requirement per package using this pricing option, in the specified currency
1758
1641
  */
1759
1642
  min_spend_per_package?: number;
1760
- [k: string]: unknown | undefined;
1761
1643
  }
1762
1644
  /**
1763
1645
  * 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.
@@ -1816,13 +1698,11 @@ export interface FlatRatePricingOption {
1816
1698
  * Specific daypart for time-based pricing
1817
1699
  */
1818
1700
  daypart?: string;
1819
- [k: string]: unknown | undefined;
1820
1701
  };
1821
1702
  /**
1822
1703
  * Minimum spend requirement per package using this pricing option, in the specified currency
1823
1704
  */
1824
1705
  min_spend_per_package?: number;
1825
- [k: string]: unknown | undefined;
1826
1706
  }
1827
1707
  /**
1828
1708
  * Optional pricing guidance for auction-based bidding
@@ -1865,13 +1745,11 @@ export interface TimeBasedPricingOption {
1865
1745
  * Maximum booking duration in time_units. Must be >= min_duration when both are present.
1866
1746
  */
1867
1747
  max_duration?: number;
1868
- [k: string]: unknown | undefined;
1869
1748
  };
1870
1749
  /**
1871
1750
  * Minimum spend requirement per package using this pricing option, in the specified currency
1872
1751
  */
1873
1752
  min_spend_per_package?: number;
1874
- [k: string]: unknown | undefined;
1875
1753
  }
1876
1754
  /**
1877
1755
  * Optional pricing guidance for auction-based bidding
@@ -1879,10 +1757,8 @@ export interface TimeBasedPricingOption {
1879
1757
  export interface DeliveryForecast {
1880
1758
  /**
1881
1759
  * Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
1882
- *
1883
- * @minItems 1
1884
1760
  */
1885
- points: [ForecastPoint, ...ForecastPoint[]];
1761
+ points: ForecastPoint[];
1886
1762
  forecast_range_unit?: ForecastRangeUnit;
1887
1763
  method: ForecastMethod;
1888
1764
  /**
@@ -1904,7 +1780,6 @@ export interface DeliveryForecast {
1904
1780
  */
1905
1781
  valid_until?: string;
1906
1782
  ext?: ExtensionObject;
1907
- [k: string]: unknown | undefined;
1908
1783
  }
1909
1784
  /**
1910
1785
  * A forecast at a specific budget level. A single point represents a standard forecast; multiple points ordered by ascending budget form a curve showing how delivery metrics scale with spend.
@@ -1920,7 +1795,6 @@ export interface ForecastPoint {
1920
1795
  metrics: {
1921
1796
  [k: string]: ForecastRange | undefined;
1922
1797
  };
1923
- [k: string]: unknown | undefined;
1924
1798
  }
1925
1799
  /**
1926
1800
  * A forecast value with optional low/high bounds. The mid value represents the most likely outcome. When low and high are provided, they represent conservative and optimistic estimates respectively.
@@ -1938,7 +1812,6 @@ export interface ForecastRange {
1938
1812
  * Optimistic (high-end) forecast value
1939
1813
  */
1940
1814
  high?: number;
1941
- [k: string]: unknown | undefined;
1942
1815
  }
1943
1816
  /**
1944
1817
  * 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.
@@ -1960,7 +1833,6 @@ export interface Measurement {
1960
1833
  * Reporting frequency and format
1961
1834
  */
1962
1835
  reporting: string;
1963
- [k: string]: unknown | undefined;
1964
1836
  }
1965
1837
  /**
1966
1838
  * Reporting capabilities available for a product
@@ -1968,10 +1840,8 @@ export interface Measurement {
1968
1840
  export interface ReportingCapabilities {
1969
1841
  /**
1970
1842
  * Supported reporting frequency options
1971
- *
1972
- * @minItems 1
1973
1843
  */
1974
- available_reporting_frequencies: [ReportingFrequency, ...ReportingFrequency[]];
1844
+ available_reporting_frequencies: ReportingFrequency[];
1975
1845
  /**
1976
1846
  * Expected delay in minutes before reporting data becomes available (e.g., 240 for 4-hour delay)
1977
1847
  */
@@ -1996,7 +1866,6 @@ export interface ReportingCapabilities {
1996
1866
  * Whether delivery data can be filtered to arbitrary date ranges. 'date_range' means the platform supports start_date/end_date parameters. 'lifetime_only' means the platform returns campaign lifetime totals and date range parameters are not accepted.
1997
1867
  */
1998
1868
  date_range_support: 'date_range' | 'lifetime_only';
1999
- [k: string]: unknown | undefined;
2000
1869
  }
2001
1870
  /**
2002
1871
  * Creative requirements and restrictions for a product
@@ -2008,7 +1877,6 @@ export interface CreativePolicy {
2008
1877
  * Whether creative templates are provided
2009
1878
  */
2010
1879
  templates_available: boolean;
2011
- [k: string]: unknown | undefined;
2012
1880
  }
2013
1881
  /**
2014
1882
  * Structured format identifier with agent URL and format name. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants.
@@ -2155,7 +2023,6 @@ export interface GetProductsResponse {
2155
2023
  sandbox?: boolean;
2156
2024
  context?: ContextObject;
2157
2025
  ext?: ExtensionObject;
2158
- [k: string]: unknown | undefined;
2159
2026
  }
2160
2027
  /**
2161
2028
  * Represents available advertising inventory
@@ -2175,10 +2042,8 @@ export interface Proposal {
2175
2042
  description?: string;
2176
2043
  /**
2177
2044
  * Budget allocations across products. Allocation percentages MUST sum to 100. Publishers are responsible for ensuring the sum equals 100; buyers SHOULD validate this before execution.
2178
- *
2179
- * @minItems 1
2180
2045
  */
2181
- allocations: [ProductAllocation, ...ProductAllocation[]];
2046
+ allocations: ProductAllocation[];
2182
2047
  /**
2183
2048
  * When this proposal expires and can no longer be executed. After expiration, referenced products or pricing may no longer be available.
2184
2049
  */
@@ -2203,7 +2068,6 @@ export interface Proposal {
2203
2068
  * ISO 4217 currency code
2204
2069
  */
2205
2070
  currency?: string;
2206
- [k: string]: unknown | undefined;
2207
2071
  };
2208
2072
  /**
2209
2073
  * Explanation of how this proposal aligns with the campaign brief
@@ -2211,7 +2075,6 @@ export interface Proposal {
2211
2075
  brief_alignment?: string;
2212
2076
  forecast?: DeliveryForecast;
2213
2077
  ext?: ExtensionObject;
2214
- [k: string]: unknown | undefined;
2215
2078
  }
2216
2079
  /**
2217
2080
  * A budget allocation for a specific product within a proposal. Percentages across all allocations in a proposal should sum to 100.
@@ -2243,13 +2106,10 @@ export interface ProductAllocation {
2243
2106
  tags?: string[];
2244
2107
  /**
2245
2108
  * Recommended time windows for this allocation in spot-plan proposals.
2246
- *
2247
- * @minItems 1
2248
2109
  */
2249
- daypart_targets?: [DaypartTarget, ...DaypartTarget[]];
2110
+ daypart_targets?: DaypartTarget[];
2250
2111
  forecast?: DeliveryForecast;
2251
2112
  ext?: ExtensionObject;
2252
- [k: string]: unknown | undefined;
2253
2113
  }
2254
2114
  /**
2255
2115
  * A time window for daypart targeting. Specifies days of week and an hour range. start_hour is inclusive, end_hour is exclusive (e.g., 6-10 = 6:00am to 10:00am). Follows the Google Ads AdScheduleInfo / DV360 DayPartTargeting pattern.
@@ -2278,10 +2138,7 @@ export interface Error {
2278
2138
  /**
2279
2139
  * Additional task-specific error details
2280
2140
  */
2281
- details?: {
2282
- [k: string]: unknown | undefined;
2283
- };
2284
- [k: string]: unknown | undefined;
2141
+ details?: {};
2285
2142
  }
2286
2143
  /**
2287
2144
  * Standard cursor-based pagination metadata for list responses
@@ -2304,7 +2161,6 @@ export interface PaginationResponse {
2304
2161
  * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
2305
2162
  */
2306
2163
  export interface ContextObject {
2307
- [k: string]: unknown | undefined;
2308
2164
  }
2309
2165
  /**
2310
2166
  * Progress data for working get_products
@@ -2328,7 +2184,6 @@ export interface GetProductsAsyncWorking {
2328
2184
  step_number?: number;
2329
2185
  context?: ContextObject;
2330
2186
  ext?: ExtensionObject;
2331
- [k: string]: unknown | undefined;
2332
2187
  }
2333
2188
  /**
2334
2189
  * Input requirements for get_products needing clarification
@@ -2348,7 +2203,6 @@ export interface GetProductsAsyncInputRequired {
2348
2203
  suggestions?: string[];
2349
2204
  context?: ContextObject;
2350
2205
  ext?: ExtensionObject;
2351
- [k: string]: unknown | undefined;
2352
2206
  }
2353
2207
  /**
2354
2208
  * Acknowledgment for submitted get_products (custom curation)
@@ -2360,7 +2214,6 @@ export interface GetProductsAsyncSubmitted {
2360
2214
  estimated_completion?: string;
2361
2215
  context?: ContextObject;
2362
2216
  ext?: ExtensionObject;
2363
- [k: string]: unknown | undefined;
2364
2217
  }
2365
2218
  /**
2366
2219
  * Success response - media buy created successfully
@@ -2393,7 +2246,6 @@ export interface CreateMediaBuySuccess {
2393
2246
  sandbox?: boolean;
2394
2247
  context?: ContextObject;
2395
2248
  ext?: ExtensionObject;
2396
- [k: string]: unknown | undefined;
2397
2249
  }
2398
2250
  /**
2399
2251
  * Account billed for this media buy. Includes advertiser, billing proxy (if any), and rate card applied.
@@ -2401,13 +2253,10 @@ export interface CreateMediaBuySuccess {
2401
2253
  export interface CreateMediaBuyError {
2402
2254
  /**
2403
2255
  * Array of errors explaining why the operation failed
2404
- *
2405
- * @minItems 1
2406
2256
  */
2407
- errors: [Error, ...Error[]];
2257
+ errors: Error[];
2408
2258
  context?: ContextObject;
2409
2259
  ext?: ExtensionObject;
2410
- [k: string]: unknown | undefined;
2411
2260
  }
2412
2261
  /**
2413
2262
  * Progress data for working create_media_buy
@@ -2431,7 +2280,6 @@ export interface CreateMediaBuyAsyncWorking {
2431
2280
  step_number?: number;
2432
2281
  context?: ContextObject;
2433
2282
  ext?: ExtensionObject;
2434
- [k: string]: unknown | undefined;
2435
2283
  }
2436
2284
  /**
2437
2285
  * Input requirements for create_media_buy needing user input
@@ -2447,7 +2295,6 @@ export interface CreateMediaBuyAsyncInputRequired {
2447
2295
  errors?: Error[];
2448
2296
  context?: ContextObject;
2449
2297
  ext?: ExtensionObject;
2450
- [k: string]: unknown | undefined;
2451
2298
  }
2452
2299
  /**
2453
2300
  * Acknowledgment for submitted create_media_buy
@@ -2455,7 +2302,6 @@ export interface CreateMediaBuyAsyncInputRequired {
2455
2302
  export interface CreateMediaBuyAsyncSubmitted {
2456
2303
  context?: ContextObject;
2457
2304
  ext?: ExtensionObject;
2458
- [k: string]: unknown | undefined;
2459
2305
  }
2460
2306
  /**
2461
2307
  * Success response - media buy updated successfully
@@ -2483,7 +2329,6 @@ export interface UpdateMediaBuySuccess {
2483
2329
  sandbox?: boolean;
2484
2330
  context?: ContextObject;
2485
2331
  ext?: ExtensionObject;
2486
- [k: string]: unknown | undefined;
2487
2332
  }
2488
2333
  /**
2489
2334
  * Error response - operation failed, no changes applied
@@ -2491,13 +2336,10 @@ export interface UpdateMediaBuySuccess {
2491
2336
  export interface UpdateMediaBuyError {
2492
2337
  /**
2493
2338
  * Array of errors explaining why the operation failed
2494
- *
2495
- * @minItems 1
2496
2339
  */
2497
- errors: [Error, ...Error[]];
2340
+ errors: Error[];
2498
2341
  context?: ContextObject;
2499
2342
  ext?: ExtensionObject;
2500
- [k: string]: unknown | undefined;
2501
2343
  }
2502
2344
  /**
2503
2345
  * Progress data for working update_media_buy
@@ -2521,7 +2363,6 @@ export interface UpdateMediaBuyAsyncWorking {
2521
2363
  step_number?: number;
2522
2364
  context?: ContextObject;
2523
2365
  ext?: ExtensionObject;
2524
- [k: string]: unknown | undefined;
2525
2366
  }
2526
2367
  /**
2527
2368
  * Input requirements for update_media_buy needing user input
@@ -2533,7 +2374,6 @@ export interface UpdateMediaBuyAsyncInputRequired {
2533
2374
  reason?: 'APPROVAL_REQUIRED' | 'CHANGE_CONFIRMATION';
2534
2375
  context?: ContextObject;
2535
2376
  ext?: ExtensionObject;
2536
- [k: string]: unknown | undefined;
2537
2377
  }
2538
2378
  /**
2539
2379
  * Acknowledgment for submitted update_media_buy
@@ -2541,7 +2381,6 @@ export interface UpdateMediaBuyAsyncInputRequired {
2541
2381
  export interface UpdateMediaBuyAsyncSubmitted {
2542
2382
  context?: ContextObject;
2543
2383
  ext?: ExtensionObject;
2544
- [k: string]: unknown | undefined;
2545
2384
  }
2546
2385
  /**
2547
2386
  * Success response - sync operation processed creatives (may include per-item failures)
@@ -2593,9 +2432,14 @@ export interface SyncCreativesSuccess {
2593
2432
  * Assignment errors by package ID (only present when assignment failures occurred)
2594
2433
  */
2595
2434
  assignment_errors?: {
2596
- [k: string]: unknown | undefined;
2435
+ /**
2436
+ * Error message for this package assignment
2437
+ *
2438
+ * This interface was referenced by `undefined`'s JSON-Schema definition
2439
+ * via the `patternProperty` "^[a-zA-Z0-9_-]+$".
2440
+ */
2441
+ [k: string]: string;
2597
2442
  };
2598
- [k: string]: unknown | undefined;
2599
2443
  }[];
2600
2444
  /**
2601
2445
  * When true, this response contains simulated data from sandbox mode.
@@ -2603,7 +2447,6 @@ export interface SyncCreativesSuccess {
2603
2447
  sandbox?: boolean;
2604
2448
  context?: ContextObject;
2605
2449
  ext?: ExtensionObject;
2606
- [k: string]: unknown | undefined;
2607
2450
  }
2608
2451
  /**
2609
2452
  * Account that owns this creative
@@ -2611,13 +2454,10 @@ export interface SyncCreativesSuccess {
2611
2454
  export interface SyncCreativesError {
2612
2455
  /**
2613
2456
  * Operation-level errors that prevented processing any creatives (e.g., authentication failure, service unavailable, invalid request format)
2614
- *
2615
- * @minItems 1
2616
2457
  */
2617
- errors: [Error, ...Error[]];
2458
+ errors: Error[];
2618
2459
  context?: ContextObject;
2619
2460
  ext?: ExtensionObject;
2620
- [k: string]: unknown | undefined;
2621
2461
  }
2622
2462
  /**
2623
2463
  * Progress data for working sync_creatives
@@ -2649,7 +2489,6 @@ export interface SyncCreativesAsyncWorking {
2649
2489
  creatives_total?: number;
2650
2490
  context?: ContextObject;
2651
2491
  ext?: ExtensionObject;
2652
- [k: string]: unknown | undefined;
2653
2492
  }
2654
2493
  /**
2655
2494
  * Input requirements for sync_creatives needing user input
@@ -2661,7 +2500,6 @@ export interface SyncCreativesAsyncInputRequired {
2661
2500
  reason?: 'APPROVAL_REQUIRED' | 'ASSET_CONFIRMATION' | 'FORMAT_CLARIFICATION';
2662
2501
  context?: ContextObject;
2663
2502
  ext?: ExtensionObject;
2664
- [k: string]: unknown | undefined;
2665
2503
  }
2666
2504
  /**
2667
2505
  * Acknowledgment for submitted sync_creatives
@@ -2669,7 +2507,6 @@ export interface SyncCreativesAsyncInputRequired {
2669
2507
  export interface SyncCreativesAsyncSubmitted {
2670
2508
  context?: ContextObject;
2671
2509
  ext?: ExtensionObject;
2672
- [k: string]: unknown | undefined;
2673
2510
  }
2674
2511
  /**
2675
2512
  * Success response - sync operation processed catalogs (may include per-catalog failures)
@@ -2721,7 +2558,6 @@ export interface SyncCatalogsSuccess {
2721
2558
  * Reasons for rejection or warning
2722
2559
  */
2723
2560
  reasons?: string[];
2724
- [k: string]: unknown | undefined;
2725
2561
  }[];
2726
2562
  /**
2727
2563
  * ISO 8601 timestamp of when the most recent sync was accepted by the platform
@@ -2743,7 +2579,6 @@ export interface SyncCatalogsSuccess {
2743
2579
  * Non-fatal warnings about this catalog
2744
2580
  */
2745
2581
  warnings?: string[];
2746
- [k: string]: unknown | undefined;
2747
2582
  }[];
2748
2583
  /**
2749
2584
  * When true, this response contains simulated data from sandbox mode.
@@ -2751,7 +2586,6 @@ export interface SyncCatalogsSuccess {
2751
2586
  sandbox?: boolean;
2752
2587
  context?: ContextObject;
2753
2588
  ext?: ExtensionObject;
2754
- [k: string]: unknown | undefined;
2755
2589
  }
2756
2590
  /**
2757
2591
  * Error response - operation failed completely, no catalogs were processed
@@ -2759,13 +2593,10 @@ export interface SyncCatalogsSuccess {
2759
2593
  export interface SyncCatalogsError {
2760
2594
  /**
2761
2595
  * Operation-level errors that prevented processing any catalogs (e.g., authentication failure, service unavailable, invalid request format)
2762
- *
2763
- * @minItems 1
2764
2596
  */
2765
- errors: [Error, ...Error[]];
2597
+ errors: Error[];
2766
2598
  context?: ContextObject;
2767
2599
  ext?: ExtensionObject;
2768
- [k: string]: unknown | undefined;
2769
2600
  }
2770
2601
  /**
2771
2602
  * Progress data for working sync_catalogs
@@ -2805,7 +2636,6 @@ export interface SyncCatalogsAsyncWorking {
2805
2636
  items_total?: number;
2806
2637
  context?: ContextObject;
2807
2638
  ext?: ExtensionObject;
2808
- [k: string]: unknown | undefined;
2809
2639
  }
2810
2640
  /**
2811
2641
  * Input requirements for sync_catalogs needing buyer input
@@ -2817,7 +2647,6 @@ export interface SyncCatalogsAsyncInputRequired {
2817
2647
  reason?: 'APPROVAL_REQUIRED' | 'FEED_VALIDATION' | 'ITEM_REVIEW' | 'FEED_ACCESS';
2818
2648
  context?: ContextObject;
2819
2649
  ext?: ExtensionObject;
2820
- [k: string]: unknown | undefined;
2821
2650
  }
2822
2651
  /**
2823
2652
  * Acknowledgment for submitted sync_catalogs
@@ -2825,6 +2654,5 @@ export interface SyncCatalogsAsyncInputRequired {
2825
2654
  export interface SyncCatalogsAsyncSubmitted {
2826
2655
  context?: ContextObject;
2827
2656
  ext?: ExtensionObject;
2828
- [k: string]: unknown | undefined;
2829
2657
  }
2830
2658
  //# sourceMappingURL=core.generated.d.ts.map