@adcp/client 3.5.2 → 3.7.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.js +309 -33
- package/dist/lib/core/AsyncHandler.js.map +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +14 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/testing/client.d.ts.map +1 -1
- package/dist/lib/testing/client.js +23 -9
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/formatter.d.ts.map +1 -1
- package/dist/lib/testing/formatter.js +14 -1
- package/dist/lib/testing/formatter.js.map +1 -1
- package/dist/lib/testing/types.d.ts +1 -0
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/types/core.generated.d.ts +68 -7
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +2 -2
- package/dist/lib/types/schemas.generated.d.ts +865 -2445
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +234 -210
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +165 -17
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/utils/format-assets.d.ts +112 -0
- package/dist/lib/utils/format-assets.d.ts.map +1 -0
- package/dist/lib/utils/format-assets.js +145 -0
- package/dist/lib/utils/format-assets.js.map +1 -0
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +12 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/version.d.ts +5 -5
- package/dist/lib/version.js +5 -5
- package/package.json +2 -2
|
@@ -165,6 +165,7 @@ export interface BrandManifest {
|
|
|
165
165
|
metadata?: {
|
|
166
166
|
[k: string]: unknown;
|
|
167
167
|
};
|
|
168
|
+
[k: string]: unknown;
|
|
168
169
|
}[];
|
|
169
170
|
/**
|
|
170
171
|
* Product catalog information for e-commerce advertisers. Enables SKU-level creative generation and product selection.
|
|
@@ -190,6 +191,7 @@ export interface BrandManifest {
|
|
|
190
191
|
* How frequently the product catalog is updated
|
|
191
192
|
*/
|
|
192
193
|
update_frequency?: 'realtime' | 'hourly' | 'daily' | 'weekly';
|
|
194
|
+
[k: string]: unknown;
|
|
193
195
|
};
|
|
194
196
|
/**
|
|
195
197
|
* Legal disclaimers or required text that must appear in creatives
|
|
@@ -246,6 +248,7 @@ export interface BrandManifest {
|
|
|
246
248
|
*/
|
|
247
249
|
version?: string;
|
|
248
250
|
};
|
|
251
|
+
[k: string]: unknown;
|
|
249
252
|
}
|
|
250
253
|
/**
|
|
251
254
|
* Structured filters for product discovery
|
|
@@ -294,6 +297,7 @@ export interface ProductFilters {
|
|
|
294
297
|
* Filter by advertising channels (e.g., ['display', 'video', 'dooh'])
|
|
295
298
|
*/
|
|
296
299
|
channels?: AdvertisingChannels[];
|
|
300
|
+
[k: string]: unknown;
|
|
297
301
|
}
|
|
298
302
|
/**
|
|
299
303
|
* 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.
|
|
@@ -319,6 +323,7 @@ export interface FormatID {
|
|
|
319
323
|
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
320
324
|
*/
|
|
321
325
|
duration_ms?: number;
|
|
326
|
+
[k: string]: unknown;
|
|
322
327
|
}
|
|
323
328
|
/**
|
|
324
329
|
* 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.
|
|
@@ -344,6 +349,7 @@ export type PublisherPropertySelector = {
|
|
|
344
349
|
* Discriminator indicating all properties from this publisher are included
|
|
345
350
|
*/
|
|
346
351
|
selection_type: 'all';
|
|
352
|
+
[k: string]: unknown;
|
|
347
353
|
} | {
|
|
348
354
|
/**
|
|
349
355
|
* Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
|
|
@@ -359,6 +365,7 @@ export type PublisherPropertySelector = {
|
|
|
359
365
|
* @minItems 1
|
|
360
366
|
*/
|
|
361
367
|
property_ids: [PropertyID, ...PropertyID[]];
|
|
368
|
+
[k: string]: unknown;
|
|
362
369
|
} | {
|
|
363
370
|
/**
|
|
364
371
|
* Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
|
|
@@ -374,6 +381,7 @@ export type PublisherPropertySelector = {
|
|
|
374
381
|
* @minItems 1
|
|
375
382
|
*/
|
|
376
383
|
property_tags: [PropertyTag, ...PropertyTag[]];
|
|
384
|
+
[k: string]: unknown;
|
|
377
385
|
};
|
|
378
386
|
/**
|
|
379
387
|
* Identifier for a publisher property. Must be lowercase alphanumeric with underscores only.
|
|
@@ -500,6 +508,7 @@ export interface Product {
|
|
|
500
508
|
manifest: {
|
|
501
509
|
[k: string]: unknown;
|
|
502
510
|
};
|
|
511
|
+
[k: string]: unknown;
|
|
503
512
|
};
|
|
504
513
|
/**
|
|
505
514
|
* Optional detailed card with carousel and full specifications. Provides rich product presentation similar to media kit pages.
|
|
@@ -512,8 +521,10 @@ export interface Product {
|
|
|
512
521
|
manifest: {
|
|
513
522
|
[k: string]: unknown;
|
|
514
523
|
};
|
|
524
|
+
[k: string]: unknown;
|
|
515
525
|
};
|
|
516
526
|
ext?: ExtensionObject;
|
|
527
|
+
[k: string]: unknown;
|
|
517
528
|
}
|
|
518
529
|
/**
|
|
519
530
|
* 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.
|
|
@@ -537,6 +548,7 @@ export interface Placement {
|
|
|
537
548
|
* @minItems 1
|
|
538
549
|
*/
|
|
539
550
|
format_ids?: [FormatID, ...FormatID[]];
|
|
551
|
+
[k: string]: unknown;
|
|
540
552
|
}
|
|
541
553
|
/**
|
|
542
554
|
* Cost Per Mille (cost per 1,000 impressions) with guaranteed fixed rate - common for direct/guaranteed deals
|
|
@@ -566,6 +578,7 @@ export interface CPMFixedRatePricingOption {
|
|
|
566
578
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
567
579
|
*/
|
|
568
580
|
min_spend_per_package?: number;
|
|
581
|
+
[k: string]: unknown;
|
|
569
582
|
}
|
|
570
583
|
/**
|
|
571
584
|
* Cost Per Mille (cost per 1,000 impressions) with auction-based pricing - common for programmatic/non-guaranteed inventory
|
|
@@ -616,6 +629,7 @@ export interface CPMAuctionPricingOption {
|
|
|
616
629
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
617
630
|
*/
|
|
618
631
|
min_spend_per_package?: number;
|
|
632
|
+
[k: string]: unknown;
|
|
619
633
|
}
|
|
620
634
|
/**
|
|
621
635
|
* Viewable Cost Per Mille (cost per 1,000 viewable impressions) with guaranteed fixed rate - impressions meeting MRC viewability standard (50% pixels in-view for 1 second for display, 2 seconds for video)
|
|
@@ -645,6 +659,7 @@ export interface VCPMFixedRatePricingOption {
|
|
|
645
659
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
646
660
|
*/
|
|
647
661
|
min_spend_per_package?: number;
|
|
662
|
+
[k: string]: unknown;
|
|
648
663
|
}
|
|
649
664
|
/**
|
|
650
665
|
* Viewable Cost Per Mille (cost per 1,000 viewable impressions) with auction-based pricing - impressions meeting MRC viewability standard (50% pixels in-view for 1 second for display, 2 seconds for video)
|
|
@@ -695,6 +710,7 @@ export interface VCPMAuctionPricingOption {
|
|
|
695
710
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
696
711
|
*/
|
|
697
712
|
min_spend_per_package?: number;
|
|
713
|
+
[k: string]: unknown;
|
|
698
714
|
}
|
|
699
715
|
/**
|
|
700
716
|
* Cost Per Click fixed-rate pricing for performance-driven advertising campaigns
|
|
@@ -724,6 +740,7 @@ export interface CPCPricingOption {
|
|
|
724
740
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
725
741
|
*/
|
|
726
742
|
min_spend_per_package?: number;
|
|
743
|
+
[k: string]: unknown;
|
|
727
744
|
}
|
|
728
745
|
/**
|
|
729
746
|
* Cost Per Completed View (100% video/audio completion) fixed-rate pricing
|
|
@@ -753,6 +770,7 @@ export interface CPCVPricingOption {
|
|
|
753
770
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
754
771
|
*/
|
|
755
772
|
min_spend_per_package?: number;
|
|
773
|
+
[k: string]: unknown;
|
|
756
774
|
}
|
|
757
775
|
/**
|
|
758
776
|
* Cost Per View (at publisher-defined threshold) fixed-rate pricing for video/audio
|
|
@@ -787,12 +805,15 @@ export interface CPVPricingOption {
|
|
|
787
805
|
* Seconds of viewing required (e.g., 30 for YouTube-style '30 seconds = view')
|
|
788
806
|
*/
|
|
789
807
|
duration_seconds: number;
|
|
808
|
+
[k: string]: unknown;
|
|
790
809
|
};
|
|
810
|
+
[k: string]: unknown;
|
|
791
811
|
};
|
|
792
812
|
/**
|
|
793
813
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
794
814
|
*/
|
|
795
815
|
min_spend_per_package?: number;
|
|
816
|
+
[k: string]: unknown;
|
|
796
817
|
}
|
|
797
818
|
/**
|
|
798
819
|
* Cost Per Point (Gross Rating Point) fixed-rate pricing for TV and audio campaigns requiring demographic measurement
|
|
@@ -830,11 +851,13 @@ export interface CPPPricingOption {
|
|
|
830
851
|
* Minimum GRPs/TRPs required for this pricing option
|
|
831
852
|
*/
|
|
832
853
|
min_points?: number;
|
|
854
|
+
[k: string]: unknown;
|
|
833
855
|
};
|
|
834
856
|
/**
|
|
835
857
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
836
858
|
*/
|
|
837
859
|
min_spend_per_package?: number;
|
|
860
|
+
[k: string]: unknown;
|
|
838
861
|
}
|
|
839
862
|
/**
|
|
840
863
|
* Flat rate pricing for DOOH, sponsorships, and time-based campaigns - fixed cost regardless of delivery volume
|
|
@@ -892,11 +915,13 @@ export interface FlatRatePricingOption {
|
|
|
892
915
|
* Specific daypart for time-based pricing (e.g., 'morning_commute', 'evening_prime', 'overnight')
|
|
893
916
|
*/
|
|
894
917
|
daypart?: string;
|
|
918
|
+
[k: string]: unknown;
|
|
895
919
|
};
|
|
896
920
|
/**
|
|
897
921
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
898
922
|
*/
|
|
899
923
|
min_spend_per_package?: number;
|
|
924
|
+
[k: string]: unknown;
|
|
900
925
|
}
|
|
901
926
|
/**
|
|
902
927
|
* Measurement capabilities included with a product
|
|
@@ -918,6 +943,7 @@ export interface Measurement {
|
|
|
918
943
|
* Reporting frequency and format
|
|
919
944
|
*/
|
|
920
945
|
reporting: string;
|
|
946
|
+
[k: string]: unknown;
|
|
921
947
|
}
|
|
922
948
|
/**
|
|
923
949
|
* Reporting capabilities available for a product
|
|
@@ -945,6 +971,7 @@ export interface ReportingCapabilities {
|
|
|
945
971
|
* Metrics available in reporting. Impressions and spend are always implicitly included.
|
|
946
972
|
*/
|
|
947
973
|
available_metrics: AvailableMetric[];
|
|
974
|
+
[k: string]: unknown;
|
|
948
975
|
}
|
|
949
976
|
/**
|
|
950
977
|
* Creative requirements and restrictions for a product
|
|
@@ -956,6 +983,7 @@ export interface CreativePolicy {
|
|
|
956
983
|
* Whether creative templates are provided
|
|
957
984
|
*/
|
|
958
985
|
templates_available: boolean;
|
|
986
|
+
[k: string]: unknown;
|
|
959
987
|
}
|
|
960
988
|
/**
|
|
961
989
|
* 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.
|
|
@@ -981,6 +1009,7 @@ export interface FormatID1 {
|
|
|
981
1009
|
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
982
1010
|
*/
|
|
983
1011
|
duration_ms?: number;
|
|
1012
|
+
[k: string]: unknown;
|
|
984
1013
|
}
|
|
985
1014
|
/**
|
|
986
1015
|
* 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.
|
|
@@ -1006,6 +1035,7 @@ export interface FormatID2 {
|
|
|
1006
1035
|
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
1007
1036
|
*/
|
|
1008
1037
|
duration_ms?: number;
|
|
1038
|
+
[k: string]: unknown;
|
|
1009
1039
|
}
|
|
1010
1040
|
/**
|
|
1011
1041
|
* 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.
|
|
@@ -1037,6 +1067,7 @@ export interface Error {
|
|
|
1037
1067
|
details?: {
|
|
1038
1068
|
[k: string]: unknown;
|
|
1039
1069
|
};
|
|
1070
|
+
[k: string]: unknown;
|
|
1040
1071
|
}
|
|
1041
1072
|
/**
|
|
1042
1073
|
* 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.
|
|
@@ -1092,6 +1123,14 @@ export type FormatIDParameter = 'dimensions' | 'duration';
|
|
|
1092
1123
|
* Type of asset
|
|
1093
1124
|
*/
|
|
1094
1125
|
export type AssetContentType1 = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'promoted_offerings' | 'url' | 'webhook';
|
|
1126
|
+
/**
|
|
1127
|
+
* Type of asset
|
|
1128
|
+
*/
|
|
1129
|
+
export type AssetContentType2 = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'promoted_offerings' | 'url' | 'webhook';
|
|
1130
|
+
/**
|
|
1131
|
+
* Type of asset
|
|
1132
|
+
*/
|
|
1133
|
+
export type AssetContentType3 = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'promoted_offerings' | 'url' | 'webhook';
|
|
1095
1134
|
/**
|
|
1096
1135
|
* Capabilities supported by creative agents for format handling
|
|
1097
1136
|
*/
|
|
@@ -1172,7 +1211,8 @@ export interface Format {
|
|
|
1172
1211
|
})[]
|
|
1173
1212
|
];
|
|
1174
1213
|
/**
|
|
1175
|
-
*
|
|
1214
|
+
* @deprecated
|
|
1215
|
+
* DEPRECATED: Use 'assets' instead. Array of required assets or asset groups for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Can contain individual assets or repeatable asset sequences (e.g., carousel products, slideshow frames). This field is maintained for backward compatibility; new implementations should use 'assets' with the 'required' boolean on each asset.
|
|
1176
1216
|
*/
|
|
1177
1217
|
assets_required?: ({
|
|
1178
1218
|
/**
|
|
@@ -1240,6 +1280,79 @@ export interface Format {
|
|
|
1240
1280
|
};
|
|
1241
1281
|
}[];
|
|
1242
1282
|
})[];
|
|
1283
|
+
/**
|
|
1284
|
+
* Array of all assets supported for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Use the 'required' boolean on each asset to indicate whether it's mandatory. This field replaces the deprecated 'assets_required' and enables full asset discovery for buyers and AI agents.
|
|
1285
|
+
*/
|
|
1286
|
+
assets?: ({
|
|
1287
|
+
/**
|
|
1288
|
+
* Discriminator indicating this is an individual asset
|
|
1289
|
+
*/
|
|
1290
|
+
item_type: 'individual';
|
|
1291
|
+
/**
|
|
1292
|
+
* Unique identifier for this asset. Creative manifests MUST use this exact value as the key in the assets object.
|
|
1293
|
+
*/
|
|
1294
|
+
asset_id: string;
|
|
1295
|
+
asset_type: AssetContentType2;
|
|
1296
|
+
/**
|
|
1297
|
+
* Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo', 'third_party_tracking'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1298
|
+
*/
|
|
1299
|
+
asset_role?: string;
|
|
1300
|
+
/**
|
|
1301
|
+
* Whether this asset is required (true) or optional (false). Required assets must be provided for a valid creative. Optional assets enhance the creative but are not mandatory.
|
|
1302
|
+
*/
|
|
1303
|
+
required: boolean;
|
|
1304
|
+
/**
|
|
1305
|
+
* Technical requirements for this asset (dimensions, file size, duration, etc.). For template formats, use parameters_from_format_id: true to indicate asset parameters must match the format_id parameters (width/height/unit and/or duration_ms).
|
|
1306
|
+
*/
|
|
1307
|
+
requirements?: {
|
|
1308
|
+
[k: string]: unknown;
|
|
1309
|
+
};
|
|
1310
|
+
} | {
|
|
1311
|
+
/**
|
|
1312
|
+
* Discriminator indicating this is a repeatable asset group
|
|
1313
|
+
*/
|
|
1314
|
+
item_type: 'repeatable_group';
|
|
1315
|
+
/**
|
|
1316
|
+
* Identifier for this asset group (e.g., 'product', 'slide', 'card')
|
|
1317
|
+
*/
|
|
1318
|
+
asset_group_id: string;
|
|
1319
|
+
/**
|
|
1320
|
+
* Whether this asset group is required. If true, at least min_count repetitions must be provided.
|
|
1321
|
+
*/
|
|
1322
|
+
required: boolean;
|
|
1323
|
+
/**
|
|
1324
|
+
* Minimum number of repetitions required (if group is required) or allowed (if optional)
|
|
1325
|
+
*/
|
|
1326
|
+
min_count: number;
|
|
1327
|
+
/**
|
|
1328
|
+
* Maximum number of repetitions allowed
|
|
1329
|
+
*/
|
|
1330
|
+
max_count: number;
|
|
1331
|
+
/**
|
|
1332
|
+
* Assets within each repetition of this group
|
|
1333
|
+
*/
|
|
1334
|
+
assets: {
|
|
1335
|
+
/**
|
|
1336
|
+
* Identifier for this asset within the group
|
|
1337
|
+
*/
|
|
1338
|
+
asset_id: string;
|
|
1339
|
+
asset_type: AssetContentType3;
|
|
1340
|
+
/**
|
|
1341
|
+
* Optional descriptive label for this asset's purpose. Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1342
|
+
*/
|
|
1343
|
+
asset_role?: string;
|
|
1344
|
+
/**
|
|
1345
|
+
* Whether this asset is required within each repetition of the group
|
|
1346
|
+
*/
|
|
1347
|
+
required: boolean;
|
|
1348
|
+
/**
|
|
1349
|
+
* Technical requirements for this asset. For template formats, use parameters_from_format_id: true to indicate asset parameters must match the format_id parameters (width/height/unit and/or duration_ms).
|
|
1350
|
+
*/
|
|
1351
|
+
requirements?: {
|
|
1352
|
+
[k: string]: unknown;
|
|
1353
|
+
};
|
|
1354
|
+
}[];
|
|
1355
|
+
})[];
|
|
1243
1356
|
/**
|
|
1244
1357
|
* Delivery method specifications (e.g., hosted, VAST, third-party tags)
|
|
1245
1358
|
*/
|
|
@@ -1265,6 +1378,7 @@ export interface Format {
|
|
|
1265
1378
|
manifest: {
|
|
1266
1379
|
[k: string]: unknown;
|
|
1267
1380
|
};
|
|
1381
|
+
[k: string]: unknown;
|
|
1268
1382
|
};
|
|
1269
1383
|
/**
|
|
1270
1384
|
* Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.
|
|
@@ -1277,7 +1391,9 @@ export interface Format {
|
|
|
1277
1391
|
manifest: {
|
|
1278
1392
|
[k: string]: unknown;
|
|
1279
1393
|
};
|
|
1394
|
+
[k: string]: unknown;
|
|
1280
1395
|
};
|
|
1396
|
+
[k: string]: unknown;
|
|
1281
1397
|
}
|
|
1282
1398
|
/**
|
|
1283
1399
|
* Structured format identifier with agent URL and format name
|
|
@@ -1303,6 +1419,7 @@ export interface FormatID3 {
|
|
|
1303
1419
|
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
1304
1420
|
*/
|
|
1305
1421
|
duration_ms?: number;
|
|
1422
|
+
[k: string]: unknown;
|
|
1306
1423
|
}
|
|
1307
1424
|
/**
|
|
1308
1425
|
* Standard error structure for task-specific errors and warnings
|
|
@@ -1340,6 +1457,7 @@ export type VASTAsset = {
|
|
|
1340
1457
|
* Tracking events supported by this VAST tag
|
|
1341
1458
|
*/
|
|
1342
1459
|
tracking_events?: VASTTrackingEvent[];
|
|
1460
|
+
[k: string]: unknown;
|
|
1343
1461
|
} | {
|
|
1344
1462
|
/**
|
|
1345
1463
|
* Discriminator indicating VAST is delivered as inline XML content
|
|
@@ -1362,6 +1480,7 @@ export type VASTAsset = {
|
|
|
1362
1480
|
* Tracking events supported by this VAST tag
|
|
1363
1481
|
*/
|
|
1364
1482
|
tracking_events?: VASTTrackingEvent[];
|
|
1483
|
+
[k: string]: unknown;
|
|
1365
1484
|
};
|
|
1366
1485
|
/**
|
|
1367
1486
|
* VAST specification version
|
|
@@ -1400,6 +1519,7 @@ export type DAASTAsset = {
|
|
|
1400
1519
|
* Whether companion display ads are included
|
|
1401
1520
|
*/
|
|
1402
1521
|
companion_ads?: boolean;
|
|
1522
|
+
[k: string]: unknown;
|
|
1403
1523
|
} | {
|
|
1404
1524
|
/**
|
|
1405
1525
|
* Discriminator indicating DAAST is delivered as inline XML content
|
|
@@ -1422,6 +1542,7 @@ export type DAASTAsset = {
|
|
|
1422
1542
|
* Whether companion display ads are included
|
|
1423
1543
|
*/
|
|
1424
1544
|
companion_ads?: boolean;
|
|
1545
|
+
[k: string]: unknown;
|
|
1425
1546
|
};
|
|
1426
1547
|
/**
|
|
1427
1548
|
* DAAST specification version
|
|
@@ -1555,6 +1676,7 @@ export interface PackageRequest {
|
|
|
1555
1676
|
*/
|
|
1556
1677
|
creatives?: CreativeAsset[];
|
|
1557
1678
|
ext?: ExtensionObject;
|
|
1679
|
+
[k: string]: unknown;
|
|
1558
1680
|
}
|
|
1559
1681
|
/**
|
|
1560
1682
|
* 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.
|
|
@@ -1585,6 +1707,7 @@ export interface TargetingOverlay {
|
|
|
1585
1707
|
*/
|
|
1586
1708
|
axe_exclude_segment?: string;
|
|
1587
1709
|
frequency_cap?: FrequencyCap;
|
|
1710
|
+
[k: string]: unknown;
|
|
1588
1711
|
}
|
|
1589
1712
|
/**
|
|
1590
1713
|
* Frequency capping settings for package-level application
|
|
@@ -1594,6 +1717,7 @@ export interface FrequencyCap {
|
|
|
1594
1717
|
* Minutes to suppress after impression
|
|
1595
1718
|
*/
|
|
1596
1719
|
suppress_minutes: number;
|
|
1720
|
+
[k: string]: unknown;
|
|
1597
1721
|
}
|
|
1598
1722
|
/**
|
|
1599
1723
|
* Creative asset for upload to library - supports static assets, generative formats, and third-party snippets
|
|
@@ -1612,11 +1736,7 @@ export interface CreativeAsset {
|
|
|
1612
1736
|
* Assets required by the format, keyed by asset_role
|
|
1613
1737
|
*/
|
|
1614
1738
|
assets: {
|
|
1615
|
-
|
|
1616
|
-
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
1617
|
-
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
|
1618
|
-
*/
|
|
1619
|
-
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset | PromotedOfferings | URLAsset;
|
|
1739
|
+
[k: string]: unknown;
|
|
1620
1740
|
};
|
|
1621
1741
|
/**
|
|
1622
1742
|
* Preview contexts for generative formats - defines what scenarios to generate previews for
|
|
@@ -1636,6 +1756,7 @@ export interface CreativeAsset {
|
|
|
1636
1756
|
* Natural language description of the context for AI-generated content
|
|
1637
1757
|
*/
|
|
1638
1758
|
context_description?: string;
|
|
1759
|
+
[k: string]: unknown;
|
|
1639
1760
|
}[];
|
|
1640
1761
|
/**
|
|
1641
1762
|
* User-defined tags for organization and searchability
|
|
@@ -1655,6 +1776,7 @@ export interface CreativeAsset {
|
|
|
1655
1776
|
* @minItems 1
|
|
1656
1777
|
*/
|
|
1657
1778
|
placement_ids?: [string, ...string[]];
|
|
1779
|
+
[k: string]: unknown;
|
|
1658
1780
|
}
|
|
1659
1781
|
/**
|
|
1660
1782
|
* 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.
|
|
@@ -1680,6 +1802,7 @@ export interface ImageAsset {
|
|
|
1680
1802
|
* Alternative text for accessibility
|
|
1681
1803
|
*/
|
|
1682
1804
|
alt_text?: string;
|
|
1805
|
+
[k: string]: unknown;
|
|
1683
1806
|
}
|
|
1684
1807
|
/**
|
|
1685
1808
|
* Video asset with URL and specifications
|
|
@@ -1709,6 +1832,7 @@ export interface VideoAsset {
|
|
|
1709
1832
|
* Video bitrate in kilobits per second
|
|
1710
1833
|
*/
|
|
1711
1834
|
bitrate_kbps?: number;
|
|
1835
|
+
[k: string]: unknown;
|
|
1712
1836
|
}
|
|
1713
1837
|
/**
|
|
1714
1838
|
* Audio asset with URL and specifications
|
|
@@ -1730,6 +1854,7 @@ export interface AudioAsset {
|
|
|
1730
1854
|
* Audio bitrate in kilobits per second
|
|
1731
1855
|
*/
|
|
1732
1856
|
bitrate_kbps?: number;
|
|
1857
|
+
[k: string]: unknown;
|
|
1733
1858
|
}
|
|
1734
1859
|
/**
|
|
1735
1860
|
* Text content asset
|
|
@@ -1743,6 +1868,7 @@ export interface TextAsset {
|
|
|
1743
1868
|
* Language code (e.g., 'en', 'es', 'fr')
|
|
1744
1869
|
*/
|
|
1745
1870
|
language?: string;
|
|
1871
|
+
[k: string]: unknown;
|
|
1746
1872
|
}
|
|
1747
1873
|
/**
|
|
1748
1874
|
* HTML content asset
|
|
@@ -1756,6 +1882,7 @@ export interface HTMLAsset {
|
|
|
1756
1882
|
* HTML version (e.g., 'HTML5')
|
|
1757
1883
|
*/
|
|
1758
1884
|
version?: string;
|
|
1885
|
+
[k: string]: unknown;
|
|
1759
1886
|
}
|
|
1760
1887
|
/**
|
|
1761
1888
|
* CSS stylesheet asset
|
|
@@ -1769,6 +1896,7 @@ export interface CSSAsset {
|
|
|
1769
1896
|
* CSS media query context (e.g., 'screen', 'print')
|
|
1770
1897
|
*/
|
|
1771
1898
|
media?: string;
|
|
1899
|
+
[k: string]: unknown;
|
|
1772
1900
|
}
|
|
1773
1901
|
/**
|
|
1774
1902
|
* JavaScript code asset
|
|
@@ -1779,6 +1907,7 @@ export interface JavaScriptAsset {
|
|
|
1779
1907
|
*/
|
|
1780
1908
|
content: string;
|
|
1781
1909
|
module_type?: JavaScriptModuleType;
|
|
1910
|
+
[k: string]: unknown;
|
|
1782
1911
|
}
|
|
1783
1912
|
/**
|
|
1784
1913
|
* Complete offering specification combining brand manifest, product selectors, and asset filters. Provides all context needed for creative generation about what is being promoted.
|
|
@@ -1804,6 +1933,7 @@ export interface PromotedOfferings {
|
|
|
1804
1933
|
assets?: {
|
|
1805
1934
|
[k: string]: unknown;
|
|
1806
1935
|
}[];
|
|
1936
|
+
[k: string]: unknown;
|
|
1807
1937
|
}[];
|
|
1808
1938
|
/**
|
|
1809
1939
|
* Selectors to choose specific assets from the brand manifest
|
|
@@ -1821,7 +1951,9 @@ export interface PromotedOfferings {
|
|
|
1821
1951
|
* Exclude assets with these tags
|
|
1822
1952
|
*/
|
|
1823
1953
|
exclude_tags?: string[];
|
|
1954
|
+
[k: string]: unknown;
|
|
1824
1955
|
};
|
|
1956
|
+
[k: string]: unknown;
|
|
1825
1957
|
}
|
|
1826
1958
|
/**
|
|
1827
1959
|
* Inline brand manifest object
|
|
@@ -1843,6 +1975,7 @@ export interface PromotedProducts {
|
|
|
1843
1975
|
* Natural language query to select products from the brand manifest (e.g., 'all Kraft Heinz pasta sauces', 'organic products under $20')
|
|
1844
1976
|
*/
|
|
1845
1977
|
manifest_query?: string;
|
|
1978
|
+
[k: string]: unknown;
|
|
1846
1979
|
}
|
|
1847
1980
|
/**
|
|
1848
1981
|
* URL reference asset
|
|
@@ -1857,6 +1990,7 @@ export interface URLAsset {
|
|
|
1857
1990
|
* Description of what this URL points to
|
|
1858
1991
|
*/
|
|
1859
1992
|
description?: string;
|
|
1993
|
+
[k: string]: unknown;
|
|
1860
1994
|
}
|
|
1861
1995
|
/**
|
|
1862
1996
|
* 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.
|
|
@@ -1935,6 +2069,7 @@ export interface Package {
|
|
|
1935
2069
|
*/
|
|
1936
2070
|
paused?: boolean;
|
|
1937
2071
|
ext?: ExtensionObject;
|
|
2072
|
+
[k: string]: unknown;
|
|
1938
2073
|
}
|
|
1939
2074
|
/**
|
|
1940
2075
|
* Optional geographic refinements for media buys. Most targeting should be expressed in the brief and handled by the publisher. These fields are primarily for geographic restrictions (RCT testing, regulatory compliance).
|
|
@@ -1954,6 +2089,7 @@ export interface CreativeAssignment {
|
|
|
1954
2089
|
* @minItems 1
|
|
1955
2090
|
*/
|
|
1956
2091
|
placement_ids?: [string, ...string[]];
|
|
2092
|
+
[k: string]: unknown;
|
|
1957
2093
|
}
|
|
1958
2094
|
/**
|
|
1959
2095
|
* 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.
|
|
@@ -2264,6 +2400,7 @@ export interface CreativeFilters {
|
|
|
2264
2400
|
* Filter creatives that have performance data when true
|
|
2265
2401
|
*/
|
|
2266
2402
|
has_performance_data?: boolean;
|
|
2403
|
+
[k: string]: unknown;
|
|
2267
2404
|
}
|
|
2268
2405
|
/**
|
|
2269
2406
|
* 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.
|
|
@@ -2288,6 +2425,7 @@ export type SubAsset = {
|
|
|
2288
2425
|
* URL for media assets (images, videos, etc.)
|
|
2289
2426
|
*/
|
|
2290
2427
|
content_uri: string;
|
|
2428
|
+
[k: string]: unknown;
|
|
2291
2429
|
} | {
|
|
2292
2430
|
/**
|
|
2293
2431
|
* Discriminator indicating this is a text asset with content
|
|
@@ -2305,6 +2443,7 @@ export type SubAsset = {
|
|
|
2305
2443
|
* Text content for text-based assets like headlines, body text, CTA text, etc.
|
|
2306
2444
|
*/
|
|
2307
2445
|
content: string | string[];
|
|
2446
|
+
[k: string]: unknown;
|
|
2308
2447
|
};
|
|
2309
2448
|
/**
|
|
2310
2449
|
* Response from creative library query with filtered results, metadata, and optional enriched data
|
|
@@ -2902,7 +3041,9 @@ export interface DeliveryMetrics {
|
|
|
2902
3041
|
* Number of screens used at this venue
|
|
2903
3042
|
*/
|
|
2904
3043
|
screens_used?: number;
|
|
3044
|
+
[k: string]: unknown;
|
|
2905
3045
|
}[];
|
|
3046
|
+
[k: string]: unknown;
|
|
2906
3047
|
};
|
|
2907
3048
|
[k: string]: unknown;
|
|
2908
3049
|
}
|
|
@@ -3084,13 +3225,10 @@ export interface CreativeManifest {
|
|
|
3084
3225
|
* IMPORTANT: Creative manifest validation MUST be performed in the context of the format specification. The format defines what type each asset_id should be, which eliminates any validation ambiguity.
|
|
3085
3226
|
*/
|
|
3086
3227
|
assets: {
|
|
3087
|
-
|
|
3088
|
-
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
3089
|
-
* via the `patternProperty` "^[a-z0-9_]+$".
|
|
3090
|
-
*/
|
|
3091
|
-
[k: string]: ImageAsset | VideoAsset | AudioAsset | VASTAsset | TextAsset | URLAsset | HTMLAsset | JavaScriptAsset | WebhookAsset | CSSAsset | DAASTAsset | PromotedOfferings;
|
|
3228
|
+
[k: string]: unknown;
|
|
3092
3229
|
};
|
|
3093
3230
|
ext?: ExtensionObject;
|
|
3231
|
+
[k: string]: unknown;
|
|
3094
3232
|
}
|
|
3095
3233
|
/**
|
|
3096
3234
|
* Format identifier this manifest is for. Can be a template format (id only) or a deterministic format (id + dimensions/duration). For dimension-specific creatives, include width/height/unit in the format_id to create a unique identifier (e.g., {id: 'display_static', width: 300, height: 250, unit: 'px'}).
|
|
@@ -3128,6 +3266,7 @@ export interface WebhookAsset {
|
|
|
3128
3266
|
*/
|
|
3129
3267
|
api_key_header?: string;
|
|
3130
3268
|
};
|
|
3269
|
+
[k: string]: unknown;
|
|
3131
3270
|
}
|
|
3132
3271
|
/**
|
|
3133
3272
|
* CSS stylesheet asset
|
|
@@ -3177,7 +3316,7 @@ export type PreviewCreativeRequest = {
|
|
|
3177
3316
|
*/
|
|
3178
3317
|
name: string;
|
|
3179
3318
|
/**
|
|
3180
|
-
* Macro values to use for this preview. Supports all universal macros from the format's supported_macros list. See docs/
|
|
3319
|
+
* Macro values to use for this preview. Supports all universal macros from the format's supported_macros list. See docs/creative/universal-macros.md for available macros.
|
|
3181
3320
|
*/
|
|
3182
3321
|
macros?: {
|
|
3183
3322
|
[k: string]: string;
|
|
@@ -3263,13 +3402,10 @@ export interface CreativeManifest1 {
|
|
|
3263
3402
|
* IMPORTANT: Creative manifest validation MUST be performed in the context of the format specification. The format defines what type each asset_id should be, which eliminates any validation ambiguity.
|
|
3264
3403
|
*/
|
|
3265
3404
|
assets: {
|
|
3266
|
-
|
|
3267
|
-
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
3268
|
-
* via the `patternProperty` "^[a-z0-9_]+$".
|
|
3269
|
-
*/
|
|
3270
|
-
[k: string]: ImageAsset | VideoAsset | AudioAsset | VASTAsset | TextAsset | URLAsset | HTMLAsset | JavaScriptAsset | WebhookAsset | CSSAsset | DAASTAsset | PromotedOfferings;
|
|
3405
|
+
[k: string]: unknown;
|
|
3271
3406
|
};
|
|
3272
3407
|
ext?: ExtensionObject;
|
|
3408
|
+
[k: string]: unknown;
|
|
3273
3409
|
}
|
|
3274
3410
|
/**
|
|
3275
3411
|
* Response containing preview links for one or more creatives. Format matches the request: single preview response for single requests, batch results for batch requests.
|
|
@@ -3323,6 +3459,7 @@ export type PreviewRender = {
|
|
|
3323
3459
|
*/
|
|
3324
3460
|
csp_policy?: string;
|
|
3325
3461
|
};
|
|
3462
|
+
[k: string]: unknown;
|
|
3326
3463
|
} | {
|
|
3327
3464
|
/**
|
|
3328
3465
|
* Unique identifier for this rendered piece within the variant
|
|
@@ -3368,6 +3505,7 @@ export type PreviewRender = {
|
|
|
3368
3505
|
*/
|
|
3369
3506
|
csp_policy?: string;
|
|
3370
3507
|
};
|
|
3508
|
+
[k: string]: unknown;
|
|
3371
3509
|
} | {
|
|
3372
3510
|
/**
|
|
3373
3511
|
* Unique identifier for this rendered piece within the variant
|
|
@@ -3417,6 +3555,7 @@ export type PreviewRender = {
|
|
|
3417
3555
|
*/
|
|
3418
3556
|
csp_policy?: string;
|
|
3419
3557
|
};
|
|
3558
|
+
[k: string]: unknown;
|
|
3420
3559
|
};
|
|
3421
3560
|
/**
|
|
3422
3561
|
* Single preview response - each preview URL returns an HTML page that can be embedded in an iframe
|
|
@@ -3506,6 +3645,7 @@ export type Destination = {
|
|
|
3506
3645
|
* Optional account identifier on the platform
|
|
3507
3646
|
*/
|
|
3508
3647
|
account?: string;
|
|
3648
|
+
[k: string]: unknown;
|
|
3509
3649
|
} | {
|
|
3510
3650
|
/**
|
|
3511
3651
|
* Discriminator indicating this is an agent URL-based deployment
|
|
@@ -3519,6 +3659,7 @@ export type Destination = {
|
|
|
3519
3659
|
* Optional account identifier on the agent
|
|
3520
3660
|
*/
|
|
3521
3661
|
account?: string;
|
|
3662
|
+
[k: string]: unknown;
|
|
3522
3663
|
};
|
|
3523
3664
|
/**
|
|
3524
3665
|
* Types of signal catalogs available for audience targeting
|
|
@@ -3573,6 +3714,7 @@ export interface SignalFilters {
|
|
|
3573
3714
|
* Minimum coverage requirement
|
|
3574
3715
|
*/
|
|
3575
3716
|
min_coverage_percentage?: number;
|
|
3717
|
+
[k: string]: unknown;
|
|
3576
3718
|
}
|
|
3577
3719
|
/**
|
|
3578
3720
|
* 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.
|
|
@@ -3606,6 +3748,7 @@ export type Deployment = {
|
|
|
3606
3748
|
* Timestamp when activation completed (if is_live=true)
|
|
3607
3749
|
*/
|
|
3608
3750
|
deployed_at?: string;
|
|
3751
|
+
[k: string]: unknown;
|
|
3609
3752
|
} | {
|
|
3610
3753
|
/**
|
|
3611
3754
|
* Discriminator indicating this is an agent URL-based deployment
|
|
@@ -3632,6 +3775,7 @@ export type Deployment = {
|
|
|
3632
3775
|
* Timestamp when activation completed (if is_live=true)
|
|
3633
3776
|
*/
|
|
3634
3777
|
deployed_at?: string;
|
|
3778
|
+
[k: string]: unknown;
|
|
3635
3779
|
};
|
|
3636
3780
|
/**
|
|
3637
3781
|
* The key to use for targeting. Only present if is_live=true AND requester has access to this deployment.
|
|
@@ -3645,6 +3789,7 @@ export type ActivationKey = {
|
|
|
3645
3789
|
* The platform-specific segment identifier to use in campaign targeting
|
|
3646
3790
|
*/
|
|
3647
3791
|
segment_id: string;
|
|
3792
|
+
[k: string]: unknown;
|
|
3648
3793
|
} | {
|
|
3649
3794
|
/**
|
|
3650
3795
|
* Key-value pair based targeting
|
|
@@ -3658,6 +3803,7 @@ export type ActivationKey = {
|
|
|
3658
3803
|
* The targeting parameter value
|
|
3659
3804
|
*/
|
|
3660
3805
|
value: string;
|
|
3806
|
+
[k: string]: unknown;
|
|
3661
3807
|
};
|
|
3662
3808
|
/**
|
|
3663
3809
|
* The key to use for targeting. Only present if is_live=true AND requester has access to this deployment.
|
|
@@ -3671,6 +3817,7 @@ export type ActivationKey1 = {
|
|
|
3671
3817
|
* The platform-specific segment identifier to use in campaign targeting
|
|
3672
3818
|
*/
|
|
3673
3819
|
segment_id: string;
|
|
3820
|
+
[k: string]: unknown;
|
|
3674
3821
|
} | {
|
|
3675
3822
|
/**
|
|
3676
3823
|
* Key-value pair based targeting
|
|
@@ -3684,6 +3831,7 @@ export type ActivationKey1 = {
|
|
|
3684
3831
|
* The targeting parameter value
|
|
3685
3832
|
*/
|
|
3686
3833
|
value: string;
|
|
3834
|
+
[k: string]: unknown;
|
|
3687
3835
|
};
|
|
3688
3836
|
/**
|
|
3689
3837
|
* Response payload for get_signals task
|