@adcp/client 3.1.0 → 3.2.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/README.md +3 -0
- package/dist/lib/agents/index.generated.d.ts +27 -50
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +12 -24
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/core/ADCPMultiAgentClient.d.ts +150 -41
- package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -1
- package/dist/lib/core/ADCPMultiAgentClient.js +150 -41
- package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -1
- package/dist/lib/core/CreativeAgentClient.d.ts.map +1 -1
- package/dist/lib/core/CreativeAgentClient.js +6 -1
- package/dist/lib/core/CreativeAgentClient.js.map +1 -1
- package/dist/lib/core/ResponseValidator.d.ts.map +1 -1
- package/dist/lib/core/ResponseValidator.js +5 -6
- package/dist/lib/core/ResponseValidator.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +3 -8
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +1 -1
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +60 -61
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +30 -15
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +86 -26
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/protocols/a2a.d.ts +2 -1
- package/dist/lib/protocols/a2a.d.ts.map +1 -1
- package/dist/lib/protocols/a2a.js +10 -2
- package/dist/lib/protocols/a2a.js.map +1 -1
- package/dist/lib/protocols/index.d.ts +12 -1
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +29 -14
- package/dist/lib/protocols/index.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +185 -163
- 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 +3536 -3236
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +440 -365
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +590 -565
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/utils/index.d.ts +3 -0
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +10 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/response-unwrapper.d.ts +36 -0
- package/dist/lib/utils/response-unwrapper.d.ts.map +1 -0
- package/dist/lib/utils/response-unwrapper.js +331 -0
- package/dist/lib/utils/response-unwrapper.js.map +1 -0
- package/dist/lib/version.d.ts +13 -5
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +19 -5
- package/dist/lib/version.js.map +1 -1
- package/package.json +4 -6
|
@@ -10,6 +10,14 @@ export type AssetContentType = 'image' | 'video' | 'audio' | 'text' | 'markdown'
|
|
|
10
10
|
* Type of inventory delivery
|
|
11
11
|
*/
|
|
12
12
|
export type DeliveryType = 'guaranteed' | 'non_guaranteed';
|
|
13
|
+
/**
|
|
14
|
+
* High-level categories for creative formats based on media type and delivery channel. Describes WHERE and HOW a creative displays, not what content it contains.
|
|
15
|
+
*/
|
|
16
|
+
export type FormatCategory = 'audio' | 'video' | 'display' | 'native' | 'dooh' | 'rich_media' | 'universal';
|
|
17
|
+
/**
|
|
18
|
+
* Standard advertising channels supported by AdCP
|
|
19
|
+
*/
|
|
20
|
+
export type AdvertisingChannels = 'display' | 'video' | 'audio' | 'native' | 'dooh' | 'ctv' | 'podcast' | 'retail' | 'social';
|
|
13
21
|
/**
|
|
14
22
|
* Request parameters for discovering available advertising products
|
|
15
23
|
*/
|
|
@@ -19,38 +27,9 @@ export interface GetProductsRequest {
|
|
|
19
27
|
*/
|
|
20
28
|
brief?: string;
|
|
21
29
|
brand_manifest?: BrandManifestReference;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
filters?: {
|
|
26
|
-
delivery_type?: DeliveryType;
|
|
27
|
-
/**
|
|
28
|
-
* Filter for fixed price vs auction products
|
|
29
|
-
*/
|
|
30
|
-
is_fixed_price?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Filter by format types
|
|
33
|
-
*/
|
|
34
|
-
format_types?: ('video' | 'display' | 'audio')[];
|
|
35
|
-
/**
|
|
36
|
-
* Filter by specific format IDs
|
|
37
|
-
*/
|
|
38
|
-
format_ids?: FormatID[];
|
|
39
|
-
/**
|
|
40
|
-
* Only return products accepting IAB standard formats
|
|
41
|
-
*/
|
|
42
|
-
standard_formats_only?: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Minimum exposures/impressions needed for measurement validity
|
|
45
|
-
*/
|
|
46
|
-
min_exposures?: number;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.
|
|
50
|
-
*/
|
|
51
|
-
context?: {
|
|
52
|
-
[k: string]: unknown;
|
|
53
|
-
};
|
|
30
|
+
filters?: ProductFilters;
|
|
31
|
+
context?: ContextObject;
|
|
32
|
+
ext?: ExtensionObject;
|
|
54
33
|
}
|
|
55
34
|
/**
|
|
56
35
|
* Inline brand manifest object
|
|
@@ -269,7 +248,55 @@ export interface BrandManifest {
|
|
|
269
248
|
};
|
|
270
249
|
}
|
|
271
250
|
/**
|
|
272
|
-
* Structured
|
|
251
|
+
* Structured filters for product discovery
|
|
252
|
+
*/
|
|
253
|
+
export interface ProductFilters {
|
|
254
|
+
delivery_type?: DeliveryType;
|
|
255
|
+
/**
|
|
256
|
+
* Filter for fixed price vs auction products
|
|
257
|
+
*/
|
|
258
|
+
is_fixed_price?: boolean;
|
|
259
|
+
/**
|
|
260
|
+
* Filter by format types
|
|
261
|
+
*/
|
|
262
|
+
format_types?: FormatCategory[];
|
|
263
|
+
/**
|
|
264
|
+
* Filter by specific format IDs
|
|
265
|
+
*/
|
|
266
|
+
format_ids?: FormatID[];
|
|
267
|
+
/**
|
|
268
|
+
* Only return products accepting IAB standard formats
|
|
269
|
+
*/
|
|
270
|
+
standard_formats_only?: boolean;
|
|
271
|
+
/**
|
|
272
|
+
* Minimum exposures/impressions needed for measurement validity
|
|
273
|
+
*/
|
|
274
|
+
min_exposures?: number;
|
|
275
|
+
/**
|
|
276
|
+
* Campaign start date (ISO 8601 date format: YYYY-MM-DD) for availability checks
|
|
277
|
+
*/
|
|
278
|
+
start_date?: string;
|
|
279
|
+
/**
|
|
280
|
+
* Campaign end date (ISO 8601 date format: YYYY-MM-DD) for availability checks
|
|
281
|
+
*/
|
|
282
|
+
end_date?: string;
|
|
283
|
+
/**
|
|
284
|
+
* Budget range to filter appropriate products
|
|
285
|
+
*/
|
|
286
|
+
budget_range?: {
|
|
287
|
+
[k: string]: unknown;
|
|
288
|
+
};
|
|
289
|
+
/**
|
|
290
|
+
* Filter by target countries using ISO 3166-1 alpha-2 country codes (e.g., ['US', 'CA', 'GB'])
|
|
291
|
+
*/
|
|
292
|
+
countries?: string[];
|
|
293
|
+
/**
|
|
294
|
+
* Filter by advertising channels (e.g., ['display', 'video', 'dooh'])
|
|
295
|
+
*/
|
|
296
|
+
channels?: AdvertisingChannels[];
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* 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.
|
|
273
300
|
*/
|
|
274
301
|
export interface FormatID {
|
|
275
302
|
/**
|
|
@@ -277,9 +304,33 @@ export interface FormatID {
|
|
|
277
304
|
*/
|
|
278
305
|
agent_url: string;
|
|
279
306
|
/**
|
|
280
|
-
* Format identifier within the agent's namespace (e.g., '
|
|
307
|
+
* Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant.
|
|
281
308
|
*/
|
|
282
309
|
id: string;
|
|
310
|
+
/**
|
|
311
|
+
* Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
312
|
+
*/
|
|
313
|
+
width?: number;
|
|
314
|
+
/**
|
|
315
|
+
* Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
316
|
+
*/
|
|
317
|
+
height?: number;
|
|
318
|
+
/**
|
|
319
|
+
* 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
|
+
*/
|
|
321
|
+
duration_ms?: number;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* 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.
|
|
325
|
+
*/
|
|
326
|
+
export interface ContextObject {
|
|
327
|
+
[k: string]: unknown;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* 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.
|
|
331
|
+
*/
|
|
332
|
+
export interface ExtensionObject {
|
|
333
|
+
[k: string]: unknown;
|
|
283
334
|
}
|
|
284
335
|
/**
|
|
285
336
|
* 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.
|
|
@@ -307,7 +358,7 @@ export type PublisherPropertySelector = {
|
|
|
307
358
|
*
|
|
308
359
|
* @minItems 1
|
|
309
360
|
*/
|
|
310
|
-
property_ids: [
|
|
361
|
+
property_ids: [PropertyID, ...PropertyID[]];
|
|
311
362
|
} | {
|
|
312
363
|
/**
|
|
313
364
|
* Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
|
|
@@ -322,12 +373,36 @@ export type PublisherPropertySelector = {
|
|
|
322
373
|
*
|
|
323
374
|
* @minItems 1
|
|
324
375
|
*/
|
|
325
|
-
property_tags: [
|
|
376
|
+
property_tags: [PropertyTag, ...PropertyTag[]];
|
|
326
377
|
};
|
|
378
|
+
/**
|
|
379
|
+
* Identifier for a publisher property. Must be lowercase alphanumeric with underscores only.
|
|
380
|
+
*/
|
|
381
|
+
export type PropertyID = string;
|
|
382
|
+
/**
|
|
383
|
+
* Tag for categorizing publisher properties. Must be lowercase alphanumeric with underscores only.
|
|
384
|
+
*/
|
|
385
|
+
export type PropertyTag = string;
|
|
327
386
|
/**
|
|
328
387
|
* Type of inventory delivery
|
|
329
388
|
*/
|
|
330
389
|
export type PricingOption = CPMFixedRatePricingOption | CPMAuctionPricingOption | VCPMFixedRatePricingOption | VCPMAuctionPricingOption | CPCPricingOption | CPCVPricingOption | CPVPricingOption | CPPPricingOption | FlatRatePricingOption;
|
|
390
|
+
/**
|
|
391
|
+
* Available frequencies for delivery reports and metrics updates
|
|
392
|
+
*/
|
|
393
|
+
export type ReportingFrequency = 'hourly' | 'daily' | 'monthly';
|
|
394
|
+
/**
|
|
395
|
+
* Standard delivery and performance metrics available for reporting
|
|
396
|
+
*/
|
|
397
|
+
export type AvailableMetric = 'impressions' | 'spend' | 'clicks' | 'ctr' | 'video_completions' | 'completion_rate' | 'conversions' | 'viewability' | 'engagement_rate';
|
|
398
|
+
/**
|
|
399
|
+
* Co-branding requirement
|
|
400
|
+
*/
|
|
401
|
+
export type CoBrandingRequirement = 'required' | 'optional' | 'none';
|
|
402
|
+
/**
|
|
403
|
+
* Landing page requirements
|
|
404
|
+
*/
|
|
405
|
+
export type LandingPageRequirement = 'any' | 'retailer_site_only' | 'must_include_retailer';
|
|
331
406
|
/**
|
|
332
407
|
* Response payload for get_products task
|
|
333
408
|
*/
|
|
@@ -340,10 +415,8 @@ export interface GetProductsResponse {
|
|
|
340
415
|
* Task-specific errors and warnings (e.g., product filtering issues)
|
|
341
416
|
*/
|
|
342
417
|
errors?: Error[];
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
*/
|
|
346
|
-
context?: {};
|
|
418
|
+
context?: ContextObject;
|
|
419
|
+
ext?: ExtensionObject;
|
|
347
420
|
}
|
|
348
421
|
/**
|
|
349
422
|
* Represents available advertising inventory
|
|
@@ -440,9 +513,10 @@ export interface Product {
|
|
|
440
513
|
[k: string]: unknown;
|
|
441
514
|
};
|
|
442
515
|
};
|
|
516
|
+
ext?: ExtensionObject;
|
|
443
517
|
}
|
|
444
518
|
/**
|
|
445
|
-
* Structured format identifier with agent URL and format name
|
|
519
|
+
* 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.
|
|
446
520
|
*/
|
|
447
521
|
export interface Placement {
|
|
448
522
|
/**
|
|
@@ -458,7 +532,7 @@ export interface Placement {
|
|
|
458
532
|
*/
|
|
459
533
|
description?: string;
|
|
460
534
|
/**
|
|
461
|
-
* Format IDs supported by this specific placement (
|
|
535
|
+
* 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).
|
|
462
536
|
*
|
|
463
537
|
* @minItems 1
|
|
464
538
|
*/
|
|
@@ -854,7 +928,7 @@ export interface ReportingCapabilities {
|
|
|
854
928
|
*
|
|
855
929
|
* @minItems 1
|
|
856
930
|
*/
|
|
857
|
-
available_reporting_frequencies: [
|
|
931
|
+
available_reporting_frequencies: [ReportingFrequency, ...ReportingFrequency[]];
|
|
858
932
|
/**
|
|
859
933
|
* Expected delay in minutes before reporting data becomes available (e.g., 240 for 4-hour delay)
|
|
860
934
|
*/
|
|
@@ -870,27 +944,21 @@ export interface ReportingCapabilities {
|
|
|
870
944
|
/**
|
|
871
945
|
* Metrics available in reporting. Impressions and spend are always implicitly included.
|
|
872
946
|
*/
|
|
873
|
-
available_metrics:
|
|
947
|
+
available_metrics: AvailableMetric[];
|
|
874
948
|
}
|
|
875
949
|
/**
|
|
876
950
|
* Creative requirements and restrictions for a product
|
|
877
951
|
*/
|
|
878
952
|
export interface CreativePolicy {
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
*/
|
|
882
|
-
co_branding: 'required' | 'optional' | 'none';
|
|
883
|
-
/**
|
|
884
|
-
* Landing page requirements
|
|
885
|
-
*/
|
|
886
|
-
landing_page: 'any' | 'retailer_site_only' | 'must_include_retailer';
|
|
953
|
+
co_branding: CoBrandingRequirement;
|
|
954
|
+
landing_page: LandingPageRequirement;
|
|
887
955
|
/**
|
|
888
956
|
* Whether creative templates are provided
|
|
889
957
|
*/
|
|
890
958
|
templates_available: boolean;
|
|
891
959
|
}
|
|
892
960
|
/**
|
|
893
|
-
* Structured format identifier with agent URL and format name
|
|
961
|
+
* 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.
|
|
894
962
|
*/
|
|
895
963
|
export interface FormatID1 {
|
|
896
964
|
/**
|
|
@@ -898,12 +966,24 @@ export interface FormatID1 {
|
|
|
898
966
|
*/
|
|
899
967
|
agent_url: string;
|
|
900
968
|
/**
|
|
901
|
-
* Format identifier within the agent's namespace (e.g., '
|
|
969
|
+
* Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant.
|
|
902
970
|
*/
|
|
903
971
|
id: string;
|
|
972
|
+
/**
|
|
973
|
+
* Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
974
|
+
*/
|
|
975
|
+
width?: number;
|
|
976
|
+
/**
|
|
977
|
+
* Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
978
|
+
*/
|
|
979
|
+
height?: number;
|
|
980
|
+
/**
|
|
981
|
+
* 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
|
+
*/
|
|
983
|
+
duration_ms?: number;
|
|
904
984
|
}
|
|
905
985
|
/**
|
|
906
|
-
* Structured format identifier with agent URL and format name
|
|
986
|
+
* 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.
|
|
907
987
|
*/
|
|
908
988
|
export interface FormatID2 {
|
|
909
989
|
/**
|
|
@@ -911,12 +991,24 @@ export interface FormatID2 {
|
|
|
911
991
|
*/
|
|
912
992
|
agent_url: string;
|
|
913
993
|
/**
|
|
914
|
-
* Format identifier within the agent's namespace (e.g., '
|
|
994
|
+
* Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant.
|
|
915
995
|
*/
|
|
916
996
|
id: string;
|
|
997
|
+
/**
|
|
998
|
+
* Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
999
|
+
*/
|
|
1000
|
+
width?: number;
|
|
1001
|
+
/**
|
|
1002
|
+
* Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
1003
|
+
*/
|
|
1004
|
+
height?: number;
|
|
1005
|
+
/**
|
|
1006
|
+
* 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
|
+
*/
|
|
1008
|
+
duration_ms?: number;
|
|
917
1009
|
}
|
|
918
1010
|
/**
|
|
919
|
-
*
|
|
1011
|
+
* 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.
|
|
920
1012
|
*/
|
|
921
1013
|
export interface Error {
|
|
922
1014
|
/**
|
|
@@ -947,11 +1039,10 @@ export interface Error {
|
|
|
947
1039
|
};
|
|
948
1040
|
}
|
|
949
1041
|
/**
|
|
950
|
-
*
|
|
1042
|
+
* 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.
|
|
951
1043
|
*/
|
|
952
|
-
export type FormatCategory = 'audio' | 'video' | 'display' | 'native' | 'dooh' | 'rich_media' | 'universal';
|
|
953
1044
|
/**
|
|
954
|
-
*
|
|
1045
|
+
* Filter by format type (technical categories with distinct requirements)
|
|
955
1046
|
*/
|
|
956
1047
|
export interface ListCreativeFormatsRequest {
|
|
957
1048
|
/**
|
|
@@ -987,20 +1078,24 @@ export interface ListCreativeFormatsRequest {
|
|
|
987
1078
|
* Search for formats by name (case-insensitive partial match)
|
|
988
1079
|
*/
|
|
989
1080
|
name_search?: string;
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
*/
|
|
993
|
-
context?: {
|
|
994
|
-
[k: string]: unknown;
|
|
995
|
-
};
|
|
1081
|
+
context?: ContextObject;
|
|
1082
|
+
ext?: ExtensionObject;
|
|
996
1083
|
}
|
|
997
1084
|
/**
|
|
998
|
-
* Structured format identifier with agent URL and format name
|
|
1085
|
+
* 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.
|
|
999
1086
|
*/
|
|
1000
1087
|
/**
|
|
1001
1088
|
* Media type of this format - determines rendering method and asset requirements
|
|
1002
1089
|
*/
|
|
1090
|
+
export type FormatIDParameter = 'dimensions' | 'duration';
|
|
1091
|
+
/**
|
|
1092
|
+
* Type of asset
|
|
1093
|
+
*/
|
|
1003
1094
|
export type AssetContentType1 = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'promoted_offerings' | 'url' | 'webhook';
|
|
1095
|
+
/**
|
|
1096
|
+
* Capabilities supported by creative agents for format handling
|
|
1097
|
+
*/
|
|
1098
|
+
export type CreativeAgentCapability = 'validation' | 'assembly' | 'generation' | 'preview';
|
|
1004
1099
|
/**
|
|
1005
1100
|
* Response payload for list_creative_formats task
|
|
1006
1101
|
*/
|
|
@@ -1024,16 +1119,14 @@ export interface ListCreativeFormatsResponse {
|
|
|
1024
1119
|
/**
|
|
1025
1120
|
* Capabilities this creative agent provides
|
|
1026
1121
|
*/
|
|
1027
|
-
capabilities?:
|
|
1122
|
+
capabilities?: CreativeAgentCapability[];
|
|
1028
1123
|
}[];
|
|
1029
1124
|
/**
|
|
1030
1125
|
* Task-specific errors and warnings (e.g., format availability issues)
|
|
1031
1126
|
*/
|
|
1032
1127
|
errors?: Error[];
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
*/
|
|
1036
|
-
context?: {};
|
|
1128
|
+
context?: ContextObject;
|
|
1129
|
+
ext?: ExtensionObject;
|
|
1037
1130
|
}
|
|
1038
1131
|
/**
|
|
1039
1132
|
* Represents a creative format with its requirements
|
|
@@ -1057,112 +1150,26 @@ export interface Format {
|
|
|
1057
1150
|
*/
|
|
1058
1151
|
example_url?: string;
|
|
1059
1152
|
type: FormatCategory;
|
|
1153
|
+
/**
|
|
1154
|
+
* List of parameters this format accepts in format_id. Template formats define which parameters (dimensions, duration, etc.) can be specified when instantiating the format. Empty or omitted means this is a concrete format with fixed parameters.
|
|
1155
|
+
*/
|
|
1156
|
+
accepts_parameters?: FormatIDParameter[];
|
|
1060
1157
|
/**
|
|
1061
1158
|
* Specification of rendered pieces for this format. Most formats produce a single render. Companion ad formats (video + banner), adaptive formats, and multi-placement formats produce multiple renders. Each render specifies its role and dimensions.
|
|
1062
1159
|
*
|
|
1063
1160
|
* @minItems 1
|
|
1064
1161
|
*/
|
|
1065
1162
|
renders?: [
|
|
1066
|
-
{
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
* Fixed width in specified units
|
|
1077
|
-
*/
|
|
1078
|
-
width?: number;
|
|
1079
|
-
/**
|
|
1080
|
-
* Fixed height in specified units
|
|
1081
|
-
*/
|
|
1082
|
-
height?: number;
|
|
1083
|
-
/**
|
|
1084
|
-
* Minimum width for responsive renders
|
|
1085
|
-
*/
|
|
1086
|
-
min_width?: number;
|
|
1087
|
-
/**
|
|
1088
|
-
* Minimum height for responsive renders
|
|
1089
|
-
*/
|
|
1090
|
-
min_height?: number;
|
|
1091
|
-
/**
|
|
1092
|
-
* Maximum width for responsive renders
|
|
1093
|
-
*/
|
|
1094
|
-
max_width?: number;
|
|
1095
|
-
/**
|
|
1096
|
-
* Maximum height for responsive renders
|
|
1097
|
-
*/
|
|
1098
|
-
max_height?: number;
|
|
1099
|
-
/**
|
|
1100
|
-
* Indicates which dimensions are responsive/fluid
|
|
1101
|
-
*/
|
|
1102
|
-
responsive?: {
|
|
1103
|
-
width: boolean;
|
|
1104
|
-
height: boolean;
|
|
1105
|
-
};
|
|
1106
|
-
/**
|
|
1107
|
-
* Fixed aspect ratio constraint (e.g., '16:9', '4:3', '1:1')
|
|
1108
|
-
*/
|
|
1109
|
-
aspect_ratio?: string;
|
|
1110
|
-
/**
|
|
1111
|
-
* Unit of measurement for dimensions
|
|
1112
|
-
*/
|
|
1113
|
-
unit: 'px' | 'dp' | 'inches' | 'cm';
|
|
1114
|
-
};
|
|
1115
|
-
},
|
|
1116
|
-
...{
|
|
1117
|
-
/**
|
|
1118
|
-
* Semantic role of this rendered piece (e.g., 'primary', 'companion', 'mobile_variant')
|
|
1119
|
-
*/
|
|
1120
|
-
role: string;
|
|
1121
|
-
/**
|
|
1122
|
-
* Dimensions for this rendered piece
|
|
1123
|
-
*/
|
|
1124
|
-
dimensions: {
|
|
1125
|
-
/**
|
|
1126
|
-
* Fixed width in specified units
|
|
1127
|
-
*/
|
|
1128
|
-
width?: number;
|
|
1129
|
-
/**
|
|
1130
|
-
* Fixed height in specified units
|
|
1131
|
-
*/
|
|
1132
|
-
height?: number;
|
|
1133
|
-
/**
|
|
1134
|
-
* Minimum width for responsive renders
|
|
1135
|
-
*/
|
|
1136
|
-
min_width?: number;
|
|
1137
|
-
/**
|
|
1138
|
-
* Minimum height for responsive renders
|
|
1139
|
-
*/
|
|
1140
|
-
min_height?: number;
|
|
1141
|
-
/**
|
|
1142
|
-
* Maximum width for responsive renders
|
|
1143
|
-
*/
|
|
1144
|
-
max_width?: number;
|
|
1145
|
-
/**
|
|
1146
|
-
* Maximum height for responsive renders
|
|
1147
|
-
*/
|
|
1148
|
-
max_height?: number;
|
|
1149
|
-
/**
|
|
1150
|
-
* Indicates which dimensions are responsive/fluid
|
|
1151
|
-
*/
|
|
1152
|
-
responsive?: {
|
|
1153
|
-
width: boolean;
|
|
1154
|
-
height: boolean;
|
|
1155
|
-
};
|
|
1156
|
-
/**
|
|
1157
|
-
* Fixed aspect ratio constraint (e.g., '16:9', '4:3', '1:1')
|
|
1158
|
-
*/
|
|
1159
|
-
aspect_ratio?: string;
|
|
1160
|
-
/**
|
|
1161
|
-
* Unit of measurement for dimensions
|
|
1162
|
-
*/
|
|
1163
|
-
unit: 'px' | 'dp' | 'inches' | 'cm';
|
|
1164
|
-
};
|
|
1165
|
-
}[]
|
|
1163
|
+
({
|
|
1164
|
+
[k: string]: unknown;
|
|
1165
|
+
} | {
|
|
1166
|
+
parameters_from_format_id: true;
|
|
1167
|
+
}),
|
|
1168
|
+
...({
|
|
1169
|
+
[k: string]: unknown;
|
|
1170
|
+
} | {
|
|
1171
|
+
parameters_from_format_id: true;
|
|
1172
|
+
})[]
|
|
1166
1173
|
];
|
|
1167
1174
|
/**
|
|
1168
1175
|
* 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).
|
|
@@ -1186,7 +1193,7 @@ export interface Format {
|
|
|
1186
1193
|
*/
|
|
1187
1194
|
required?: boolean;
|
|
1188
1195
|
/**
|
|
1189
|
-
* Technical requirements for this asset (dimensions, file size, duration, etc.)
|
|
1196
|
+
* 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).
|
|
1190
1197
|
*/
|
|
1191
1198
|
requirements?: {
|
|
1192
1199
|
[k: string]: unknown;
|
|
@@ -1226,7 +1233,7 @@ export interface Format {
|
|
|
1226
1233
|
*/
|
|
1227
1234
|
required?: boolean;
|
|
1228
1235
|
/**
|
|
1229
|
-
* Technical requirements for this asset
|
|
1236
|
+
* 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).
|
|
1230
1237
|
*/
|
|
1231
1238
|
requirements?: {
|
|
1232
1239
|
[k: string]: unknown;
|
|
@@ -1281,9 +1288,21 @@ export interface FormatID3 {
|
|
|
1281
1288
|
*/
|
|
1282
1289
|
agent_url: string;
|
|
1283
1290
|
/**
|
|
1284
|
-
* Format identifier within the agent's namespace (e.g., '
|
|
1291
|
+
* Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant.
|
|
1285
1292
|
*/
|
|
1286
1293
|
id: string;
|
|
1294
|
+
/**
|
|
1295
|
+
* Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
1296
|
+
*/
|
|
1297
|
+
width?: number;
|
|
1298
|
+
/**
|
|
1299
|
+
* Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
|
|
1300
|
+
*/
|
|
1301
|
+
height?: number;
|
|
1302
|
+
/**
|
|
1303
|
+
* 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
|
+
*/
|
|
1305
|
+
duration_ms?: number;
|
|
1287
1306
|
}
|
|
1288
1307
|
/**
|
|
1289
1308
|
* Standard error structure for task-specific errors and warnings
|
|
@@ -1292,6 +1311,48 @@ export interface FormatID3 {
|
|
|
1292
1311
|
* Budget pacing strategy
|
|
1293
1312
|
*/
|
|
1294
1313
|
export type Pacing = 'even' | 'asap' | 'front_loaded';
|
|
1314
|
+
/**
|
|
1315
|
+
* Image asset with URL and dimensions
|
|
1316
|
+
*/
|
|
1317
|
+
export type ImageAsset = Dimensions & {
|
|
1318
|
+
/**
|
|
1319
|
+
* URL to the image asset
|
|
1320
|
+
*/
|
|
1321
|
+
url: string;
|
|
1322
|
+
/**
|
|
1323
|
+
* Image file format (jpg, png, gif, webp, etc.)
|
|
1324
|
+
*/
|
|
1325
|
+
format?: string;
|
|
1326
|
+
/**
|
|
1327
|
+
* Alternative text for accessibility
|
|
1328
|
+
*/
|
|
1329
|
+
alt_text?: string;
|
|
1330
|
+
};
|
|
1331
|
+
/**
|
|
1332
|
+
* Video asset with URL and specifications
|
|
1333
|
+
*/
|
|
1334
|
+
export type VideoAsset = Dimensions & {
|
|
1335
|
+
/**
|
|
1336
|
+
* URL to the video asset
|
|
1337
|
+
*/
|
|
1338
|
+
url: string;
|
|
1339
|
+
/**
|
|
1340
|
+
* Video duration in milliseconds
|
|
1341
|
+
*/
|
|
1342
|
+
duration_ms?: number;
|
|
1343
|
+
/**
|
|
1344
|
+
* Video file format (mp4, webm, mov, etc.)
|
|
1345
|
+
*/
|
|
1346
|
+
format?: string;
|
|
1347
|
+
/**
|
|
1348
|
+
* Video bitrate in kilobits per second
|
|
1349
|
+
*/
|
|
1350
|
+
bitrate_kbps?: number;
|
|
1351
|
+
};
|
|
1352
|
+
/**
|
|
1353
|
+
* JavaScript module type
|
|
1354
|
+
*/
|
|
1355
|
+
export type JavaScriptModuleType = 'esm' | 'commonjs' | 'script';
|
|
1295
1356
|
/**
|
|
1296
1357
|
* VAST (Video Ad Serving Template) tag for third-party video ad serving
|
|
1297
1358
|
*/
|
|
@@ -1304,10 +1365,7 @@ export type VASTAsset = {
|
|
|
1304
1365
|
* URL endpoint that returns VAST XML
|
|
1305
1366
|
*/
|
|
1306
1367
|
url: string;
|
|
1307
|
-
|
|
1308
|
-
* VAST specification version
|
|
1309
|
-
*/
|
|
1310
|
-
vast_version?: '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
1368
|
+
vast_version?: VASTVersion;
|
|
1311
1369
|
/**
|
|
1312
1370
|
* Whether VPAID (Video Player-Ad Interface Definition) is supported
|
|
1313
1371
|
*/
|
|
@@ -1319,7 +1377,7 @@ export type VASTAsset = {
|
|
|
1319
1377
|
/**
|
|
1320
1378
|
* Tracking events supported by this VAST tag
|
|
1321
1379
|
*/
|
|
1322
|
-
tracking_events?:
|
|
1380
|
+
tracking_events?: VASTTrackingEvent[];
|
|
1323
1381
|
} | {
|
|
1324
1382
|
/**
|
|
1325
1383
|
* Discriminator indicating VAST is delivered as inline XML content
|
|
@@ -1329,10 +1387,7 @@ export type VASTAsset = {
|
|
|
1329
1387
|
* Inline VAST XML content
|
|
1330
1388
|
*/
|
|
1331
1389
|
content: string;
|
|
1332
|
-
|
|
1333
|
-
* VAST specification version
|
|
1334
|
-
*/
|
|
1335
|
-
vast_version?: '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
1390
|
+
vast_version?: VASTVersion1;
|
|
1336
1391
|
/**
|
|
1337
1392
|
* Whether VPAID (Video Player-Ad Interface Definition) is supported
|
|
1338
1393
|
*/
|
|
@@ -1344,8 +1399,20 @@ export type VASTAsset = {
|
|
|
1344
1399
|
/**
|
|
1345
1400
|
* Tracking events supported by this VAST tag
|
|
1346
1401
|
*/
|
|
1347
|
-
tracking_events?:
|
|
1402
|
+
tracking_events?: VASTTrackingEvent[];
|
|
1348
1403
|
};
|
|
1404
|
+
/**
|
|
1405
|
+
* VAST specification version
|
|
1406
|
+
*/
|
|
1407
|
+
export type VASTVersion = '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
1408
|
+
/**
|
|
1409
|
+
* Standard VAST tracking events for video ad playback and interaction
|
|
1410
|
+
*/
|
|
1411
|
+
export type VASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'impression' | 'click' | 'pause' | 'resume' | 'skip' | 'mute' | 'unmute' | 'fullscreen' | 'exitFullscreen' | 'playerExpand' | 'playerCollapse';
|
|
1412
|
+
/**
|
|
1413
|
+
* VAST specification version
|
|
1414
|
+
*/
|
|
1415
|
+
export type VASTVersion1 = '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
1349
1416
|
/**
|
|
1350
1417
|
* DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
|
|
1351
1418
|
*/
|
|
@@ -1358,10 +1425,7 @@ export type DAASTAsset = {
|
|
|
1358
1425
|
* URL endpoint that returns DAAST XML
|
|
1359
1426
|
*/
|
|
1360
1427
|
url: string;
|
|
1361
|
-
|
|
1362
|
-
* DAAST specification version
|
|
1363
|
-
*/
|
|
1364
|
-
daast_version?: '1.0' | '1.1';
|
|
1428
|
+
daast_version?: DAASTVersion;
|
|
1365
1429
|
/**
|
|
1366
1430
|
* Expected audio duration in milliseconds (if known)
|
|
1367
1431
|
*/
|
|
@@ -1369,7 +1433,7 @@ export type DAASTAsset = {
|
|
|
1369
1433
|
/**
|
|
1370
1434
|
* Tracking events supported by this DAAST tag
|
|
1371
1435
|
*/
|
|
1372
|
-
tracking_events?:
|
|
1436
|
+
tracking_events?: DAASTTrackingEvent[];
|
|
1373
1437
|
/**
|
|
1374
1438
|
* Whether companion display ads are included
|
|
1375
1439
|
*/
|
|
@@ -1383,10 +1447,7 @@ export type DAASTAsset = {
|
|
|
1383
1447
|
* Inline DAAST XML content
|
|
1384
1448
|
*/
|
|
1385
1449
|
content: string;
|
|
1386
|
-
|
|
1387
|
-
* DAAST specification version
|
|
1388
|
-
*/
|
|
1389
|
-
daast_version?: '1.0' | '1.1';
|
|
1450
|
+
daast_version?: DAASTVersion1;
|
|
1390
1451
|
/**
|
|
1391
1452
|
* Expected audio duration in milliseconds (if known)
|
|
1392
1453
|
*/
|
|
@@ -1394,20 +1455,40 @@ export type DAASTAsset = {
|
|
|
1394
1455
|
/**
|
|
1395
1456
|
* Tracking events supported by this DAAST tag
|
|
1396
1457
|
*/
|
|
1397
|
-
tracking_events?:
|
|
1458
|
+
tracking_events?: DAASTTrackingEvent[];
|
|
1398
1459
|
/**
|
|
1399
1460
|
* Whether companion display ads are included
|
|
1400
1461
|
*/
|
|
1401
1462
|
companion_ads?: boolean;
|
|
1402
1463
|
};
|
|
1464
|
+
/**
|
|
1465
|
+
* DAAST specification version
|
|
1466
|
+
*/
|
|
1467
|
+
export type DAASTVersion = '1.0' | '1.1';
|
|
1468
|
+
/**
|
|
1469
|
+
* Standard DAAST tracking events for audio ad playback and interaction
|
|
1470
|
+
*/
|
|
1471
|
+
export type DAASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'impression' | 'pause' | 'resume' | 'skip' | 'mute' | 'unmute';
|
|
1472
|
+
/**
|
|
1473
|
+
* DAAST specification version
|
|
1474
|
+
*/
|
|
1475
|
+
export type DAASTVersion1 = '1.0' | '1.1';
|
|
1403
1476
|
/**
|
|
1404
1477
|
* Brand information manifest containing assets, themes, and guidelines. Can be provided inline or as a URL reference to a hosted manifest.
|
|
1405
1478
|
*/
|
|
1479
|
+
export type URLAssetType = 'clickthrough' | 'tracker_pixel' | 'tracker_script';
|
|
1480
|
+
/**
|
|
1481
|
+
* Brand information manifest serving as the namespace and identity for this media buy. Provides brand context, assets, and product catalog. Can be provided inline or as a URL reference to a hosted manifest. Can be cached and reused across multiple requests.
|
|
1482
|
+
*/
|
|
1406
1483
|
export type BrandManifestReference1 = BrandManifest | string;
|
|
1407
1484
|
/**
|
|
1408
1485
|
* Campaign start timing: 'asap' or ISO 8601 date-time
|
|
1409
1486
|
*/
|
|
1410
1487
|
export type StartTiming = 'asap' | string;
|
|
1488
|
+
/**
|
|
1489
|
+
* Authentication schemes for push notification endpoints
|
|
1490
|
+
*/
|
|
1491
|
+
export type AuthenticationScheme = 'Bearer' | 'HMAC-SHA256';
|
|
1411
1492
|
/**
|
|
1412
1493
|
* Request parameters for creating a media buy
|
|
1413
1494
|
*/
|
|
@@ -1440,12 +1521,8 @@ export interface CreateMediaBuyRequest {
|
|
|
1440
1521
|
*/
|
|
1441
1522
|
requested_metrics?: ('impressions' | 'spend' | 'clicks' | 'ctr' | 'video_completions' | 'completion_rate' | 'conversions' | 'viewability' | 'engagement_rate')[];
|
|
1442
1523
|
};
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
*/
|
|
1446
|
-
context?: {
|
|
1447
|
-
[k: string]: unknown;
|
|
1448
|
-
};
|
|
1524
|
+
context?: ContextObject;
|
|
1525
|
+
ext?: ExtensionObject;
|
|
1449
1526
|
}
|
|
1450
1527
|
/**
|
|
1451
1528
|
* Package configuration for media buy creation
|
|
@@ -1489,9 +1566,10 @@ export interface PackageRequest {
|
|
|
1489
1566
|
* @maxItems 100
|
|
1490
1567
|
*/
|
|
1491
1568
|
creatives?: CreativeAsset[];
|
|
1569
|
+
ext?: ExtensionObject;
|
|
1492
1570
|
}
|
|
1493
1571
|
/**
|
|
1494
|
-
* Structured format identifier with agent URL and format name
|
|
1572
|
+
* 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.
|
|
1495
1573
|
*/
|
|
1496
1574
|
export interface TargetingOverlay {
|
|
1497
1575
|
/**
|
|
@@ -1579,60 +1657,29 @@ export interface CreativeAsset {
|
|
|
1579
1657
|
* For generative creatives: set to true to approve and finalize, false to request regeneration with updated assets/message. Omit for non-generative creatives.
|
|
1580
1658
|
*/
|
|
1581
1659
|
approved?: boolean;
|
|
1582
|
-
}
|
|
1583
|
-
/**
|
|
1584
|
-
* Structured format identifier with agent URL and format name
|
|
1585
|
-
*/
|
|
1586
|
-
export interface ImageAsset {
|
|
1587
|
-
/**
|
|
1588
|
-
* URL to the image asset
|
|
1589
|
-
*/
|
|
1590
|
-
url: string;
|
|
1591
1660
|
/**
|
|
1592
|
-
*
|
|
1661
|
+
* Optional delivery weight for creative rotation when uploading via create_media_buy or update_media_buy (0-100). If omitted, platform determines rotation. Only used during upload to media buy - not stored in creative library.
|
|
1593
1662
|
*/
|
|
1594
|
-
|
|
1595
|
-
/**
|
|
1596
|
-
* Image height in pixels
|
|
1597
|
-
*/
|
|
1598
|
-
height?: number;
|
|
1599
|
-
/**
|
|
1600
|
-
* Image file format (jpg, png, gif, webp, etc.)
|
|
1601
|
-
*/
|
|
1602
|
-
format?: string;
|
|
1663
|
+
weight?: number;
|
|
1603
1664
|
/**
|
|
1604
|
-
*
|
|
1665
|
+
* Optional array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. References placement_id values from the product's placements array. If omitted, creative runs on all placements. Only used during upload to media buy - not stored in creative library.
|
|
1666
|
+
*
|
|
1667
|
+
* @minItems 1
|
|
1605
1668
|
*/
|
|
1606
|
-
|
|
1669
|
+
placement_ids?: [string, ...string[]];
|
|
1607
1670
|
}
|
|
1608
1671
|
/**
|
|
1609
|
-
*
|
|
1672
|
+
* 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.
|
|
1610
1673
|
*/
|
|
1611
|
-
export interface
|
|
1612
|
-
/**
|
|
1613
|
-
* URL to the video asset
|
|
1614
|
-
*/
|
|
1615
|
-
url: string;
|
|
1616
|
-
/**
|
|
1617
|
-
* Video width in pixels
|
|
1618
|
-
*/
|
|
1619
|
-
width?: number;
|
|
1674
|
+
export interface Dimensions {
|
|
1620
1675
|
/**
|
|
1621
|
-
*
|
|
1676
|
+
* Width in pixels
|
|
1622
1677
|
*/
|
|
1623
|
-
|
|
1678
|
+
width: number;
|
|
1624
1679
|
/**
|
|
1625
|
-
*
|
|
1680
|
+
* Height in pixels
|
|
1626
1681
|
*/
|
|
1627
|
-
|
|
1628
|
-
/**
|
|
1629
|
-
* Video file format (mp4, webm, mov, etc.)
|
|
1630
|
-
*/
|
|
1631
|
-
format?: string;
|
|
1632
|
-
/**
|
|
1633
|
-
* Video bitrate in kilobits per second
|
|
1634
|
-
*/
|
|
1635
|
-
bitrate_kbps?: number;
|
|
1682
|
+
height: number;
|
|
1636
1683
|
}
|
|
1637
1684
|
/**
|
|
1638
1685
|
* Audio asset with URL and specifications
|
|
@@ -1702,10 +1749,7 @@ export interface JavaScriptAsset {
|
|
|
1702
1749
|
* JavaScript content
|
|
1703
1750
|
*/
|
|
1704
1751
|
content: string;
|
|
1705
|
-
|
|
1706
|
-
* JavaScript module type
|
|
1707
|
-
*/
|
|
1708
|
-
module_type?: 'esm' | 'commonjs' | 'script';
|
|
1752
|
+
module_type?: JavaScriptModuleType;
|
|
1709
1753
|
}
|
|
1710
1754
|
/**
|
|
1711
1755
|
* Complete offering specification combining brand manifest, product selectors, and asset filters. Provides all context needed for creative generation about what is being promoted.
|
|
@@ -1779,17 +1823,14 @@ export interface URLAsset {
|
|
|
1779
1823
|
* URL reference
|
|
1780
1824
|
*/
|
|
1781
1825
|
url: string;
|
|
1782
|
-
|
|
1783
|
-
* Type of URL asset: 'clickthrough' for user click destination (landing page), 'tracker_pixel' for impression/event tracking via HTTP request (fires GET, expects pixel/204 response), 'tracker_script' for measurement SDKs that must load as <script> tag (OMID verification, native event trackers using method:2)
|
|
1784
|
-
*/
|
|
1785
|
-
url_type?: 'clickthrough' | 'tracker_pixel' | 'tracker_script';
|
|
1826
|
+
url_type?: URLAssetType;
|
|
1786
1827
|
/**
|
|
1787
1828
|
* Description of what this URL points to
|
|
1788
1829
|
*/
|
|
1789
1830
|
description?: string;
|
|
1790
1831
|
}
|
|
1791
1832
|
/**
|
|
1792
|
-
*
|
|
1833
|
+
* 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.
|
|
1793
1834
|
*/
|
|
1794
1835
|
export interface PushNotificationConfig {
|
|
1795
1836
|
/**
|
|
@@ -1810,13 +1851,16 @@ export interface PushNotificationConfig {
|
|
|
1810
1851
|
* @minItems 1
|
|
1811
1852
|
* @maxItems 1
|
|
1812
1853
|
*/
|
|
1813
|
-
schemes: [
|
|
1854
|
+
schemes: [AuthenticationScheme];
|
|
1814
1855
|
/**
|
|
1815
1856
|
* Credentials for authentication. For Bearer: token sent in Authorization header. For HMAC-SHA256: shared secret used to generate signature. Minimum 32 characters. Exchanged out-of-band during onboarding.
|
|
1816
1857
|
*/
|
|
1817
1858
|
credentials: string;
|
|
1818
1859
|
};
|
|
1819
1860
|
}
|
|
1861
|
+
/**
|
|
1862
|
+
* 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.
|
|
1863
|
+
*/
|
|
1820
1864
|
/**
|
|
1821
1865
|
* Response payload for create_media_buy task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - the media buy is either fully created or not created at all.
|
|
1822
1866
|
*/
|
|
@@ -1837,10 +1881,8 @@ export type CreateMediaBuyResponse = {
|
|
|
1837
1881
|
* Array of created packages with complete state information
|
|
1838
1882
|
*/
|
|
1839
1883
|
packages: Package[];
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
*/
|
|
1843
|
-
context?: {};
|
|
1884
|
+
context?: ContextObject;
|
|
1885
|
+
ext?: ExtensionObject;
|
|
1844
1886
|
} | {
|
|
1845
1887
|
/**
|
|
1846
1888
|
* Array of errors explaining why the operation failed
|
|
@@ -1848,18 +1890,12 @@ export type CreateMediaBuyResponse = {
|
|
|
1848
1890
|
* @minItems 1
|
|
1849
1891
|
*/
|
|
1850
1892
|
errors: [Error, ...Error[]];
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
*/
|
|
1854
|
-
context?: {};
|
|
1893
|
+
context?: ContextObject;
|
|
1894
|
+
ext?: ExtensionObject;
|
|
1855
1895
|
};
|
|
1856
1896
|
/**
|
|
1857
1897
|
* Budget pacing strategy
|
|
1858
1898
|
*/
|
|
1859
|
-
export type PackageStatus = 'draft' | 'active' | 'paused' | 'completed';
|
|
1860
|
-
/**
|
|
1861
|
-
* A specific product within a media buy (line item)
|
|
1862
|
-
*/
|
|
1863
1899
|
export interface Package {
|
|
1864
1900
|
/**
|
|
1865
1901
|
* Publisher's unique identifier for the package
|
|
@@ -1899,7 +1935,11 @@ export interface Package {
|
|
|
1899
1935
|
* Format IDs that creative assets will be provided for this package
|
|
1900
1936
|
*/
|
|
1901
1937
|
format_ids_to_provide?: FormatID[];
|
|
1902
|
-
|
|
1938
|
+
/**
|
|
1939
|
+
* Whether this package is paused by the buyer. Paused packages do not deliver impressions. Defaults to false.
|
|
1940
|
+
*/
|
|
1941
|
+
paused?: boolean;
|
|
1942
|
+
ext?: ExtensionObject;
|
|
1903
1943
|
}
|
|
1904
1944
|
/**
|
|
1905
1945
|
* 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).
|
|
@@ -1921,10 +1961,14 @@ export interface CreativeAssignment {
|
|
|
1921
1961
|
placement_ids?: [string, ...string[]];
|
|
1922
1962
|
}
|
|
1923
1963
|
/**
|
|
1924
|
-
* Structured format identifier with agent URL and format name
|
|
1964
|
+
* 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.
|
|
1925
1965
|
*/
|
|
1926
1966
|
/**
|
|
1927
|
-
*
|
|
1967
|
+
* Image asset with URL and dimensions
|
|
1968
|
+
*/
|
|
1969
|
+
export type ValidationMode = 'strict' | 'lenient';
|
|
1970
|
+
/**
|
|
1971
|
+
* Authentication schemes for push notification endpoints
|
|
1928
1972
|
*/
|
|
1929
1973
|
export interface SyncCreativesRequest {
|
|
1930
1974
|
/**
|
|
@@ -1934,9 +1978,11 @@ export interface SyncCreativesRequest {
|
|
|
1934
1978
|
*/
|
|
1935
1979
|
creatives: CreativeAsset[];
|
|
1936
1980
|
/**
|
|
1937
|
-
* When
|
|
1981
|
+
* Optional filter to limit sync scope to specific creative IDs. When provided, only these creatives will be created/updated. Other creatives in the library are unaffected. Useful for partial updates and error recovery.
|
|
1982
|
+
*
|
|
1983
|
+
* @maxItems 100
|
|
1938
1984
|
*/
|
|
1939
|
-
|
|
1985
|
+
creative_ids?: string[];
|
|
1940
1986
|
/**
|
|
1941
1987
|
* Optional bulk assignment of creatives to packages
|
|
1942
1988
|
*/
|
|
@@ -1954,20 +2000,13 @@ export interface SyncCreativesRequest {
|
|
|
1954
2000
|
*/
|
|
1955
2001
|
delete_missing?: boolean;
|
|
1956
2002
|
/**
|
|
1957
|
-
* When true, preview changes without applying them. Returns what would be created/updated/deleted.
|
|
1958
|
-
*/
|
|
1959
|
-
dry_run?: boolean;
|
|
1960
|
-
/**
|
|
1961
|
-
* Validation strictness. 'strict' fails entire sync on any validation error. 'lenient' processes valid creatives and reports errors.
|
|
1962
|
-
*/
|
|
1963
|
-
validation_mode?: 'strict' | 'lenient';
|
|
1964
|
-
push_notification_config?: PushNotificationConfig;
|
|
1965
|
-
/**
|
|
1966
|
-
* Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.
|
|
2003
|
+
* When true, preview changes without applying them. Returns what would be created/updated/deleted.
|
|
1967
2004
|
*/
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
2005
|
+
dry_run?: boolean;
|
|
2006
|
+
validation_mode?: ValidationMode;
|
|
2007
|
+
push_notification_config?: PushNotificationConfig;
|
|
2008
|
+
context?: ContextObject;
|
|
2009
|
+
ext?: ExtensionObject;
|
|
1971
2010
|
}
|
|
1972
2011
|
/**
|
|
1973
2012
|
* Creative asset for upload to library - supports static assets, generative formats, and third-party snippets
|
|
@@ -1988,10 +2027,7 @@ export type SyncCreativesResponse = {
|
|
|
1988
2027
|
* Creative ID from the request
|
|
1989
2028
|
*/
|
|
1990
2029
|
creative_id: string;
|
|
1991
|
-
|
|
1992
|
-
* Action taken for this creative
|
|
1993
|
-
*/
|
|
1994
|
-
action: 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
|
|
2030
|
+
action: CreativeAction;
|
|
1995
2031
|
/**
|
|
1996
2032
|
* Platform-specific ID assigned to the creative
|
|
1997
2033
|
*/
|
|
@@ -2033,10 +2069,8 @@ export type SyncCreativesResponse = {
|
|
|
2033
2069
|
[k: string]: string;
|
|
2034
2070
|
};
|
|
2035
2071
|
}[];
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
*/
|
|
2039
|
-
context?: {};
|
|
2072
|
+
context?: ContextObject;
|
|
2073
|
+
ext?: ExtensionObject;
|
|
2040
2074
|
} | {
|
|
2041
2075
|
/**
|
|
2042
2076
|
* Operation-level errors that prevented processing any creatives (e.g., authentication failure, service unavailable, invalid request format)
|
|
@@ -2044,13 +2078,15 @@ export type SyncCreativesResponse = {
|
|
|
2044
2078
|
* @minItems 1
|
|
2045
2079
|
*/
|
|
2046
2080
|
errors: [Error, ...Error[]];
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
*/
|
|
2050
|
-
context?: {};
|
|
2081
|
+
context?: ContextObject;
|
|
2082
|
+
ext?: ExtensionObject;
|
|
2051
2083
|
};
|
|
2052
2084
|
/**
|
|
2053
|
-
*
|
|
2085
|
+
* Action taken for this creative
|
|
2086
|
+
*/
|
|
2087
|
+
export type CreativeAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
|
|
2088
|
+
/**
|
|
2089
|
+
* 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.
|
|
2054
2090
|
*/
|
|
2055
2091
|
/**
|
|
2056
2092
|
* Filter by creative approval status
|
|
@@ -2060,90 +2096,25 @@ export type CreativeStatus = 'processing' | 'approved' | 'rejected' | 'pending_r
|
|
|
2060
2096
|
* Status of a creative asset
|
|
2061
2097
|
*/
|
|
2062
2098
|
export type CreativeStatus1 = 'processing' | 'approved' | 'rejected' | 'pending_review';
|
|
2099
|
+
/**
|
|
2100
|
+
* Field to sort by
|
|
2101
|
+
*/
|
|
2102
|
+
export type CreativeSortField = 'created_date' | 'updated_date' | 'name' | 'status' | 'assignment_count' | 'performance_score';
|
|
2103
|
+
/**
|
|
2104
|
+
* Sort direction
|
|
2105
|
+
*/
|
|
2106
|
+
export type SortDirection = 'asc' | 'desc';
|
|
2063
2107
|
/**
|
|
2064
2108
|
* Request parameters for querying creative assets from the centralized library with filtering, sorting, and pagination
|
|
2065
2109
|
*/
|
|
2066
2110
|
export interface ListCreativesRequest {
|
|
2067
|
-
|
|
2068
|
-
* Filter criteria for querying creatives
|
|
2069
|
-
*/
|
|
2070
|
-
filters?: {
|
|
2071
|
-
/**
|
|
2072
|
-
* Filter by creative format type (e.g., video, audio, display)
|
|
2073
|
-
*/
|
|
2074
|
-
format?: string;
|
|
2075
|
-
/**
|
|
2076
|
-
* Filter by multiple creative format types
|
|
2077
|
-
*/
|
|
2078
|
-
formats?: string[];
|
|
2079
|
-
status?: CreativeStatus;
|
|
2080
|
-
/**
|
|
2081
|
-
* Filter by multiple creative statuses
|
|
2082
|
-
*/
|
|
2083
|
-
statuses?: CreativeStatus1[];
|
|
2084
|
-
/**
|
|
2085
|
-
* Filter by creative tags (all tags must match)
|
|
2086
|
-
*/
|
|
2087
|
-
tags?: string[];
|
|
2088
|
-
/**
|
|
2089
|
-
* Filter by creative tags (any tag must match)
|
|
2090
|
-
*/
|
|
2091
|
-
tags_any?: string[];
|
|
2092
|
-
/**
|
|
2093
|
-
* Filter by creative names containing this text (case-insensitive)
|
|
2094
|
-
*/
|
|
2095
|
-
name_contains?: string;
|
|
2096
|
-
/**
|
|
2097
|
-
* Filter by specific creative IDs
|
|
2098
|
-
*
|
|
2099
|
-
* @maxItems 100
|
|
2100
|
-
*/
|
|
2101
|
-
creative_ids?: string[];
|
|
2102
|
-
/**
|
|
2103
|
-
* Filter creatives created after this date (ISO 8601)
|
|
2104
|
-
*/
|
|
2105
|
-
created_after?: string;
|
|
2106
|
-
/**
|
|
2107
|
-
* Filter creatives created before this date (ISO 8601)
|
|
2108
|
-
*/
|
|
2109
|
-
created_before?: string;
|
|
2110
|
-
/**
|
|
2111
|
-
* Filter creatives last updated after this date (ISO 8601)
|
|
2112
|
-
*/
|
|
2113
|
-
updated_after?: string;
|
|
2114
|
-
/**
|
|
2115
|
-
* Filter creatives last updated before this date (ISO 8601)
|
|
2116
|
-
*/
|
|
2117
|
-
updated_before?: string;
|
|
2118
|
-
/**
|
|
2119
|
-
* Filter creatives assigned to this specific package
|
|
2120
|
-
*/
|
|
2121
|
-
assigned_to_package?: string;
|
|
2122
|
-
/**
|
|
2123
|
-
* Filter creatives assigned to any of these packages
|
|
2124
|
-
*/
|
|
2125
|
-
assigned_to_packages?: string[];
|
|
2126
|
-
/**
|
|
2127
|
-
* Filter for unassigned creatives when true, assigned creatives when false
|
|
2128
|
-
*/
|
|
2129
|
-
unassigned?: boolean;
|
|
2130
|
-
/**
|
|
2131
|
-
* Filter creatives that have performance data when true
|
|
2132
|
-
*/
|
|
2133
|
-
has_performance_data?: boolean;
|
|
2134
|
-
};
|
|
2111
|
+
filters?: CreativeFilters;
|
|
2135
2112
|
/**
|
|
2136
2113
|
* Sorting parameters
|
|
2137
2114
|
*/
|
|
2138
2115
|
sort?: {
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
*/
|
|
2142
|
-
field?: 'created_date' | 'updated_date' | 'name' | 'status' | 'assignment_count' | 'performance_score';
|
|
2143
|
-
/**
|
|
2144
|
-
* Sort direction
|
|
2145
|
-
*/
|
|
2146
|
-
direction?: 'asc' | 'desc';
|
|
2116
|
+
field?: CreativeSortField;
|
|
2117
|
+
direction?: SortDirection;
|
|
2147
2118
|
};
|
|
2148
2119
|
/**
|
|
2149
2120
|
* Pagination parameters
|
|
@@ -2174,15 +2145,90 @@ export interface ListCreativesRequest {
|
|
|
2174
2145
|
* Specific fields to include in response (omit for all fields)
|
|
2175
2146
|
*/
|
|
2176
2147
|
fields?: ('creative_id' | 'name' | 'format' | 'status' | 'created_date' | 'updated_date' | 'tags' | 'assignments' | 'performance' | 'sub_assets')[];
|
|
2148
|
+
context?: ContextObject;
|
|
2149
|
+
ext?: ExtensionObject;
|
|
2150
|
+
}
|
|
2151
|
+
/**
|
|
2152
|
+
* Filter criteria for querying creative assets from the centralized library
|
|
2153
|
+
*/
|
|
2154
|
+
export interface CreativeFilters {
|
|
2177
2155
|
/**
|
|
2178
|
-
*
|
|
2156
|
+
* Filter by creative format type (e.g., video, audio, display)
|
|
2179
2157
|
*/
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2158
|
+
format?: string;
|
|
2159
|
+
/**
|
|
2160
|
+
* Filter by multiple creative format types
|
|
2161
|
+
*/
|
|
2162
|
+
formats?: string[];
|
|
2163
|
+
status?: CreativeStatus;
|
|
2164
|
+
/**
|
|
2165
|
+
* Filter by multiple creative statuses
|
|
2166
|
+
*/
|
|
2167
|
+
statuses?: CreativeStatus1[];
|
|
2168
|
+
/**
|
|
2169
|
+
* Filter by creative tags (all tags must match)
|
|
2170
|
+
*/
|
|
2171
|
+
tags?: string[];
|
|
2172
|
+
/**
|
|
2173
|
+
* Filter by creative tags (any tag must match)
|
|
2174
|
+
*/
|
|
2175
|
+
tags_any?: string[];
|
|
2176
|
+
/**
|
|
2177
|
+
* Filter by creative names containing this text (case-insensitive)
|
|
2178
|
+
*/
|
|
2179
|
+
name_contains?: string;
|
|
2180
|
+
/**
|
|
2181
|
+
* Filter by specific creative IDs
|
|
2182
|
+
*
|
|
2183
|
+
* @maxItems 100
|
|
2184
|
+
*/
|
|
2185
|
+
creative_ids?: string[];
|
|
2186
|
+
/**
|
|
2187
|
+
* Filter creatives created after this date (ISO 8601)
|
|
2188
|
+
*/
|
|
2189
|
+
created_after?: string;
|
|
2190
|
+
/**
|
|
2191
|
+
* Filter creatives created before this date (ISO 8601)
|
|
2192
|
+
*/
|
|
2193
|
+
created_before?: string;
|
|
2194
|
+
/**
|
|
2195
|
+
* Filter creatives last updated after this date (ISO 8601)
|
|
2196
|
+
*/
|
|
2197
|
+
updated_after?: string;
|
|
2198
|
+
/**
|
|
2199
|
+
* Filter creatives last updated before this date (ISO 8601)
|
|
2200
|
+
*/
|
|
2201
|
+
updated_before?: string;
|
|
2202
|
+
/**
|
|
2203
|
+
* Filter creatives assigned to this specific package
|
|
2204
|
+
*/
|
|
2205
|
+
assigned_to_package?: string;
|
|
2206
|
+
/**
|
|
2207
|
+
* Filter creatives assigned to any of these packages
|
|
2208
|
+
*/
|
|
2209
|
+
assigned_to_packages?: string[];
|
|
2210
|
+
/**
|
|
2211
|
+
* Filter creatives assigned to any of these media buys
|
|
2212
|
+
*/
|
|
2213
|
+
media_buy_ids?: string[];
|
|
2214
|
+
/**
|
|
2215
|
+
* Filter creatives assigned to media buys with any of these buyer references
|
|
2216
|
+
*/
|
|
2217
|
+
buyer_refs?: string[];
|
|
2218
|
+
/**
|
|
2219
|
+
* Filter for unassigned creatives when true, assigned creatives when false
|
|
2220
|
+
*/
|
|
2221
|
+
unassigned?: boolean;
|
|
2222
|
+
/**
|
|
2223
|
+
* Filter creatives that have performance data when true
|
|
2224
|
+
*/
|
|
2225
|
+
has_performance_data?: boolean;
|
|
2183
2226
|
}
|
|
2184
2227
|
/**
|
|
2185
|
-
*
|
|
2228
|
+
* 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.
|
|
2229
|
+
*/
|
|
2230
|
+
/**
|
|
2231
|
+
* Sort direction for list queries
|
|
2186
2232
|
*/
|
|
2187
2233
|
export type SubAsset = {
|
|
2188
2234
|
/**
|
|
@@ -2244,7 +2290,7 @@ export interface ListCreativesResponse {
|
|
|
2244
2290
|
*/
|
|
2245
2291
|
sort_applied?: {
|
|
2246
2292
|
field?: string;
|
|
2247
|
-
direction?:
|
|
2293
|
+
direction?: SortDirection;
|
|
2248
2294
|
};
|
|
2249
2295
|
};
|
|
2250
2296
|
/**
|
|
@@ -2405,10 +2451,8 @@ export interface ListCreativesResponse {
|
|
|
2405
2451
|
*/
|
|
2406
2452
|
archived?: number;
|
|
2407
2453
|
};
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
*/
|
|
2411
|
-
context?: {};
|
|
2454
|
+
context?: ContextObject;
|
|
2455
|
+
ext?: ExtensionObject;
|
|
2412
2456
|
}
|
|
2413
2457
|
/**
|
|
2414
2458
|
* Format identifier specifying which format this creative conforms to
|
|
@@ -2433,9 +2477,9 @@ export interface UpdateMediaBuyRequest1 {
|
|
|
2433
2477
|
*/
|
|
2434
2478
|
buyer_ref?: string;
|
|
2435
2479
|
/**
|
|
2436
|
-
* Pause/resume the entire media buy
|
|
2480
|
+
* Pause/resume the entire media buy (true = paused, false = active)
|
|
2437
2481
|
*/
|
|
2438
|
-
|
|
2482
|
+
paused?: boolean;
|
|
2439
2483
|
start_time?: StartTiming;
|
|
2440
2484
|
/**
|
|
2441
2485
|
* New end date/time in ISO 8601 format
|
|
@@ -2450,12 +2494,8 @@ export interface UpdateMediaBuyRequest1 {
|
|
|
2450
2494
|
[k: string]: unknown;
|
|
2451
2495
|
})[];
|
|
2452
2496
|
push_notification_config?: PushNotificationConfig;
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
*/
|
|
2456
|
-
context?: {
|
|
2457
|
-
[k: string]: unknown;
|
|
2458
|
-
};
|
|
2497
|
+
context?: ContextObject;
|
|
2498
|
+
ext?: ExtensionObject;
|
|
2459
2499
|
}
|
|
2460
2500
|
/**
|
|
2461
2501
|
* Optional webhook configuration for async update notifications. Publisher will send webhook when update completes if operation takes longer than immediate response time.
|
|
@@ -2480,10 +2520,8 @@ export type UpdateMediaBuyResponse = {
|
|
|
2480
2520
|
* Array of packages that were modified with complete state information
|
|
2481
2521
|
*/
|
|
2482
2522
|
affected_packages?: Package[];
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
*/
|
|
2486
|
-
context?: {};
|
|
2523
|
+
context?: ContextObject;
|
|
2524
|
+
ext?: ExtensionObject;
|
|
2487
2525
|
} | {
|
|
2488
2526
|
/**
|
|
2489
2527
|
* Array of errors explaining why the operation failed
|
|
@@ -2491,14 +2529,16 @@ export type UpdateMediaBuyResponse = {
|
|
|
2491
2529
|
* @minItems 1
|
|
2492
2530
|
*/
|
|
2493
2531
|
errors: [Error, ...Error[]];
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
*/
|
|
2497
|
-
context?: {};
|
|
2532
|
+
context?: ContextObject;
|
|
2533
|
+
ext?: ExtensionObject;
|
|
2498
2534
|
};
|
|
2499
2535
|
/**
|
|
2500
2536
|
* Budget pacing strategy
|
|
2501
2537
|
*/
|
|
2538
|
+
/**
|
|
2539
|
+
* Status of a media buy
|
|
2540
|
+
*/
|
|
2541
|
+
export type MediaBuyStatus = 'pending_activation' | 'active' | 'paused' | 'completed';
|
|
2502
2542
|
/**
|
|
2503
2543
|
* Request parameters for retrieving comprehensive delivery metrics
|
|
2504
2544
|
*/
|
|
@@ -2514,7 +2554,7 @@ export interface GetMediaBuyDeliveryRequest {
|
|
|
2514
2554
|
/**
|
|
2515
2555
|
* Filter by status. Can be a single status or array of statuses
|
|
2516
2556
|
*/
|
|
2517
|
-
status_filter?:
|
|
2557
|
+
status_filter?: MediaBuyStatus | MediaBuyStatus[];
|
|
2518
2558
|
/**
|
|
2519
2559
|
* Start date for reporting period (YYYY-MM-DD)
|
|
2520
2560
|
*/
|
|
@@ -2523,13 +2563,12 @@ export interface GetMediaBuyDeliveryRequest {
|
|
|
2523
2563
|
* End date for reporting period (YYYY-MM-DD)
|
|
2524
2564
|
*/
|
|
2525
2565
|
end_date?: string;
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
*/
|
|
2529
|
-
context?: {
|
|
2530
|
-
[k: string]: unknown;
|
|
2531
|
-
};
|
|
2566
|
+
context?: ContextObject;
|
|
2567
|
+
ext?: ExtensionObject;
|
|
2532
2568
|
}
|
|
2569
|
+
/**
|
|
2570
|
+
* 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.
|
|
2571
|
+
*/
|
|
2533
2572
|
/**
|
|
2534
2573
|
* Pricing model used for this media buy
|
|
2535
2574
|
*/
|
|
@@ -2660,6 +2699,14 @@ export interface GetMediaBuyDeliveryResponse {
|
|
|
2660
2699
|
* ISO 4217 currency code (e.g., USD, EUR, GBP) for this package's pricing. Indicates the currency in which the rate and spend values are denominated. Different packages can use different currencies when supported by the publisher.
|
|
2661
2700
|
*/
|
|
2662
2701
|
currency: string;
|
|
2702
|
+
/**
|
|
2703
|
+
* System-reported operational state of this package. Reflects actual delivery state independent of buyer pause control.
|
|
2704
|
+
*/
|
|
2705
|
+
delivery_status?: 'delivering' | 'completed' | 'budget_exhausted' | 'flight_ended' | 'goal_met';
|
|
2706
|
+
/**
|
|
2707
|
+
* Whether this package is currently paused by the buyer
|
|
2708
|
+
*/
|
|
2709
|
+
paused?: boolean;
|
|
2663
2710
|
})[];
|
|
2664
2711
|
/**
|
|
2665
2712
|
* Day-by-day delivery
|
|
@@ -2683,10 +2730,8 @@ export interface GetMediaBuyDeliveryResponse {
|
|
|
2683
2730
|
* Task-specific errors and warnings (e.g., missing delivery data, reporting platform issues)
|
|
2684
2731
|
*/
|
|
2685
2732
|
errors?: Error[];
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
*/
|
|
2689
|
-
context?: {};
|
|
2733
|
+
context?: ContextObject;
|
|
2734
|
+
ext?: ExtensionObject;
|
|
2690
2735
|
}
|
|
2691
2736
|
/**
|
|
2692
2737
|
* Standard delivery metrics that can be reported at media buy, package, or creative level
|
|
@@ -2830,19 +2875,14 @@ export interface ListAuthorizedPropertiesRequest {
|
|
|
2830
2875
|
* @minItems 1
|
|
2831
2876
|
*/
|
|
2832
2877
|
publisher_domains?: [string, ...string[]];
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
*/
|
|
2836
|
-
context?: {
|
|
2837
|
-
[k: string]: unknown;
|
|
2838
|
-
};
|
|
2878
|
+
context?: ContextObject;
|
|
2879
|
+
ext?: ExtensionObject;
|
|
2839
2880
|
}
|
|
2840
2881
|
/**
|
|
2841
|
-
*
|
|
2882
|
+
* 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.
|
|
2842
2883
|
*/
|
|
2843
|
-
export type AdvertisingChannels = 'display' | 'video' | 'audio' | 'native' | 'dooh' | 'ctv' | 'podcast' | 'retail' | 'social';
|
|
2844
2884
|
/**
|
|
2845
|
-
*
|
|
2885
|
+
* Standard advertising channels supported by AdCP
|
|
2846
2886
|
*/
|
|
2847
2887
|
export interface ListAuthorizedPropertiesResponse {
|
|
2848
2888
|
/**
|
|
@@ -2879,10 +2919,8 @@ export interface ListAuthorizedPropertiesResponse {
|
|
|
2879
2919
|
* Task-specific errors and warnings (e.g., property availability issues)
|
|
2880
2920
|
*/
|
|
2881
2921
|
errors?: Error[];
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
*/
|
|
2885
|
-
context?: {};
|
|
2922
|
+
context?: ContextObject;
|
|
2923
|
+
ext?: ExtensionObject;
|
|
2886
2924
|
}
|
|
2887
2925
|
/**
|
|
2888
2926
|
* Standard error structure for task-specific errors and warnings
|
|
@@ -2890,15 +2928,31 @@ export interface ListAuthorizedPropertiesResponse {
|
|
|
2890
2928
|
/**
|
|
2891
2929
|
* Request payload for provide_performance_feedback task
|
|
2892
2930
|
*/
|
|
2893
|
-
export
|
|
2931
|
+
export type ProvidePerformanceFeedbackRequest = ProvidePerformanceFeedbackRequest1 & ProvidePerformanceFeedbackRequest2;
|
|
2932
|
+
/**
|
|
2933
|
+
* The business metric being measured
|
|
2934
|
+
*/
|
|
2935
|
+
export type MetricType = 'overall_performance' | 'conversion_rate' | 'brand_lift' | 'click_through_rate' | 'completion_rate' | 'viewability' | 'brand_safety' | 'cost_efficiency';
|
|
2936
|
+
/**
|
|
2937
|
+
* Source of the performance data
|
|
2938
|
+
*/
|
|
2939
|
+
export type FeedbackSource = 'buyer_attribution' | 'third_party_measurement' | 'platform_analytics' | 'verification_partner';
|
|
2940
|
+
export type ProvidePerformanceFeedbackRequest2 = {
|
|
2941
|
+
[k: string]: unknown;
|
|
2942
|
+
};
|
|
2943
|
+
export interface ProvidePerformanceFeedbackRequest1 {
|
|
2894
2944
|
/**
|
|
2895
2945
|
* Publisher's media buy identifier
|
|
2896
2946
|
*/
|
|
2897
|
-
media_buy_id
|
|
2947
|
+
media_buy_id?: string;
|
|
2948
|
+
/**
|
|
2949
|
+
* Buyer's reference for the media buy
|
|
2950
|
+
*/
|
|
2951
|
+
buyer_ref?: string;
|
|
2898
2952
|
/**
|
|
2899
2953
|
* Time period for performance measurement
|
|
2900
2954
|
*/
|
|
2901
|
-
measurement_period
|
|
2955
|
+
measurement_period?: {
|
|
2902
2956
|
/**
|
|
2903
2957
|
* ISO 8601 start timestamp for measurement period
|
|
2904
2958
|
*/
|
|
@@ -2911,7 +2965,7 @@ export interface ProvidePerformanceFeedbackRequest {
|
|
|
2911
2965
|
/**
|
|
2912
2966
|
* Normalized performance score (0.0 = no value, 1.0 = expected, >1.0 = above expected)
|
|
2913
2967
|
*/
|
|
2914
|
-
performance_index
|
|
2968
|
+
performance_index?: number;
|
|
2915
2969
|
/**
|
|
2916
2970
|
* Specific package within the media buy (if feedback is package-specific)
|
|
2917
2971
|
*/
|
|
@@ -2920,21 +2974,14 @@ export interface ProvidePerformanceFeedbackRequest {
|
|
|
2920
2974
|
* Specific creative asset (if feedback is creative-specific)
|
|
2921
2975
|
*/
|
|
2922
2976
|
creative_id?: string;
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
/**
|
|
2928
|
-
* Source of the performance data
|
|
2929
|
-
*/
|
|
2930
|
-
feedback_source?: 'buyer_attribution' | 'third_party_measurement' | 'platform_analytics' | 'verification_partner';
|
|
2931
|
-
/**
|
|
2932
|
-
* Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.
|
|
2933
|
-
*/
|
|
2934
|
-
context?: {
|
|
2935
|
-
[k: string]: unknown;
|
|
2936
|
-
};
|
|
2977
|
+
metric_type?: MetricType;
|
|
2978
|
+
feedback_source?: FeedbackSource;
|
|
2979
|
+
context?: ContextObject;
|
|
2980
|
+
ext?: ExtensionObject;
|
|
2937
2981
|
}
|
|
2982
|
+
/**
|
|
2983
|
+
* 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.
|
|
2984
|
+
*/
|
|
2938
2985
|
/**
|
|
2939
2986
|
* Response payload for provide_performance_feedback task. Returns either success confirmation OR error information, never both.
|
|
2940
2987
|
*/
|
|
@@ -2943,10 +2990,8 @@ export type ProvidePerformanceFeedbackResponse = {
|
|
|
2943
2990
|
* Whether the performance feedback was successfully received
|
|
2944
2991
|
*/
|
|
2945
2992
|
success: true;
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
*/
|
|
2949
|
-
context?: {};
|
|
2993
|
+
context?: ContextObject;
|
|
2994
|
+
ext?: ExtensionObject;
|
|
2950
2995
|
} | {
|
|
2951
2996
|
/**
|
|
2952
2997
|
* Array of errors explaining why feedback was rejected (e.g., invalid measurement period, missing campaign data)
|
|
@@ -2954,16 +2999,26 @@ export type ProvidePerformanceFeedbackResponse = {
|
|
|
2954
2999
|
* @minItems 1
|
|
2955
3000
|
*/
|
|
2956
3001
|
errors: [Error, ...Error[]];
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
*/
|
|
2960
|
-
context?: {};
|
|
3002
|
+
context?: ContextObject;
|
|
3003
|
+
ext?: ExtensionObject;
|
|
2961
3004
|
};
|
|
2962
3005
|
/**
|
|
2963
|
-
*
|
|
3006
|
+
* 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.
|
|
2964
3007
|
*/
|
|
2965
3008
|
/**
|
|
2966
|
-
*
|
|
3009
|
+
* Image asset with URL and dimensions
|
|
3010
|
+
*/
|
|
3011
|
+
export type HTTPMethod = 'GET' | 'POST';
|
|
3012
|
+
/**
|
|
3013
|
+
* Expected content type of webhook response
|
|
3014
|
+
*/
|
|
3015
|
+
export type WebhookResponseType = 'html' | 'json' | 'xml' | 'javascript';
|
|
3016
|
+
/**
|
|
3017
|
+
* Authentication method
|
|
3018
|
+
*/
|
|
3019
|
+
export type WebhookSecurityMethod = 'hmac_sha256' | 'api_key' | 'none';
|
|
3020
|
+
/**
|
|
3021
|
+
* DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
|
|
2967
3022
|
*/
|
|
2968
3023
|
export interface BuildCreativeRequest {
|
|
2969
3024
|
/**
|
|
@@ -2972,12 +3027,8 @@ export interface BuildCreativeRequest {
|
|
|
2972
3027
|
message?: string;
|
|
2973
3028
|
creative_manifest?: CreativeManifest;
|
|
2974
3029
|
target_format_id: FormatID1;
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
*/
|
|
2978
|
-
context?: {
|
|
2979
|
-
[k: string]: unknown;
|
|
2980
|
-
};
|
|
3030
|
+
context?: ContextObject;
|
|
3031
|
+
ext?: ExtensionObject;
|
|
2981
3032
|
}
|
|
2982
3033
|
/**
|
|
2983
3034
|
* Creative manifest to transform or generate from. For pure generation, this should include the target format_id and any required input assets (e.g., promoted_offerings for generative formats). For transformation (e.g., resizing, reformatting), this is the complete creative to adapt.
|
|
@@ -3000,19 +3051,17 @@ export interface CreativeManifest {
|
|
|
3000
3051
|
*/
|
|
3001
3052
|
[k: string]: ImageAsset | VideoAsset | AudioAsset | VASTAsset | TextAsset | URLAsset | HTMLAsset | JavaScriptAsset | WebhookAsset | CSSAsset | DAASTAsset | PromotedOfferings;
|
|
3002
3053
|
};
|
|
3054
|
+
ext?: ExtensionObject;
|
|
3003
3055
|
}
|
|
3004
3056
|
/**
|
|
3005
|
-
* Format identifier this manifest is for
|
|
3057
|
+
* 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'}).
|
|
3006
3058
|
*/
|
|
3007
3059
|
export interface WebhookAsset {
|
|
3008
3060
|
/**
|
|
3009
3061
|
* Webhook URL to call for dynamic content
|
|
3010
3062
|
*/
|
|
3011
3063
|
url: string;
|
|
3012
|
-
|
|
3013
|
-
* HTTP method
|
|
3014
|
-
*/
|
|
3015
|
-
method?: 'GET' | 'POST';
|
|
3064
|
+
method?: HTTPMethod;
|
|
3016
3065
|
/**
|
|
3017
3066
|
* Maximum time to wait for response in milliseconds
|
|
3018
3067
|
*/
|
|
@@ -3025,18 +3074,12 @@ export interface WebhookAsset {
|
|
|
3025
3074
|
* Universal macros that must be provided for webhook to function
|
|
3026
3075
|
*/
|
|
3027
3076
|
required_macros?: string[];
|
|
3028
|
-
|
|
3029
|
-
* Expected content type of webhook response
|
|
3030
|
-
*/
|
|
3031
|
-
response_type: 'html' | 'json' | 'xml' | 'javascript';
|
|
3077
|
+
response_type: WebhookResponseType;
|
|
3032
3078
|
/**
|
|
3033
3079
|
* Security configuration for webhook calls
|
|
3034
3080
|
*/
|
|
3035
3081
|
security: {
|
|
3036
|
-
|
|
3037
|
-
* Authentication method
|
|
3038
|
-
*/
|
|
3039
|
-
method: 'hmac_sha256' | 'api_key' | 'none';
|
|
3082
|
+
method: WebhookSecurityMethod;
|
|
3040
3083
|
/**
|
|
3041
3084
|
* Header name for HMAC signature (e.g., 'X-Signature')
|
|
3042
3085
|
*/
|
|
@@ -3055,10 +3098,8 @@ export interface WebhookAsset {
|
|
|
3055
3098
|
*/
|
|
3056
3099
|
export type BuildCreativeResponse = {
|
|
3057
3100
|
creative_manifest: CreativeManifest;
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
*/
|
|
3061
|
-
context?: {};
|
|
3101
|
+
context?: ContextObject;
|
|
3102
|
+
ext?: ExtensionObject;
|
|
3062
3103
|
} | {
|
|
3063
3104
|
/**
|
|
3064
3105
|
* Array of errors explaining why creative generation failed
|
|
@@ -3066,13 +3107,11 @@ export type BuildCreativeResponse = {
|
|
|
3066
3107
|
* @minItems 1
|
|
3067
3108
|
*/
|
|
3068
3109
|
errors: [Error, ...Error[]];
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
*/
|
|
3072
|
-
context?: {};
|
|
3110
|
+
context?: ContextObject;
|
|
3111
|
+
ext?: ExtensionObject;
|
|
3073
3112
|
};
|
|
3074
3113
|
/**
|
|
3075
|
-
*
|
|
3114
|
+
* Image asset with URL and dimensions
|
|
3076
3115
|
*/
|
|
3077
3116
|
/**
|
|
3078
3117
|
* Request to generate previews of one or more creative manifests. Accepts either a single creative request or an array of requests for batch processing.
|
|
@@ -3107,16 +3146,9 @@ export type PreviewCreativeRequest = {
|
|
|
3107
3146
|
* Specific template ID for custom format rendering
|
|
3108
3147
|
*/
|
|
3109
3148
|
template_id?: string;
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
output_format?: 'url' | 'html';
|
|
3114
|
-
/**
|
|
3115
|
-
* Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.
|
|
3116
|
-
*/
|
|
3117
|
-
context?: {
|
|
3118
|
-
[k: string]: unknown;
|
|
3119
|
-
};
|
|
3149
|
+
output_format?: PreviewOutputFormat;
|
|
3150
|
+
context?: ContextObject;
|
|
3151
|
+
ext?: ExtensionObject;
|
|
3120
3152
|
} | {
|
|
3121
3153
|
/**
|
|
3122
3154
|
* Discriminator indicating this is a batch preview request
|
|
@@ -3155,10 +3187,7 @@ export type PreviewCreativeRequest = {
|
|
|
3155
3187
|
* Specific template ID for custom format rendering
|
|
3156
3188
|
*/
|
|
3157
3189
|
template_id?: string;
|
|
3158
|
-
|
|
3159
|
-
* Output format for this preview. 'url' returns preview_url, 'html' returns preview_html.
|
|
3160
|
-
*/
|
|
3161
|
-
output_format?: 'url' | 'html';
|
|
3190
|
+
output_format?: PreviewOutputFormat1;
|
|
3162
3191
|
},
|
|
3163
3192
|
...{
|
|
3164
3193
|
format_id: FormatID2;
|
|
@@ -3186,25 +3215,27 @@ export type PreviewCreativeRequest = {
|
|
|
3186
3215
|
* Specific template ID for custom format rendering
|
|
3187
3216
|
*/
|
|
3188
3217
|
template_id?: string;
|
|
3189
|
-
|
|
3190
|
-
* Output format for this preview. 'url' returns preview_url, 'html' returns preview_html.
|
|
3191
|
-
*/
|
|
3192
|
-
output_format?: 'url' | 'html';
|
|
3218
|
+
output_format?: PreviewOutputFormat1;
|
|
3193
3219
|
}[]
|
|
3194
3220
|
];
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
output_format?: 'url' | 'html';
|
|
3199
|
-
/**
|
|
3200
|
-
* Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.
|
|
3201
|
-
*/
|
|
3202
|
-
context?: {
|
|
3203
|
-
[k: string]: unknown;
|
|
3204
|
-
};
|
|
3221
|
+
output_format?: PreviewOutputFormat2;
|
|
3222
|
+
context?: ContextObject;
|
|
3223
|
+
ext?: ExtensionObject;
|
|
3205
3224
|
};
|
|
3206
3225
|
/**
|
|
3207
|
-
*
|
|
3226
|
+
* Image asset with URL and dimensions
|
|
3227
|
+
*/
|
|
3228
|
+
export type PreviewOutputFormat = 'url' | 'html';
|
|
3229
|
+
/**
|
|
3230
|
+
* Output format for this preview. 'url' returns preview_url, 'html' returns preview_html.
|
|
3231
|
+
*/
|
|
3232
|
+
export type PreviewOutputFormat1 = 'url' | 'html';
|
|
3233
|
+
/**
|
|
3234
|
+
* Default output format for all requests in this batch. Individual requests can override this. 'url' returns preview_url (iframe-embeddable URL), 'html' returns preview_html (raw HTML for direct embedding).
|
|
3235
|
+
*/
|
|
3236
|
+
export type PreviewOutputFormat2 = 'url' | 'html';
|
|
3237
|
+
/**
|
|
3238
|
+
* Format identifier for rendering the preview
|
|
3208
3239
|
*/
|
|
3209
3240
|
export interface CreativeManifest1 {
|
|
3210
3241
|
format_id: FormatID1;
|
|
@@ -3224,6 +3255,7 @@ export interface CreativeManifest1 {
|
|
|
3224
3255
|
*/
|
|
3225
3256
|
[k: string]: ImageAsset | VideoAsset | AudioAsset | VASTAsset | TextAsset | URLAsset | HTMLAsset | JavaScriptAsset | WebhookAsset | CSSAsset | DAASTAsset | PromotedOfferings;
|
|
3226
3257
|
};
|
|
3258
|
+
ext?: ExtensionObject;
|
|
3227
3259
|
}
|
|
3228
3260
|
/**
|
|
3229
3261
|
* Response containing preview links for one or more creatives. Format matches the request: single preview response for single requests, batch results for batch requests.
|
|
@@ -3310,10 +3342,8 @@ export type PreviewCreativeResponse = {
|
|
|
3310
3342
|
* ISO 8601 timestamp when preview links expire
|
|
3311
3343
|
*/
|
|
3312
3344
|
expires_at: string;
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
*/
|
|
3316
|
-
context?: {};
|
|
3345
|
+
context?: ContextObject;
|
|
3346
|
+
ext?: ExtensionObject;
|
|
3317
3347
|
} | {
|
|
3318
3348
|
/**
|
|
3319
3349
|
* Discriminator indicating this is a batch preview response
|
|
@@ -3336,10 +3366,8 @@ export type PreviewCreativeResponse = {
|
|
|
3336
3366
|
success?: false;
|
|
3337
3367
|
})[]
|
|
3338
3368
|
];
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
*/
|
|
3342
|
-
context?: {};
|
|
3369
|
+
context?: ContextObject;
|
|
3370
|
+
ext?: ExtensionObject;
|
|
3343
3371
|
};
|
|
3344
3372
|
/**
|
|
3345
3373
|
* A single rendered piece of a creative preview with discriminated output format
|
|
@@ -3484,6 +3512,9 @@ export type PreviewRender = {
|
|
|
3484
3512
|
csp_policy?: string;
|
|
3485
3513
|
};
|
|
3486
3514
|
};
|
|
3515
|
+
/**
|
|
3516
|
+
* 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.
|
|
3517
|
+
*/
|
|
3487
3518
|
/**
|
|
3488
3519
|
* A deployment target where signals can be activated (DSP, sales agent, etc.)
|
|
3489
3520
|
*/
|
|
@@ -3514,6 +3545,10 @@ export type Destination = {
|
|
|
3514
3545
|
*/
|
|
3515
3546
|
account?: string;
|
|
3516
3547
|
};
|
|
3548
|
+
/**
|
|
3549
|
+
* Types of signal catalogs available for audience targeting
|
|
3550
|
+
*/
|
|
3551
|
+
export type SignalCatalogType = 'marketplace' | 'custom' | 'owned';
|
|
3517
3552
|
/**
|
|
3518
3553
|
* Request parameters for discovering signals based on description
|
|
3519
3554
|
*/
|
|
@@ -3537,40 +3572,40 @@ export interface GetSignalsRequest {
|
|
|
3537
3572
|
*/
|
|
3538
3573
|
countries: string[];
|
|
3539
3574
|
};
|
|
3540
|
-
|
|
3541
|
-
* Filters to refine results
|
|
3542
|
-
*/
|
|
3543
|
-
filters?: {
|
|
3544
|
-
/**
|
|
3545
|
-
* Filter by catalog type
|
|
3546
|
-
*/
|
|
3547
|
-
catalog_types?: ('marketplace' | 'custom' | 'owned')[];
|
|
3548
|
-
/**
|
|
3549
|
-
* Filter by specific data providers
|
|
3550
|
-
*/
|
|
3551
|
-
data_providers?: string[];
|
|
3552
|
-
/**
|
|
3553
|
-
* Maximum CPM price filter
|
|
3554
|
-
*/
|
|
3555
|
-
max_cpm?: number;
|
|
3556
|
-
/**
|
|
3557
|
-
* Minimum coverage requirement
|
|
3558
|
-
*/
|
|
3559
|
-
min_coverage_percentage?: number;
|
|
3560
|
-
};
|
|
3575
|
+
filters?: SignalFilters;
|
|
3561
3576
|
/**
|
|
3562
3577
|
* Maximum number of results to return
|
|
3563
3578
|
*/
|
|
3564
3579
|
max_results?: number;
|
|
3580
|
+
context?: ContextObject;
|
|
3581
|
+
ext?: ExtensionObject;
|
|
3582
|
+
}
|
|
3583
|
+
/**
|
|
3584
|
+
* Filters to refine signal discovery results
|
|
3585
|
+
*/
|
|
3586
|
+
export interface SignalFilters {
|
|
3565
3587
|
/**
|
|
3566
|
-
*
|
|
3588
|
+
* Filter by catalog type
|
|
3567
3589
|
*/
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3590
|
+
catalog_types?: SignalCatalogType[];
|
|
3591
|
+
/**
|
|
3592
|
+
* Filter by specific data providers
|
|
3593
|
+
*/
|
|
3594
|
+
data_providers?: string[];
|
|
3595
|
+
/**
|
|
3596
|
+
* Maximum CPM price filter
|
|
3597
|
+
*/
|
|
3598
|
+
max_cpm?: number;
|
|
3599
|
+
/**
|
|
3600
|
+
* Minimum coverage requirement
|
|
3601
|
+
*/
|
|
3602
|
+
min_coverage_percentage?: number;
|
|
3571
3603
|
}
|
|
3572
3604
|
/**
|
|
3573
|
-
*
|
|
3605
|
+
* 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
|
+
*/
|
|
3607
|
+
/**
|
|
3608
|
+
* Type of signal
|
|
3574
3609
|
*/
|
|
3575
3610
|
export type Deployment = {
|
|
3576
3611
|
/**
|
|
@@ -3697,10 +3732,7 @@ export interface GetSignalsResponse {
|
|
|
3697
3732
|
* Detailed signal description
|
|
3698
3733
|
*/
|
|
3699
3734
|
description: string;
|
|
3700
|
-
|
|
3701
|
-
* Type of signal
|
|
3702
|
-
*/
|
|
3703
|
-
signal_type: 'marketplace' | 'custom' | 'owned';
|
|
3735
|
+
signal_type: SignalCatalogType;
|
|
3704
3736
|
/**
|
|
3705
3737
|
* Name of the data provider
|
|
3706
3738
|
*/
|
|
@@ -3731,10 +3763,8 @@ export interface GetSignalsResponse {
|
|
|
3731
3763
|
* Task-specific errors and warnings (e.g., signal discovery or pricing issues)
|
|
3732
3764
|
*/
|
|
3733
3765
|
errors?: Error[];
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
*/
|
|
3737
|
-
context?: {};
|
|
3766
|
+
context?: ContextObject;
|
|
3767
|
+
ext?: ExtensionObject;
|
|
3738
3768
|
}
|
|
3739
3769
|
/**
|
|
3740
3770
|
* Standard error structure for task-specific errors and warnings
|
|
@@ -3753,13 +3783,12 @@ export interface ActivateSignalRequest {
|
|
|
3753
3783
|
* @minItems 1
|
|
3754
3784
|
*/
|
|
3755
3785
|
deployments: [Destination, ...Destination[]];
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
*/
|
|
3759
|
-
context?: {
|
|
3760
|
-
[k: string]: unknown;
|
|
3761
|
-
};
|
|
3786
|
+
context?: ContextObject;
|
|
3787
|
+
ext?: ExtensionObject;
|
|
3762
3788
|
}
|
|
3789
|
+
/**
|
|
3790
|
+
* 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.
|
|
3791
|
+
*/
|
|
3763
3792
|
/**
|
|
3764
3793
|
* Response payload for activate_signal task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - the signal is either fully activated or not activated at all.
|
|
3765
3794
|
*/
|
|
@@ -3768,10 +3797,8 @@ export type ActivateSignalResponse = {
|
|
|
3768
3797
|
* Array of deployment results for each deployment target
|
|
3769
3798
|
*/
|
|
3770
3799
|
deployments: Deployment[];
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
*/
|
|
3774
|
-
context?: {};
|
|
3800
|
+
context?: ContextObject;
|
|
3801
|
+
ext?: ExtensionObject;
|
|
3775
3802
|
} | {
|
|
3776
3803
|
/**
|
|
3777
3804
|
* Array of errors explaining why activation failed (e.g., platform connectivity issues, signal definition problems, authentication failures)
|
|
@@ -3779,10 +3806,8 @@ export type ActivateSignalResponse = {
|
|
|
3779
3806
|
* @minItems 1
|
|
3780
3807
|
*/
|
|
3781
3808
|
errors: [Error, ...Error[]];
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
*/
|
|
3785
|
-
context?: {};
|
|
3809
|
+
context?: ContextObject;
|
|
3810
|
+
ext?: ExtensionObject;
|
|
3786
3811
|
};
|
|
3787
3812
|
/**
|
|
3788
3813
|
* A signal deployment to a specific deployment target with activation status and key
|