@adcp/client 3.0.3 → 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/auth/index.d.ts +8 -3
- package/dist/lib/auth/index.d.ts.map +1 -1
- package/dist/lib/auth/index.js +32 -6
- package/dist/lib/auth/index.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/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/ConfigurationManager.d.ts.map +1 -1
- package/dist/lib/core/ConfigurationManager.js +14 -1
- package/dist/lib/core/ConfigurationManager.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 +6 -0
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +15 -7
- 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 +12 -4
- 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/adcp.d.ts +3 -58
- package/dist/lib/types/adcp.d.ts.map +1 -1
- package/dist/lib/types/core.generated.d.ts +268 -211
- 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 +3191 -2687
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +562 -480
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +790 -654
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js +1 -1
- package/dist/lib/types/tools.generated.js.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/preview-utils.d.ts.map +1 -1
- package/dist/lib/utils/preview-utils.js +2 -0
- package/dist/lib/utils/preview-utils.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 +6 -7
|
@@ -3,16 +3,21 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type BrandManifestReference = BrandManifest | string;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Type of asset. Note: Brand manifests typically contain basic media assets (image, video, audio, text). Code assets (html, javascript, css) and ad markup (vast, daast) are usually not part of brand asset libraries.
|
|
7
7
|
*/
|
|
8
|
-
export type
|
|
9
|
-
export type BrandManifest1 = {
|
|
10
|
-
[k: string]: unknown;
|
|
11
|
-
};
|
|
8
|
+
export type AssetContentType = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'promoted_offerings' | 'url' | 'webhook';
|
|
12
9
|
/**
|
|
13
10
|
* Type of inventory delivery
|
|
14
11
|
*/
|
|
15
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';
|
|
16
21
|
/**
|
|
17
22
|
* Request parameters for discovering available advertising products
|
|
18
23
|
*/
|
|
@@ -22,38 +27,14 @@ export interface GetProductsRequest {
|
|
|
22
27
|
*/
|
|
23
28
|
brief?: string;
|
|
24
29
|
brand_manifest?: BrandManifestReference;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
filters?: {
|
|
29
|
-
delivery_type?: DeliveryType;
|
|
30
|
-
/**
|
|
31
|
-
* Filter for fixed price vs auction products
|
|
32
|
-
*/
|
|
33
|
-
is_fixed_price?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Filter by format types
|
|
36
|
-
*/
|
|
37
|
-
format_types?: ('video' | 'display' | 'audio')[];
|
|
38
|
-
/**
|
|
39
|
-
* Filter by specific format IDs
|
|
40
|
-
*/
|
|
41
|
-
format_ids?: FormatID[];
|
|
42
|
-
/**
|
|
43
|
-
* Only return products accepting IAB standard formats
|
|
44
|
-
*/
|
|
45
|
-
standard_formats_only?: boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Minimum exposures/impressions needed for measurement validity
|
|
48
|
-
*/
|
|
49
|
-
min_exposures?: number;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* 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.
|
|
53
|
-
*/
|
|
54
|
-
context?: {};
|
|
30
|
+
filters?: ProductFilters;
|
|
31
|
+
context?: ContextObject;
|
|
32
|
+
ext?: ExtensionObject;
|
|
55
33
|
}
|
|
56
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Inline brand manifest object
|
|
36
|
+
*/
|
|
37
|
+
export interface BrandManifest {
|
|
57
38
|
/**
|
|
58
39
|
* Primary brand URL for context and asset discovery. Creative agents can infer brand information from this URL.
|
|
59
40
|
*/
|
|
@@ -61,7 +42,7 @@ export interface BrandManifest2 {
|
|
|
61
42
|
/**
|
|
62
43
|
* Brand or business name
|
|
63
44
|
*/
|
|
64
|
-
name
|
|
45
|
+
name: string;
|
|
65
46
|
/**
|
|
66
47
|
* Brand logo assets with semantic tags for different use cases
|
|
67
48
|
*/
|
|
@@ -141,10 +122,7 @@ export interface BrandManifest2 {
|
|
|
141
122
|
* Unique identifier for this asset
|
|
142
123
|
*/
|
|
143
124
|
asset_id: string;
|
|
144
|
-
|
|
145
|
-
* Type of asset
|
|
146
|
-
*/
|
|
147
|
-
asset_type: 'image' | 'video' | 'audio' | 'text';
|
|
125
|
+
asset_type: AssetContentType;
|
|
148
126
|
/**
|
|
149
127
|
* URL to CDN-hosted asset file
|
|
150
128
|
*/
|
|
@@ -270,7 +248,55 @@ export interface BrandManifest2 {
|
|
|
270
248
|
};
|
|
271
249
|
}
|
|
272
250
|
/**
|
|
273
|
-
* 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.
|
|
274
300
|
*/
|
|
275
301
|
export interface FormatID {
|
|
276
302
|
/**
|
|
@@ -278,14 +304,105 @@ export interface FormatID {
|
|
|
278
304
|
*/
|
|
279
305
|
agent_url: string;
|
|
280
306
|
/**
|
|
281
|
-
* 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.
|
|
282
308
|
*/
|
|
283
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;
|
|
284
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;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
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.
|
|
337
|
+
*/
|
|
338
|
+
export type PublisherPropertySelector = {
|
|
339
|
+
/**
|
|
340
|
+
* Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
|
|
341
|
+
*/
|
|
342
|
+
publisher_domain: string;
|
|
343
|
+
/**
|
|
344
|
+
* Discriminator indicating all properties from this publisher are included
|
|
345
|
+
*/
|
|
346
|
+
selection_type: 'all';
|
|
347
|
+
} | {
|
|
348
|
+
/**
|
|
349
|
+
* Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
|
|
350
|
+
*/
|
|
351
|
+
publisher_domain: string;
|
|
352
|
+
/**
|
|
353
|
+
* Discriminator indicating selection by specific property IDs
|
|
354
|
+
*/
|
|
355
|
+
selection_type: 'by_id';
|
|
356
|
+
/**
|
|
357
|
+
* Specific property IDs from the publisher's adagents.json
|
|
358
|
+
*
|
|
359
|
+
* @minItems 1
|
|
360
|
+
*/
|
|
361
|
+
property_ids: [PropertyID, ...PropertyID[]];
|
|
362
|
+
} | {
|
|
363
|
+
/**
|
|
364
|
+
* Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
|
|
365
|
+
*/
|
|
366
|
+
publisher_domain: string;
|
|
367
|
+
/**
|
|
368
|
+
* Discriminator indicating selection by property tags
|
|
369
|
+
*/
|
|
370
|
+
selection_type: 'by_tag';
|
|
371
|
+
/**
|
|
372
|
+
* Property tags from the publisher's adagents.json. Selector covers all properties with these tags
|
|
373
|
+
*
|
|
374
|
+
* @minItems 1
|
|
375
|
+
*/
|
|
376
|
+
property_tags: [PropertyTag, ...PropertyTag[]];
|
|
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;
|
|
285
386
|
/**
|
|
286
387
|
* Type of inventory delivery
|
|
287
388
|
*/
|
|
288
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';
|
|
289
406
|
/**
|
|
290
407
|
* Response payload for get_products task
|
|
291
408
|
*/
|
|
@@ -298,10 +415,8 @@ export interface GetProductsResponse {
|
|
|
298
415
|
* Task-specific errors and warnings (e.g., product filtering issues)
|
|
299
416
|
*/
|
|
300
417
|
errors?: Error[];
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
*/
|
|
304
|
-
context?: {};
|
|
418
|
+
context?: ContextObject;
|
|
419
|
+
ext?: ExtensionObject;
|
|
305
420
|
}
|
|
306
421
|
/**
|
|
307
422
|
* Represents available advertising inventory
|
|
@@ -320,48 +435,11 @@ export interface Product {
|
|
|
320
435
|
*/
|
|
321
436
|
description: string;
|
|
322
437
|
/**
|
|
323
|
-
* Publisher properties covered by this product. Buyers fetch actual property definitions from each publisher's adagents.json and validate agent authorization.
|
|
438
|
+
* Publisher properties covered by this product. Buyers fetch actual property definitions from each publisher's adagents.json and validate agent authorization. Selection patterns mirror the authorization patterns in adagents.json for consistency.
|
|
324
439
|
*
|
|
325
440
|
* @minItems 1
|
|
326
441
|
*/
|
|
327
|
-
publisher_properties: [
|
|
328
|
-
{
|
|
329
|
-
/**
|
|
330
|
-
* Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
|
|
331
|
-
*/
|
|
332
|
-
publisher_domain: string;
|
|
333
|
-
/**
|
|
334
|
-
* Specific property IDs from the publisher's adagents.json. Mutually exclusive with property_tags.
|
|
335
|
-
*
|
|
336
|
-
* @minItems 1
|
|
337
|
-
*/
|
|
338
|
-
property_ids?: [string, ...string[]];
|
|
339
|
-
/**
|
|
340
|
-
* Property tags from the publisher's adagents.json. Product covers all properties with these tags. Mutually exclusive with property_ids.
|
|
341
|
-
*
|
|
342
|
-
* @minItems 1
|
|
343
|
-
*/
|
|
344
|
-
property_tags?: [string, ...string[]];
|
|
345
|
-
},
|
|
346
|
-
...{
|
|
347
|
-
/**
|
|
348
|
-
* Domain where publisher's adagents.json is hosted (e.g., 'cnn.com')
|
|
349
|
-
*/
|
|
350
|
-
publisher_domain: string;
|
|
351
|
-
/**
|
|
352
|
-
* Specific property IDs from the publisher's adagents.json. Mutually exclusive with property_tags.
|
|
353
|
-
*
|
|
354
|
-
* @minItems 1
|
|
355
|
-
*/
|
|
356
|
-
property_ids?: [string, ...string[]];
|
|
357
|
-
/**
|
|
358
|
-
* Property tags from the publisher's adagents.json. Product covers all properties with these tags. Mutually exclusive with property_ids.
|
|
359
|
-
*
|
|
360
|
-
* @minItems 1
|
|
361
|
-
*/
|
|
362
|
-
property_tags?: [string, ...string[]];
|
|
363
|
-
}[]
|
|
364
|
-
];
|
|
442
|
+
publisher_properties: [PublisherPropertySelector, ...PublisherPropertySelector[]];
|
|
365
443
|
/**
|
|
366
444
|
* Array of supported creative format IDs - structured format_id objects with agent_url and id
|
|
367
445
|
*/
|
|
@@ -435,9 +513,10 @@ export interface Product {
|
|
|
435
513
|
[k: string]: unknown;
|
|
436
514
|
};
|
|
437
515
|
};
|
|
516
|
+
ext?: ExtensionObject;
|
|
438
517
|
}
|
|
439
518
|
/**
|
|
440
|
-
* 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.
|
|
441
520
|
*/
|
|
442
521
|
export interface Placement {
|
|
443
522
|
/**
|
|
@@ -453,7 +532,7 @@ export interface Placement {
|
|
|
453
532
|
*/
|
|
454
533
|
description?: string;
|
|
455
534
|
/**
|
|
456
|
-
* 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).
|
|
457
536
|
*
|
|
458
537
|
* @minItems 1
|
|
459
538
|
*/
|
|
@@ -479,6 +558,10 @@ export interface CPMFixedRatePricingOption {
|
|
|
479
558
|
* ISO 4217 currency code
|
|
480
559
|
*/
|
|
481
560
|
currency: string;
|
|
561
|
+
/**
|
|
562
|
+
* Whether this is a fixed rate (true) or auction-based (false)
|
|
563
|
+
*/
|
|
564
|
+
is_fixed: true;
|
|
482
565
|
/**
|
|
483
566
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
484
567
|
*/
|
|
@@ -500,6 +583,10 @@ export interface CPMAuctionPricingOption {
|
|
|
500
583
|
* ISO 4217 currency code
|
|
501
584
|
*/
|
|
502
585
|
currency: string;
|
|
586
|
+
/**
|
|
587
|
+
* Whether this is a fixed rate (true) or auction-based (false)
|
|
588
|
+
*/
|
|
589
|
+
is_fixed: false;
|
|
503
590
|
/**
|
|
504
591
|
* Pricing guidance for auction-based CPM bidding
|
|
505
592
|
*/
|
|
@@ -550,6 +637,10 @@ export interface VCPMFixedRatePricingOption {
|
|
|
550
637
|
* ISO 4217 currency code
|
|
551
638
|
*/
|
|
552
639
|
currency: string;
|
|
640
|
+
/**
|
|
641
|
+
* Whether this is a fixed rate (true) or auction-based (false)
|
|
642
|
+
*/
|
|
643
|
+
is_fixed: true;
|
|
553
644
|
/**
|
|
554
645
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
555
646
|
*/
|
|
@@ -571,6 +662,10 @@ export interface VCPMAuctionPricingOption {
|
|
|
571
662
|
* ISO 4217 currency code
|
|
572
663
|
*/
|
|
573
664
|
currency: string;
|
|
665
|
+
/**
|
|
666
|
+
* Whether this is a fixed rate (true) or auction-based (false)
|
|
667
|
+
*/
|
|
668
|
+
is_fixed: false;
|
|
574
669
|
/**
|
|
575
670
|
* Statistical guidance for auction pricing
|
|
576
671
|
*/
|
|
@@ -621,6 +716,10 @@ export interface CPCPricingOption {
|
|
|
621
716
|
* ISO 4217 currency code
|
|
622
717
|
*/
|
|
623
718
|
currency: string;
|
|
719
|
+
/**
|
|
720
|
+
* Whether this is a fixed rate (true) or auction-based (false)
|
|
721
|
+
*/
|
|
722
|
+
is_fixed: true;
|
|
624
723
|
/**
|
|
625
724
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
626
725
|
*/
|
|
@@ -646,6 +745,10 @@ export interface CPCVPricingOption {
|
|
|
646
745
|
* ISO 4217 currency code
|
|
647
746
|
*/
|
|
648
747
|
currency: string;
|
|
748
|
+
/**
|
|
749
|
+
* Whether this is a fixed rate (true) or auction-based (false)
|
|
750
|
+
*/
|
|
751
|
+
is_fixed: true;
|
|
649
752
|
/**
|
|
650
753
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
651
754
|
*/
|
|
@@ -671,6 +774,10 @@ export interface CPVPricingOption {
|
|
|
671
774
|
* ISO 4217 currency code
|
|
672
775
|
*/
|
|
673
776
|
currency: string;
|
|
777
|
+
/**
|
|
778
|
+
* Whether this is a fixed rate (true) or auction-based (false)
|
|
779
|
+
*/
|
|
780
|
+
is_fixed: true;
|
|
674
781
|
/**
|
|
675
782
|
* CPV-specific parameters defining the view threshold
|
|
676
783
|
*/
|
|
@@ -707,6 +814,10 @@ export interface CPPPricingOption {
|
|
|
707
814
|
* ISO 4217 currency code
|
|
708
815
|
*/
|
|
709
816
|
currency: string;
|
|
817
|
+
/**
|
|
818
|
+
* Whether this is a fixed rate (true) or auction-based (false)
|
|
819
|
+
*/
|
|
820
|
+
is_fixed: true;
|
|
710
821
|
/**
|
|
711
822
|
* CPP-specific parameters for demographic targeting and GRP requirements
|
|
712
823
|
*/
|
|
@@ -817,7 +928,7 @@ export interface ReportingCapabilities {
|
|
|
817
928
|
*
|
|
818
929
|
* @minItems 1
|
|
819
930
|
*/
|
|
820
|
-
available_reporting_frequencies: [
|
|
931
|
+
available_reporting_frequencies: [ReportingFrequency, ...ReportingFrequency[]];
|
|
821
932
|
/**
|
|
822
933
|
* Expected delay in minutes before reporting data becomes available (e.g., 240 for 4-hour delay)
|
|
823
934
|
*/
|
|
@@ -833,27 +944,21 @@ export interface ReportingCapabilities {
|
|
|
833
944
|
/**
|
|
834
945
|
* Metrics available in reporting. Impressions and spend are always implicitly included.
|
|
835
946
|
*/
|
|
836
|
-
available_metrics:
|
|
947
|
+
available_metrics: AvailableMetric[];
|
|
837
948
|
}
|
|
838
949
|
/**
|
|
839
950
|
* Creative requirements and restrictions for a product
|
|
840
951
|
*/
|
|
841
952
|
export interface CreativePolicy {
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
*/
|
|
845
|
-
co_branding: 'required' | 'optional' | 'none';
|
|
846
|
-
/**
|
|
847
|
-
* Landing page requirements
|
|
848
|
-
*/
|
|
849
|
-
landing_page: 'any' | 'retailer_site_only' | 'must_include_retailer';
|
|
953
|
+
co_branding: CoBrandingRequirement;
|
|
954
|
+
landing_page: LandingPageRequirement;
|
|
850
955
|
/**
|
|
851
956
|
* Whether creative templates are provided
|
|
852
957
|
*/
|
|
853
958
|
templates_available: boolean;
|
|
854
959
|
}
|
|
855
960
|
/**
|
|
856
|
-
* 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.
|
|
857
962
|
*/
|
|
858
963
|
export interface FormatID1 {
|
|
859
964
|
/**
|
|
@@ -861,12 +966,24 @@ export interface FormatID1 {
|
|
|
861
966
|
*/
|
|
862
967
|
agent_url: string;
|
|
863
968
|
/**
|
|
864
|
-
* 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.
|
|
865
970
|
*/
|
|
866
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;
|
|
867
984
|
}
|
|
868
985
|
/**
|
|
869
|
-
* 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.
|
|
870
987
|
*/
|
|
871
988
|
export interface FormatID2 {
|
|
872
989
|
/**
|
|
@@ -874,12 +991,24 @@ export interface FormatID2 {
|
|
|
874
991
|
*/
|
|
875
992
|
agent_url: string;
|
|
876
993
|
/**
|
|
877
|
-
* 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.
|
|
878
995
|
*/
|
|
879
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;
|
|
880
1009
|
}
|
|
881
1010
|
/**
|
|
882
|
-
*
|
|
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.
|
|
883
1012
|
*/
|
|
884
1013
|
export interface Error {
|
|
885
1014
|
/**
|
|
@@ -910,21 +1039,21 @@ export interface Error {
|
|
|
910
1039
|
};
|
|
911
1040
|
}
|
|
912
1041
|
/**
|
|
913
|
-
*
|
|
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.
|
|
1043
|
+
*/
|
|
1044
|
+
/**
|
|
1045
|
+
* Filter by format type (technical categories with distinct requirements)
|
|
914
1046
|
*/
|
|
915
1047
|
export interface ListCreativeFormatsRequest {
|
|
916
1048
|
/**
|
|
917
1049
|
* Return only these specific format IDs (e.g., from get_products response)
|
|
918
1050
|
*/
|
|
919
1051
|
format_ids?: FormatID[];
|
|
920
|
-
|
|
921
|
-
* Filter by format type (technical categories with distinct requirements)
|
|
922
|
-
*/
|
|
923
|
-
type?: 'audio' | 'video' | 'display' | 'dooh';
|
|
1052
|
+
type?: FormatCategory;
|
|
924
1053
|
/**
|
|
925
1054
|
* Filter to formats that include these asset types. For third-party tags, search for 'html' or 'javascript'. E.g., ['image', 'text'] returns formats with images and text, ['javascript'] returns formats accepting JavaScript tags.
|
|
926
1055
|
*/
|
|
927
|
-
asset_types?:
|
|
1056
|
+
asset_types?: AssetContentType[];
|
|
928
1057
|
/**
|
|
929
1058
|
* Maximum width in pixels (inclusive). Returns formats where ANY render has width <= this value. For multi-render formats, matches if at least one render fits.
|
|
930
1059
|
*/
|
|
@@ -949,14 +1078,24 @@ export interface ListCreativeFormatsRequest {
|
|
|
949
1078
|
* Search for formats by name (case-insensitive partial match)
|
|
950
1079
|
*/
|
|
951
1080
|
name_search?: string;
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
*/
|
|
955
|
-
context?: {};
|
|
1081
|
+
context?: ContextObject;
|
|
1082
|
+
ext?: ExtensionObject;
|
|
956
1083
|
}
|
|
957
1084
|
/**
|
|
958
|
-
* 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.
|
|
1086
|
+
*/
|
|
1087
|
+
/**
|
|
1088
|
+
* Media type of this format - determines rendering method and asset requirements
|
|
1089
|
+
*/
|
|
1090
|
+
export type FormatIDParameter = 'dimensions' | 'duration';
|
|
1091
|
+
/**
|
|
1092
|
+
* Type of asset
|
|
1093
|
+
*/
|
|
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
|
|
959
1097
|
*/
|
|
1098
|
+
export type CreativeAgentCapability = 'validation' | 'assembly' | 'generation' | 'preview';
|
|
960
1099
|
/**
|
|
961
1100
|
* Response payload for list_creative_formats task
|
|
962
1101
|
*/
|
|
@@ -980,16 +1119,14 @@ export interface ListCreativeFormatsResponse {
|
|
|
980
1119
|
/**
|
|
981
1120
|
* Capabilities this creative agent provides
|
|
982
1121
|
*/
|
|
983
|
-
capabilities?:
|
|
1122
|
+
capabilities?: CreativeAgentCapability[];
|
|
984
1123
|
}[];
|
|
985
1124
|
/**
|
|
986
1125
|
* Task-specific errors and warnings (e.g., format availability issues)
|
|
987
1126
|
*/
|
|
988
1127
|
errors?: Error[];
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
*/
|
|
992
|
-
context?: {};
|
|
1128
|
+
context?: ContextObject;
|
|
1129
|
+
ext?: ExtensionObject;
|
|
993
1130
|
}
|
|
994
1131
|
/**
|
|
995
1132
|
* Represents a creative format with its requirements
|
|
@@ -1012,129 +1149,41 @@ export interface Format {
|
|
|
1012
1149
|
* Optional URL to showcase page with examples and interactive demos of this format
|
|
1013
1150
|
*/
|
|
1014
1151
|
example_url?: string;
|
|
1152
|
+
type: FormatCategory;
|
|
1015
1153
|
/**
|
|
1016
|
-
*
|
|
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.
|
|
1017
1155
|
*/
|
|
1018
|
-
|
|
1156
|
+
accepts_parameters?: FormatIDParameter[];
|
|
1019
1157
|
/**
|
|
1020
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.
|
|
1021
1159
|
*
|
|
1022
1160
|
* @minItems 1
|
|
1023
1161
|
*/
|
|
1024
1162
|
renders?: [
|
|
1025
|
-
{
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
* Fixed width in specified units
|
|
1036
|
-
*/
|
|
1037
|
-
width?: number;
|
|
1038
|
-
/**
|
|
1039
|
-
* Fixed height in specified units
|
|
1040
|
-
*/
|
|
1041
|
-
height?: number;
|
|
1042
|
-
/**
|
|
1043
|
-
* Minimum width for responsive renders
|
|
1044
|
-
*/
|
|
1045
|
-
min_width?: number;
|
|
1046
|
-
/**
|
|
1047
|
-
* Minimum height for responsive renders
|
|
1048
|
-
*/
|
|
1049
|
-
min_height?: number;
|
|
1050
|
-
/**
|
|
1051
|
-
* Maximum width for responsive renders
|
|
1052
|
-
*/
|
|
1053
|
-
max_width?: number;
|
|
1054
|
-
/**
|
|
1055
|
-
* Maximum height for responsive renders
|
|
1056
|
-
*/
|
|
1057
|
-
max_height?: number;
|
|
1058
|
-
/**
|
|
1059
|
-
* Indicates which dimensions are responsive/fluid
|
|
1060
|
-
*/
|
|
1061
|
-
responsive?: {
|
|
1062
|
-
width: boolean;
|
|
1063
|
-
height: boolean;
|
|
1064
|
-
};
|
|
1065
|
-
/**
|
|
1066
|
-
* Fixed aspect ratio constraint (e.g., '16:9', '4:3', '1:1')
|
|
1067
|
-
*/
|
|
1068
|
-
aspect_ratio?: string;
|
|
1069
|
-
/**
|
|
1070
|
-
* Unit of measurement for dimensions
|
|
1071
|
-
*/
|
|
1072
|
-
unit: 'px' | 'dp' | 'inches' | 'cm';
|
|
1073
|
-
};
|
|
1074
|
-
},
|
|
1075
|
-
...{
|
|
1076
|
-
/**
|
|
1077
|
-
* Semantic role of this rendered piece (e.g., 'primary', 'companion', 'mobile_variant')
|
|
1078
|
-
*/
|
|
1079
|
-
role: string;
|
|
1080
|
-
/**
|
|
1081
|
-
* Dimensions for this rendered piece
|
|
1082
|
-
*/
|
|
1083
|
-
dimensions: {
|
|
1084
|
-
/**
|
|
1085
|
-
* Fixed width in specified units
|
|
1086
|
-
*/
|
|
1087
|
-
width?: number;
|
|
1088
|
-
/**
|
|
1089
|
-
* Fixed height in specified units
|
|
1090
|
-
*/
|
|
1091
|
-
height?: number;
|
|
1092
|
-
/**
|
|
1093
|
-
* Minimum width for responsive renders
|
|
1094
|
-
*/
|
|
1095
|
-
min_width?: number;
|
|
1096
|
-
/**
|
|
1097
|
-
* Minimum height for responsive renders
|
|
1098
|
-
*/
|
|
1099
|
-
min_height?: number;
|
|
1100
|
-
/**
|
|
1101
|
-
* Maximum width for responsive renders
|
|
1102
|
-
*/
|
|
1103
|
-
max_width?: number;
|
|
1104
|
-
/**
|
|
1105
|
-
* Maximum height for responsive renders
|
|
1106
|
-
*/
|
|
1107
|
-
max_height?: number;
|
|
1108
|
-
/**
|
|
1109
|
-
* Indicates which dimensions are responsive/fluid
|
|
1110
|
-
*/
|
|
1111
|
-
responsive?: {
|
|
1112
|
-
width: boolean;
|
|
1113
|
-
height: boolean;
|
|
1114
|
-
};
|
|
1115
|
-
/**
|
|
1116
|
-
* Fixed aspect ratio constraint (e.g., '16:9', '4:3', '1:1')
|
|
1117
|
-
*/
|
|
1118
|
-
aspect_ratio?: string;
|
|
1119
|
-
/**
|
|
1120
|
-
* Unit of measurement for dimensions
|
|
1121
|
-
*/
|
|
1122
|
-
unit: 'px' | 'dp' | 'inches' | 'cm';
|
|
1123
|
-
};
|
|
1124
|
-
}[]
|
|
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
|
+
})[]
|
|
1125
1173
|
];
|
|
1126
1174
|
/**
|
|
1127
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).
|
|
1128
1176
|
*/
|
|
1129
1177
|
assets_required?: ({
|
|
1130
1178
|
/**
|
|
1131
|
-
*
|
|
1179
|
+
* Discriminator indicating this is an individual asset requirement
|
|
1132
1180
|
*/
|
|
1133
|
-
|
|
1181
|
+
item_type: 'individual';
|
|
1134
1182
|
/**
|
|
1135
|
-
*
|
|
1183
|
+
* Unique identifier for this asset. Creative manifests MUST use this exact value as the key in the assets object.
|
|
1136
1184
|
*/
|
|
1137
|
-
|
|
1185
|
+
asset_id: string;
|
|
1186
|
+
asset_type: AssetContentType;
|
|
1138
1187
|
/**
|
|
1139
1188
|
* Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1140
1189
|
*/
|
|
@@ -1144,20 +1193,20 @@ export interface Format {
|
|
|
1144
1193
|
*/
|
|
1145
1194
|
required?: boolean;
|
|
1146
1195
|
/**
|
|
1147
|
-
* 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).
|
|
1148
1197
|
*/
|
|
1149
1198
|
requirements?: {
|
|
1150
1199
|
[k: string]: unknown;
|
|
1151
1200
|
};
|
|
1152
1201
|
} | {
|
|
1153
1202
|
/**
|
|
1154
|
-
*
|
|
1203
|
+
* Discriminator indicating this is a repeatable asset group
|
|
1155
1204
|
*/
|
|
1156
|
-
|
|
1205
|
+
item_type: 'repeatable_group';
|
|
1157
1206
|
/**
|
|
1158
|
-
*
|
|
1207
|
+
* Identifier for this asset group (e.g., 'product', 'slide', 'card')
|
|
1159
1208
|
*/
|
|
1160
|
-
|
|
1209
|
+
asset_group_id: string;
|
|
1161
1210
|
/**
|
|
1162
1211
|
* Minimum number of repetitions required
|
|
1163
1212
|
*/
|
|
@@ -1174,10 +1223,7 @@ export interface Format {
|
|
|
1174
1223
|
* Identifier for this asset within the group
|
|
1175
1224
|
*/
|
|
1176
1225
|
asset_id: string;
|
|
1177
|
-
|
|
1178
|
-
* Type of asset
|
|
1179
|
-
*/
|
|
1180
|
-
asset_type: 'image' | 'video' | 'audio' | 'vast' | 'daast' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'url' | 'webhook' | 'promoted_offerings';
|
|
1226
|
+
asset_type: AssetContentType1;
|
|
1181
1227
|
/**
|
|
1182
1228
|
* Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1183
1229
|
*/
|
|
@@ -1187,7 +1233,7 @@ export interface Format {
|
|
|
1187
1233
|
*/
|
|
1188
1234
|
required?: boolean;
|
|
1189
1235
|
/**
|
|
1190
|
-
* 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).
|
|
1191
1237
|
*/
|
|
1192
1238
|
requirements?: {
|
|
1193
1239
|
[k: string]: unknown;
|
|
@@ -1242,9 +1288,21 @@ export interface FormatID3 {
|
|
|
1242
1288
|
*/
|
|
1243
1289
|
agent_url: string;
|
|
1244
1290
|
/**
|
|
1245
|
-
* 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.
|
|
1246
1292
|
*/
|
|
1247
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;
|
|
1248
1306
|
}
|
|
1249
1307
|
/**
|
|
1250
1308
|
* Standard error structure for task-specific errors and warnings
|
|
@@ -1253,6 +1311,48 @@ export interface FormatID3 {
|
|
|
1253
1311
|
* Budget pacing strategy
|
|
1254
1312
|
*/
|
|
1255
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';
|
|
1256
1356
|
/**
|
|
1257
1357
|
* VAST (Video Ad Serving Template) tag for third-party video ad serving
|
|
1258
1358
|
*/
|
|
@@ -1265,10 +1365,7 @@ export type VASTAsset = {
|
|
|
1265
1365
|
* URL endpoint that returns VAST XML
|
|
1266
1366
|
*/
|
|
1267
1367
|
url: string;
|
|
1268
|
-
|
|
1269
|
-
* VAST specification version
|
|
1270
|
-
*/
|
|
1271
|
-
vast_version?: '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
1368
|
+
vast_version?: VASTVersion;
|
|
1272
1369
|
/**
|
|
1273
1370
|
* Whether VPAID (Video Player-Ad Interface Definition) is supported
|
|
1274
1371
|
*/
|
|
@@ -1280,7 +1377,7 @@ export type VASTAsset = {
|
|
|
1280
1377
|
/**
|
|
1281
1378
|
* Tracking events supported by this VAST tag
|
|
1282
1379
|
*/
|
|
1283
|
-
tracking_events?:
|
|
1380
|
+
tracking_events?: VASTTrackingEvent[];
|
|
1284
1381
|
} | {
|
|
1285
1382
|
/**
|
|
1286
1383
|
* Discriminator indicating VAST is delivered as inline XML content
|
|
@@ -1290,10 +1387,7 @@ export type VASTAsset = {
|
|
|
1290
1387
|
* Inline VAST XML content
|
|
1291
1388
|
*/
|
|
1292
1389
|
content: string;
|
|
1293
|
-
|
|
1294
|
-
* VAST specification version
|
|
1295
|
-
*/
|
|
1296
|
-
vast_version?: '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
1390
|
+
vast_version?: VASTVersion1;
|
|
1297
1391
|
/**
|
|
1298
1392
|
* Whether VPAID (Video Player-Ad Interface Definition) is supported
|
|
1299
1393
|
*/
|
|
@@ -1305,8 +1399,20 @@ export type VASTAsset = {
|
|
|
1305
1399
|
/**
|
|
1306
1400
|
* Tracking events supported by this VAST tag
|
|
1307
1401
|
*/
|
|
1308
|
-
tracking_events?:
|
|
1402
|
+
tracking_events?: VASTTrackingEvent[];
|
|
1309
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';
|
|
1310
1416
|
/**
|
|
1311
1417
|
* DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
|
|
1312
1418
|
*/
|
|
@@ -1319,10 +1425,7 @@ export type DAASTAsset = {
|
|
|
1319
1425
|
* URL endpoint that returns DAAST XML
|
|
1320
1426
|
*/
|
|
1321
1427
|
url: string;
|
|
1322
|
-
|
|
1323
|
-
* DAAST specification version
|
|
1324
|
-
*/
|
|
1325
|
-
daast_version?: '1.0' | '1.1';
|
|
1428
|
+
daast_version?: DAASTVersion;
|
|
1326
1429
|
/**
|
|
1327
1430
|
* Expected audio duration in milliseconds (if known)
|
|
1328
1431
|
*/
|
|
@@ -1330,7 +1433,7 @@ export type DAASTAsset = {
|
|
|
1330
1433
|
/**
|
|
1331
1434
|
* Tracking events supported by this DAAST tag
|
|
1332
1435
|
*/
|
|
1333
|
-
tracking_events?:
|
|
1436
|
+
tracking_events?: DAASTTrackingEvent[];
|
|
1334
1437
|
/**
|
|
1335
1438
|
* Whether companion display ads are included
|
|
1336
1439
|
*/
|
|
@@ -1344,10 +1447,7 @@ export type DAASTAsset = {
|
|
|
1344
1447
|
* Inline DAAST XML content
|
|
1345
1448
|
*/
|
|
1346
1449
|
content: string;
|
|
1347
|
-
|
|
1348
|
-
* DAAST specification version
|
|
1349
|
-
*/
|
|
1350
|
-
daast_version?: '1.0' | '1.1';
|
|
1450
|
+
daast_version?: DAASTVersion1;
|
|
1351
1451
|
/**
|
|
1352
1452
|
* Expected audio duration in milliseconds (if known)
|
|
1353
1453
|
*/
|
|
@@ -1355,20 +1455,40 @@ export type DAASTAsset = {
|
|
|
1355
1455
|
/**
|
|
1356
1456
|
* Tracking events supported by this DAAST tag
|
|
1357
1457
|
*/
|
|
1358
|
-
tracking_events?:
|
|
1458
|
+
tracking_events?: DAASTTrackingEvent[];
|
|
1359
1459
|
/**
|
|
1360
1460
|
* Whether companion display ads are included
|
|
1361
1461
|
*/
|
|
1362
1462
|
companion_ads?: boolean;
|
|
1363
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';
|
|
1364
1476
|
/**
|
|
1365
1477
|
* Brand information manifest containing assets, themes, and guidelines. Can be provided inline or as a URL reference to a hosted manifest.
|
|
1366
1478
|
*/
|
|
1367
|
-
export type
|
|
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
|
+
*/
|
|
1483
|
+
export type BrandManifestReference1 = BrandManifest | string;
|
|
1368
1484
|
/**
|
|
1369
1485
|
* Campaign start timing: 'asap' or ISO 8601 date-time
|
|
1370
1486
|
*/
|
|
1371
1487
|
export type StartTiming = 'asap' | string;
|
|
1488
|
+
/**
|
|
1489
|
+
* Authentication schemes for push notification endpoints
|
|
1490
|
+
*/
|
|
1491
|
+
export type AuthenticationScheme = 'Bearer' | 'HMAC-SHA256';
|
|
1372
1492
|
/**
|
|
1373
1493
|
* Request parameters for creating a media buy
|
|
1374
1494
|
*/
|
|
@@ -1401,10 +1521,8 @@ export interface CreateMediaBuyRequest {
|
|
|
1401
1521
|
*/
|
|
1402
1522
|
requested_metrics?: ('impressions' | 'spend' | 'clicks' | 'ctr' | 'video_completions' | 'completion_rate' | 'conversions' | 'viewability' | 'engagement_rate')[];
|
|
1403
1523
|
};
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
*/
|
|
1407
|
-
context?: {};
|
|
1524
|
+
context?: ContextObject;
|
|
1525
|
+
ext?: ExtensionObject;
|
|
1408
1526
|
}
|
|
1409
1527
|
/**
|
|
1410
1528
|
* Package configuration for media buy creation
|
|
@@ -1448,9 +1566,10 @@ export interface PackageRequest {
|
|
|
1448
1566
|
* @maxItems 100
|
|
1449
1567
|
*/
|
|
1450
1568
|
creatives?: CreativeAsset[];
|
|
1569
|
+
ext?: ExtensionObject;
|
|
1451
1570
|
}
|
|
1452
1571
|
/**
|
|
1453
|
-
* 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.
|
|
1454
1573
|
*/
|
|
1455
1574
|
export interface TargetingOverlay {
|
|
1456
1575
|
/**
|
|
@@ -1538,60 +1657,29 @@ export interface CreativeAsset {
|
|
|
1538
1657
|
* For generative creatives: set to true to approve and finalize, false to request regeneration with updated assets/message. Omit for non-generative creatives.
|
|
1539
1658
|
*/
|
|
1540
1659
|
approved?: boolean;
|
|
1541
|
-
}
|
|
1542
|
-
/**
|
|
1543
|
-
* Structured format identifier with agent URL and format name
|
|
1544
|
-
*/
|
|
1545
|
-
export interface ImageAsset {
|
|
1546
1660
|
/**
|
|
1547
|
-
*
|
|
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.
|
|
1548
1662
|
*/
|
|
1549
|
-
|
|
1663
|
+
weight?: number;
|
|
1550
1664
|
/**
|
|
1551
|
-
*
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
/**
|
|
1555
|
-
* Image height in pixels
|
|
1556
|
-
*/
|
|
1557
|
-
height?: number;
|
|
1558
|
-
/**
|
|
1559
|
-
* Image file format (jpg, png, gif, webp, etc.)
|
|
1560
|
-
*/
|
|
1561
|
-
format?: string;
|
|
1562
|
-
/**
|
|
1563
|
-
* Alternative text for accessibility
|
|
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
|
|
1564
1668
|
*/
|
|
1565
|
-
|
|
1669
|
+
placement_ids?: [string, ...string[]];
|
|
1566
1670
|
}
|
|
1567
1671
|
/**
|
|
1568
|
-
*
|
|
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.
|
|
1569
1673
|
*/
|
|
1570
|
-
export interface
|
|
1571
|
-
/**
|
|
1572
|
-
* URL to the video asset
|
|
1573
|
-
*/
|
|
1574
|
-
url: string;
|
|
1575
|
-
/**
|
|
1576
|
-
* Video width in pixels
|
|
1577
|
-
*/
|
|
1578
|
-
width?: number;
|
|
1674
|
+
export interface Dimensions {
|
|
1579
1675
|
/**
|
|
1580
|
-
*
|
|
1676
|
+
* Width in pixels
|
|
1581
1677
|
*/
|
|
1582
|
-
|
|
1678
|
+
width: number;
|
|
1583
1679
|
/**
|
|
1584
|
-
*
|
|
1680
|
+
* Height in pixels
|
|
1585
1681
|
*/
|
|
1586
|
-
|
|
1587
|
-
/**
|
|
1588
|
-
* Video file format (mp4, webm, mov, etc.)
|
|
1589
|
-
*/
|
|
1590
|
-
format?: string;
|
|
1591
|
-
/**
|
|
1592
|
-
* Video bitrate in kilobits per second
|
|
1593
|
-
*/
|
|
1594
|
-
bitrate_kbps?: number;
|
|
1682
|
+
height: number;
|
|
1595
1683
|
}
|
|
1596
1684
|
/**
|
|
1597
1685
|
* Audio asset with URL and specifications
|
|
@@ -1661,10 +1749,7 @@ export interface JavaScriptAsset {
|
|
|
1661
1749
|
* JavaScript content
|
|
1662
1750
|
*/
|
|
1663
1751
|
content: string;
|
|
1664
|
-
|
|
1665
|
-
* JavaScript module type
|
|
1666
|
-
*/
|
|
1667
|
-
module_type?: 'esm' | 'commonjs' | 'script';
|
|
1752
|
+
module_type?: JavaScriptModuleType;
|
|
1668
1753
|
}
|
|
1669
1754
|
/**
|
|
1670
1755
|
* Complete offering specification combining brand manifest, product selectors, and asset filters. Provides all context needed for creative generation about what is being promoted.
|
|
@@ -1709,6 +1794,9 @@ export interface PromotedOfferings {
|
|
|
1709
1794
|
exclude_tags?: string[];
|
|
1710
1795
|
};
|
|
1711
1796
|
}
|
|
1797
|
+
/**
|
|
1798
|
+
* Inline brand manifest object
|
|
1799
|
+
*/
|
|
1712
1800
|
export interface PromotedProducts {
|
|
1713
1801
|
/**
|
|
1714
1802
|
* Direct product SKU references from the brand manifest product catalog
|
|
@@ -1735,17 +1823,14 @@ export interface URLAsset {
|
|
|
1735
1823
|
* URL reference
|
|
1736
1824
|
*/
|
|
1737
1825
|
url: string;
|
|
1738
|
-
|
|
1739
|
-
* 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)
|
|
1740
|
-
*/
|
|
1741
|
-
url_type?: 'clickthrough' | 'tracker_pixel' | 'tracker_script';
|
|
1826
|
+
url_type?: URLAssetType;
|
|
1742
1827
|
/**
|
|
1743
1828
|
* Description of what this URL points to
|
|
1744
1829
|
*/
|
|
1745
1830
|
description?: string;
|
|
1746
1831
|
}
|
|
1747
1832
|
/**
|
|
1748
|
-
*
|
|
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.
|
|
1749
1834
|
*/
|
|
1750
1835
|
export interface PushNotificationConfig {
|
|
1751
1836
|
/**
|
|
@@ -1766,13 +1851,16 @@ export interface PushNotificationConfig {
|
|
|
1766
1851
|
* @minItems 1
|
|
1767
1852
|
* @maxItems 1
|
|
1768
1853
|
*/
|
|
1769
|
-
schemes: [
|
|
1854
|
+
schemes: [AuthenticationScheme];
|
|
1770
1855
|
/**
|
|
1771
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.
|
|
1772
1857
|
*/
|
|
1773
1858
|
credentials: string;
|
|
1774
1859
|
};
|
|
1775
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
|
+
*/
|
|
1776
1864
|
/**
|
|
1777
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.
|
|
1778
1866
|
*/
|
|
@@ -1790,22 +1878,11 @@ export type CreateMediaBuyResponse = {
|
|
|
1790
1878
|
*/
|
|
1791
1879
|
creative_deadline?: string;
|
|
1792
1880
|
/**
|
|
1793
|
-
* Array of created packages
|
|
1794
|
-
*/
|
|
1795
|
-
packages: {
|
|
1796
|
-
/**
|
|
1797
|
-
* Publisher's unique identifier for the package
|
|
1798
|
-
*/
|
|
1799
|
-
package_id: string;
|
|
1800
|
-
/**
|
|
1801
|
-
* Buyer's reference identifier for the package
|
|
1802
|
-
*/
|
|
1803
|
-
buyer_ref: string;
|
|
1804
|
-
}[];
|
|
1805
|
-
/**
|
|
1806
|
-
* Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.
|
|
1881
|
+
* Array of created packages with complete state information
|
|
1807
1882
|
*/
|
|
1808
|
-
|
|
1883
|
+
packages: Package[];
|
|
1884
|
+
context?: ContextObject;
|
|
1885
|
+
ext?: ExtensionObject;
|
|
1809
1886
|
} | {
|
|
1810
1887
|
/**
|
|
1811
1888
|
* Array of errors explaining why the operation failed
|
|
@@ -1813,16 +1890,85 @@ export type CreateMediaBuyResponse = {
|
|
|
1813
1890
|
* @minItems 1
|
|
1814
1891
|
*/
|
|
1815
1892
|
errors: [Error, ...Error[]];
|
|
1893
|
+
context?: ContextObject;
|
|
1894
|
+
ext?: ExtensionObject;
|
|
1895
|
+
};
|
|
1896
|
+
/**
|
|
1897
|
+
* Budget pacing strategy
|
|
1898
|
+
*/
|
|
1899
|
+
export interface Package {
|
|
1816
1900
|
/**
|
|
1817
|
-
*
|
|
1901
|
+
* Publisher's unique identifier for the package
|
|
1818
1902
|
*/
|
|
1819
|
-
|
|
1820
|
-
|
|
1903
|
+
package_id: string;
|
|
1904
|
+
/**
|
|
1905
|
+
* Buyer's reference identifier for this package
|
|
1906
|
+
*/
|
|
1907
|
+
buyer_ref?: string;
|
|
1908
|
+
/**
|
|
1909
|
+
* ID of the product this package is based on
|
|
1910
|
+
*/
|
|
1911
|
+
product_id?: string;
|
|
1912
|
+
/**
|
|
1913
|
+
* Budget allocation for this package in the currency specified by the pricing option
|
|
1914
|
+
*/
|
|
1915
|
+
budget?: number;
|
|
1916
|
+
pacing?: Pacing;
|
|
1917
|
+
/**
|
|
1918
|
+
* ID of the selected pricing option from the product's pricing_options array
|
|
1919
|
+
*/
|
|
1920
|
+
pricing_option_id?: string;
|
|
1921
|
+
/**
|
|
1922
|
+
* Bid price for auction-based CPM pricing (present if using cpm-auction-option)
|
|
1923
|
+
*/
|
|
1924
|
+
bid_price?: number;
|
|
1925
|
+
/**
|
|
1926
|
+
* Impression goal for this package
|
|
1927
|
+
*/
|
|
1928
|
+
impressions?: number;
|
|
1929
|
+
targeting_overlay?: TargetingOverlay;
|
|
1930
|
+
/**
|
|
1931
|
+
* Creative assets assigned to this package
|
|
1932
|
+
*/
|
|
1933
|
+
creative_assignments?: CreativeAssignment[];
|
|
1934
|
+
/**
|
|
1935
|
+
* Format IDs that creative assets will be provided for this package
|
|
1936
|
+
*/
|
|
1937
|
+
format_ids_to_provide?: FormatID[];
|
|
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;
|
|
1943
|
+
}
|
|
1821
1944
|
/**
|
|
1822
|
-
*
|
|
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).
|
|
1823
1946
|
*/
|
|
1947
|
+
export interface CreativeAssignment {
|
|
1948
|
+
/**
|
|
1949
|
+
* Unique identifier for the creative
|
|
1950
|
+
*/
|
|
1951
|
+
creative_id: string;
|
|
1952
|
+
/**
|
|
1953
|
+
* Delivery weight for this creative
|
|
1954
|
+
*/
|
|
1955
|
+
weight?: number;
|
|
1956
|
+
/**
|
|
1957
|
+
* Optional array of placement IDs where this creative should run. When omitted, the creative runs on all placements in the package. References placement_id values from the product's placements array.
|
|
1958
|
+
*
|
|
1959
|
+
* @minItems 1
|
|
1960
|
+
*/
|
|
1961
|
+
placement_ids?: [string, ...string[]];
|
|
1962
|
+
}
|
|
1824
1963
|
/**
|
|
1825
|
-
*
|
|
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.
|
|
1965
|
+
*/
|
|
1966
|
+
/**
|
|
1967
|
+
* Image asset with URL and dimensions
|
|
1968
|
+
*/
|
|
1969
|
+
export type ValidationMode = 'strict' | 'lenient';
|
|
1970
|
+
/**
|
|
1971
|
+
* Authentication schemes for push notification endpoints
|
|
1826
1972
|
*/
|
|
1827
1973
|
export interface SyncCreativesRequest {
|
|
1828
1974
|
/**
|
|
@@ -1832,9 +1978,11 @@ export interface SyncCreativesRequest {
|
|
|
1832
1978
|
*/
|
|
1833
1979
|
creatives: CreativeAsset[];
|
|
1834
1980
|
/**
|
|
1835
|
-
* 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
|
|
1836
1984
|
*/
|
|
1837
|
-
|
|
1985
|
+
creative_ids?: string[];
|
|
1838
1986
|
/**
|
|
1839
1987
|
* Optional bulk assignment of creatives to packages
|
|
1840
1988
|
*/
|
|
@@ -1855,15 +2003,10 @@ export interface SyncCreativesRequest {
|
|
|
1855
2003
|
* When true, preview changes without applying them. Returns what would be created/updated/deleted.
|
|
1856
2004
|
*/
|
|
1857
2005
|
dry_run?: boolean;
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
push_notification_config?: PushNotificationConfig;
|
|
1863
|
-
/**
|
|
1864
|
-
* 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.
|
|
1865
|
-
*/
|
|
1866
|
-
context?: {};
|
|
2006
|
+
validation_mode?: ValidationMode;
|
|
2007
|
+
push_notification_config?: PushNotificationConfig;
|
|
2008
|
+
context?: ContextObject;
|
|
2009
|
+
ext?: ExtensionObject;
|
|
1867
2010
|
}
|
|
1868
2011
|
/**
|
|
1869
2012
|
* Creative asset for upload to library - supports static assets, generative formats, and third-party snippets
|
|
@@ -1884,10 +2027,7 @@ export type SyncCreativesResponse = {
|
|
|
1884
2027
|
* Creative ID from the request
|
|
1885
2028
|
*/
|
|
1886
2029
|
creative_id: string;
|
|
1887
|
-
|
|
1888
|
-
* Action taken for this creative
|
|
1889
|
-
*/
|
|
1890
|
-
action: 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
|
|
2030
|
+
action: CreativeAction;
|
|
1891
2031
|
/**
|
|
1892
2032
|
* Platform-specific ID assigned to the creative
|
|
1893
2033
|
*/
|
|
@@ -1929,10 +2069,8 @@ export type SyncCreativesResponse = {
|
|
|
1929
2069
|
[k: string]: string;
|
|
1930
2070
|
};
|
|
1931
2071
|
}[];
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
*/
|
|
1935
|
-
context?: {};
|
|
2072
|
+
context?: ContextObject;
|
|
2073
|
+
ext?: ExtensionObject;
|
|
1936
2074
|
} | {
|
|
1937
2075
|
/**
|
|
1938
2076
|
* Operation-level errors that prevented processing any creatives (e.g., authentication failure, service unavailable, invalid request format)
|
|
@@ -1940,13 +2078,15 @@ export type SyncCreativesResponse = {
|
|
|
1940
2078
|
* @minItems 1
|
|
1941
2079
|
*/
|
|
1942
2080
|
errors: [Error, ...Error[]];
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
*/
|
|
1946
|
-
context?: {};
|
|
2081
|
+
context?: ContextObject;
|
|
2082
|
+
ext?: ExtensionObject;
|
|
1947
2083
|
};
|
|
1948
2084
|
/**
|
|
1949
|
-
*
|
|
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.
|
|
1950
2090
|
*/
|
|
1951
2091
|
/**
|
|
1952
2092
|
* Filter by creative approval status
|
|
@@ -1956,90 +2096,25 @@ export type CreativeStatus = 'processing' | 'approved' | 'rejected' | 'pending_r
|
|
|
1956
2096
|
* Status of a creative asset
|
|
1957
2097
|
*/
|
|
1958
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';
|
|
1959
2107
|
/**
|
|
1960
2108
|
* Request parameters for querying creative assets from the centralized library with filtering, sorting, and pagination
|
|
1961
2109
|
*/
|
|
1962
2110
|
export interface ListCreativesRequest {
|
|
1963
|
-
|
|
1964
|
-
* Filter criteria for querying creatives
|
|
1965
|
-
*/
|
|
1966
|
-
filters?: {
|
|
1967
|
-
/**
|
|
1968
|
-
* Filter by creative format type (e.g., video, audio, display)
|
|
1969
|
-
*/
|
|
1970
|
-
format?: string;
|
|
1971
|
-
/**
|
|
1972
|
-
* Filter by multiple creative format types
|
|
1973
|
-
*/
|
|
1974
|
-
formats?: string[];
|
|
1975
|
-
status?: CreativeStatus;
|
|
1976
|
-
/**
|
|
1977
|
-
* Filter by multiple creative statuses
|
|
1978
|
-
*/
|
|
1979
|
-
statuses?: CreativeStatus1[];
|
|
1980
|
-
/**
|
|
1981
|
-
* Filter by creative tags (all tags must match)
|
|
1982
|
-
*/
|
|
1983
|
-
tags?: string[];
|
|
1984
|
-
/**
|
|
1985
|
-
* Filter by creative tags (any tag must match)
|
|
1986
|
-
*/
|
|
1987
|
-
tags_any?: string[];
|
|
1988
|
-
/**
|
|
1989
|
-
* Filter by creative names containing this text (case-insensitive)
|
|
1990
|
-
*/
|
|
1991
|
-
name_contains?: string;
|
|
1992
|
-
/**
|
|
1993
|
-
* Filter by specific creative IDs
|
|
1994
|
-
*
|
|
1995
|
-
* @maxItems 100
|
|
1996
|
-
*/
|
|
1997
|
-
creative_ids?: string[];
|
|
1998
|
-
/**
|
|
1999
|
-
* Filter creatives created after this date (ISO 8601)
|
|
2000
|
-
*/
|
|
2001
|
-
created_after?: string;
|
|
2002
|
-
/**
|
|
2003
|
-
* Filter creatives created before this date (ISO 8601)
|
|
2004
|
-
*/
|
|
2005
|
-
created_before?: string;
|
|
2006
|
-
/**
|
|
2007
|
-
* Filter creatives last updated after this date (ISO 8601)
|
|
2008
|
-
*/
|
|
2009
|
-
updated_after?: string;
|
|
2010
|
-
/**
|
|
2011
|
-
* Filter creatives last updated before this date (ISO 8601)
|
|
2012
|
-
*/
|
|
2013
|
-
updated_before?: string;
|
|
2014
|
-
/**
|
|
2015
|
-
* Filter creatives assigned to this specific package
|
|
2016
|
-
*/
|
|
2017
|
-
assigned_to_package?: string;
|
|
2018
|
-
/**
|
|
2019
|
-
* Filter creatives assigned to any of these packages
|
|
2020
|
-
*/
|
|
2021
|
-
assigned_to_packages?: string[];
|
|
2022
|
-
/**
|
|
2023
|
-
* Filter for unassigned creatives when true, assigned creatives when false
|
|
2024
|
-
*/
|
|
2025
|
-
unassigned?: boolean;
|
|
2026
|
-
/**
|
|
2027
|
-
* Filter creatives that have performance data when true
|
|
2028
|
-
*/
|
|
2029
|
-
has_performance_data?: boolean;
|
|
2030
|
-
};
|
|
2111
|
+
filters?: CreativeFilters;
|
|
2031
2112
|
/**
|
|
2032
2113
|
* Sorting parameters
|
|
2033
2114
|
*/
|
|
2034
2115
|
sort?: {
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
*/
|
|
2038
|
-
field?: 'created_date' | 'updated_date' | 'name' | 'status' | 'assignment_count' | 'performance_score';
|
|
2039
|
-
/**
|
|
2040
|
-
* Sort direction
|
|
2041
|
-
*/
|
|
2042
|
-
direction?: 'asc' | 'desc';
|
|
2116
|
+
field?: CreativeSortField;
|
|
2117
|
+
direction?: SortDirection;
|
|
2043
2118
|
};
|
|
2044
2119
|
/**
|
|
2045
2120
|
* Pagination parameters
|
|
@@ -2070,13 +2145,90 @@ export interface ListCreativesRequest {
|
|
|
2070
2145
|
* Specific fields to include in response (omit for all fields)
|
|
2071
2146
|
*/
|
|
2072
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 {
|
|
2155
|
+
/**
|
|
2156
|
+
* Filter by creative format type (e.g., video, audio, display)
|
|
2157
|
+
*/
|
|
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[];
|
|
2073
2168
|
/**
|
|
2074
|
-
*
|
|
2169
|
+
* Filter by creative tags (all tags must match)
|
|
2075
2170
|
*/
|
|
2076
|
-
|
|
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;
|
|
2077
2226
|
}
|
|
2078
2227
|
/**
|
|
2079
|
-
*
|
|
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
|
|
2080
2232
|
*/
|
|
2081
2233
|
export type SubAsset = {
|
|
2082
2234
|
/**
|
|
@@ -2138,7 +2290,7 @@ export interface ListCreativesResponse {
|
|
|
2138
2290
|
*/
|
|
2139
2291
|
sort_applied?: {
|
|
2140
2292
|
field?: string;
|
|
2141
|
-
direction?:
|
|
2293
|
+
direction?: SortDirection;
|
|
2142
2294
|
};
|
|
2143
2295
|
};
|
|
2144
2296
|
/**
|
|
@@ -2188,10 +2340,6 @@ export interface ListCreativesResponse {
|
|
|
2188
2340
|
* When the creative was last modified
|
|
2189
2341
|
*/
|
|
2190
2342
|
updated_date: string;
|
|
2191
|
-
/**
|
|
2192
|
-
* URL of the creative file (for hosted assets)
|
|
2193
|
-
*/
|
|
2194
|
-
media_url?: string;
|
|
2195
2343
|
/**
|
|
2196
2344
|
* Assets for this creative, keyed by asset_role
|
|
2197
2345
|
*/
|
|
@@ -2202,22 +2350,6 @@ export interface ListCreativesResponse {
|
|
|
2202
2350
|
*/
|
|
2203
2351
|
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset | PromotedOfferings | URLAsset;
|
|
2204
2352
|
};
|
|
2205
|
-
/**
|
|
2206
|
-
* Landing page URL for the creative
|
|
2207
|
-
*/
|
|
2208
|
-
click_url?: string;
|
|
2209
|
-
/**
|
|
2210
|
-
* Duration in milliseconds (for video/audio)
|
|
2211
|
-
*/
|
|
2212
|
-
duration?: number;
|
|
2213
|
-
/**
|
|
2214
|
-
* Width in pixels (for video/display)
|
|
2215
|
-
*/
|
|
2216
|
-
width?: number;
|
|
2217
|
-
/**
|
|
2218
|
-
* Height in pixels (for video/display)
|
|
2219
|
-
*/
|
|
2220
|
-
height?: number;
|
|
2221
2353
|
/**
|
|
2222
2354
|
* User-defined tags for organization and searchability
|
|
2223
2355
|
*/
|
|
@@ -2319,10 +2451,8 @@ export interface ListCreativesResponse {
|
|
|
2319
2451
|
*/
|
|
2320
2452
|
archived?: number;
|
|
2321
2453
|
};
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
*/
|
|
2325
|
-
context?: {};
|
|
2454
|
+
context?: ContextObject;
|
|
2455
|
+
ext?: ExtensionObject;
|
|
2326
2456
|
}
|
|
2327
2457
|
/**
|
|
2328
2458
|
* Format identifier specifying which format this creative conforms to
|
|
@@ -2347,9 +2477,9 @@ export interface UpdateMediaBuyRequest1 {
|
|
|
2347
2477
|
*/
|
|
2348
2478
|
buyer_ref?: string;
|
|
2349
2479
|
/**
|
|
2350
|
-
* Pause/resume the entire media buy
|
|
2480
|
+
* Pause/resume the entire media buy (true = paused, false = active)
|
|
2351
2481
|
*/
|
|
2352
|
-
|
|
2482
|
+
paused?: boolean;
|
|
2353
2483
|
start_time?: StartTiming;
|
|
2354
2484
|
/**
|
|
2355
2485
|
* New end date/time in ISO 8601 format
|
|
@@ -2364,10 +2494,8 @@ export interface UpdateMediaBuyRequest1 {
|
|
|
2364
2494
|
[k: string]: unknown;
|
|
2365
2495
|
})[];
|
|
2366
2496
|
push_notification_config?: PushNotificationConfig;
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
*/
|
|
2370
|
-
context?: {};
|
|
2497
|
+
context?: ContextObject;
|
|
2498
|
+
ext?: ExtensionObject;
|
|
2371
2499
|
}
|
|
2372
2500
|
/**
|
|
2373
2501
|
* Optional webhook configuration for async update notifications. Publisher will send webhook when update completes if operation takes longer than immediate response time.
|
|
@@ -2389,22 +2517,11 @@ export type UpdateMediaBuyResponse = {
|
|
|
2389
2517
|
*/
|
|
2390
2518
|
implementation_date?: string | null;
|
|
2391
2519
|
/**
|
|
2392
|
-
* Array of packages that were modified
|
|
2393
|
-
*/
|
|
2394
|
-
affected_packages?: {
|
|
2395
|
-
/**
|
|
2396
|
-
* Publisher's package identifier
|
|
2397
|
-
*/
|
|
2398
|
-
package_id: string;
|
|
2399
|
-
/**
|
|
2400
|
-
* Buyer's reference for the package
|
|
2401
|
-
*/
|
|
2402
|
-
buyer_ref: string;
|
|
2403
|
-
}[];
|
|
2404
|
-
/**
|
|
2405
|
-
* Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.
|
|
2520
|
+
* Array of packages that were modified with complete state information
|
|
2406
2521
|
*/
|
|
2407
|
-
|
|
2522
|
+
affected_packages?: Package[];
|
|
2523
|
+
context?: ContextObject;
|
|
2524
|
+
ext?: ExtensionObject;
|
|
2408
2525
|
} | {
|
|
2409
2526
|
/**
|
|
2410
2527
|
* Array of errors explaining why the operation failed
|
|
@@ -2412,14 +2529,16 @@ export type UpdateMediaBuyResponse = {
|
|
|
2412
2529
|
* @minItems 1
|
|
2413
2530
|
*/
|
|
2414
2531
|
errors: [Error, ...Error[]];
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
*/
|
|
2418
|
-
context?: {};
|
|
2532
|
+
context?: ContextObject;
|
|
2533
|
+
ext?: ExtensionObject;
|
|
2419
2534
|
};
|
|
2420
2535
|
/**
|
|
2421
|
-
*
|
|
2536
|
+
* Budget pacing strategy
|
|
2537
|
+
*/
|
|
2538
|
+
/**
|
|
2539
|
+
* Status of a media buy
|
|
2422
2540
|
*/
|
|
2541
|
+
export type MediaBuyStatus = 'pending_activation' | 'active' | 'paused' | 'completed';
|
|
2423
2542
|
/**
|
|
2424
2543
|
* Request parameters for retrieving comprehensive delivery metrics
|
|
2425
2544
|
*/
|
|
@@ -2435,7 +2554,7 @@ export interface GetMediaBuyDeliveryRequest {
|
|
|
2435
2554
|
/**
|
|
2436
2555
|
* Filter by status. Can be a single status or array of statuses
|
|
2437
2556
|
*/
|
|
2438
|
-
status_filter?:
|
|
2557
|
+
status_filter?: MediaBuyStatus | MediaBuyStatus[];
|
|
2439
2558
|
/**
|
|
2440
2559
|
* Start date for reporting period (YYYY-MM-DD)
|
|
2441
2560
|
*/
|
|
@@ -2444,11 +2563,12 @@ export interface GetMediaBuyDeliveryRequest {
|
|
|
2444
2563
|
* End date for reporting period (YYYY-MM-DD)
|
|
2445
2564
|
*/
|
|
2446
2565
|
end_date?: string;
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
*/
|
|
2450
|
-
context?: {};
|
|
2566
|
+
context?: ContextObject;
|
|
2567
|
+
ext?: ExtensionObject;
|
|
2451
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
|
+
*/
|
|
2452
2572
|
/**
|
|
2453
2573
|
* Pricing model used for this media buy
|
|
2454
2574
|
*/
|
|
@@ -2579,6 +2699,14 @@ export interface GetMediaBuyDeliveryResponse {
|
|
|
2579
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.
|
|
2580
2700
|
*/
|
|
2581
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;
|
|
2582
2710
|
})[];
|
|
2583
2711
|
/**
|
|
2584
2712
|
* Day-by-day delivery
|
|
@@ -2602,10 +2730,8 @@ export interface GetMediaBuyDeliveryResponse {
|
|
|
2602
2730
|
* Task-specific errors and warnings (e.g., missing delivery data, reporting platform issues)
|
|
2603
2731
|
*/
|
|
2604
2732
|
errors?: Error[];
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
*/
|
|
2608
|
-
context?: {};
|
|
2733
|
+
context?: ContextObject;
|
|
2734
|
+
ext?: ExtensionObject;
|
|
2609
2735
|
}
|
|
2610
2736
|
/**
|
|
2611
2737
|
* Standard delivery metrics that can be reported at media buy, package, or creative level
|
|
@@ -2749,17 +2875,14 @@ export interface ListAuthorizedPropertiesRequest {
|
|
|
2749
2875
|
* @minItems 1
|
|
2750
2876
|
*/
|
|
2751
2877
|
publisher_domains?: [string, ...string[]];
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
*/
|
|
2755
|
-
context?: {};
|
|
2878
|
+
context?: ContextObject;
|
|
2879
|
+
ext?: ExtensionObject;
|
|
2756
2880
|
}
|
|
2757
2881
|
/**
|
|
2758
|
-
*
|
|
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.
|
|
2759
2883
|
*/
|
|
2760
|
-
export type AdvertisingChannels = 'display' | 'video' | 'audio' | 'native' | 'dooh' | 'ctv' | 'podcast' | 'retail' | 'social';
|
|
2761
2884
|
/**
|
|
2762
|
-
*
|
|
2885
|
+
* Standard advertising channels supported by AdCP
|
|
2763
2886
|
*/
|
|
2764
2887
|
export interface ListAuthorizedPropertiesResponse {
|
|
2765
2888
|
/**
|
|
@@ -2796,10 +2919,8 @@ export interface ListAuthorizedPropertiesResponse {
|
|
|
2796
2919
|
* Task-specific errors and warnings (e.g., property availability issues)
|
|
2797
2920
|
*/
|
|
2798
2921
|
errors?: Error[];
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
*/
|
|
2802
|
-
context?: {};
|
|
2922
|
+
context?: ContextObject;
|
|
2923
|
+
ext?: ExtensionObject;
|
|
2803
2924
|
}
|
|
2804
2925
|
/**
|
|
2805
2926
|
* Standard error structure for task-specific errors and warnings
|
|
@@ -2807,15 +2928,31 @@ export interface ListAuthorizedPropertiesResponse {
|
|
|
2807
2928
|
/**
|
|
2808
2929
|
* Request payload for provide_performance_feedback task
|
|
2809
2930
|
*/
|
|
2810
|
-
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 {
|
|
2811
2944
|
/**
|
|
2812
2945
|
* Publisher's media buy identifier
|
|
2813
2946
|
*/
|
|
2814
|
-
media_buy_id
|
|
2947
|
+
media_buy_id?: string;
|
|
2948
|
+
/**
|
|
2949
|
+
* Buyer's reference for the media buy
|
|
2950
|
+
*/
|
|
2951
|
+
buyer_ref?: string;
|
|
2815
2952
|
/**
|
|
2816
2953
|
* Time period for performance measurement
|
|
2817
2954
|
*/
|
|
2818
|
-
measurement_period
|
|
2955
|
+
measurement_period?: {
|
|
2819
2956
|
/**
|
|
2820
2957
|
* ISO 8601 start timestamp for measurement period
|
|
2821
2958
|
*/
|
|
@@ -2828,7 +2965,7 @@ export interface ProvidePerformanceFeedbackRequest {
|
|
|
2828
2965
|
/**
|
|
2829
2966
|
* Normalized performance score (0.0 = no value, 1.0 = expected, >1.0 = above expected)
|
|
2830
2967
|
*/
|
|
2831
|
-
performance_index
|
|
2968
|
+
performance_index?: number;
|
|
2832
2969
|
/**
|
|
2833
2970
|
* Specific package within the media buy (if feedback is package-specific)
|
|
2834
2971
|
*/
|
|
@@ -2837,19 +2974,14 @@ export interface ProvidePerformanceFeedbackRequest {
|
|
|
2837
2974
|
* Specific creative asset (if feedback is creative-specific)
|
|
2838
2975
|
*/
|
|
2839
2976
|
creative_id?: string;
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
/**
|
|
2845
|
-
* Source of the performance data
|
|
2846
|
-
*/
|
|
2847
|
-
feedback_source?: 'buyer_attribution' | 'third_party_measurement' | 'platform_analytics' | 'verification_partner';
|
|
2848
|
-
/**
|
|
2849
|
-
* 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.
|
|
2850
|
-
*/
|
|
2851
|
-
context?: {};
|
|
2977
|
+
metric_type?: MetricType;
|
|
2978
|
+
feedback_source?: FeedbackSource;
|
|
2979
|
+
context?: ContextObject;
|
|
2980
|
+
ext?: ExtensionObject;
|
|
2852
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
|
+
*/
|
|
2853
2985
|
/**
|
|
2854
2986
|
* Response payload for provide_performance_feedback task. Returns either success confirmation OR error information, never both.
|
|
2855
2987
|
*/
|
|
@@ -2858,10 +2990,8 @@ export type ProvidePerformanceFeedbackResponse = {
|
|
|
2858
2990
|
* Whether the performance feedback was successfully received
|
|
2859
2991
|
*/
|
|
2860
2992
|
success: true;
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
*/
|
|
2864
|
-
context?: {};
|
|
2993
|
+
context?: ContextObject;
|
|
2994
|
+
ext?: ExtensionObject;
|
|
2865
2995
|
} | {
|
|
2866
2996
|
/**
|
|
2867
2997
|
* Array of errors explaining why feedback was rejected (e.g., invalid measurement period, missing campaign data)
|
|
@@ -2869,16 +2999,26 @@ export type ProvidePerformanceFeedbackResponse = {
|
|
|
2869
2999
|
* @minItems 1
|
|
2870
3000
|
*/
|
|
2871
3001
|
errors: [Error, ...Error[]];
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
*/
|
|
2875
|
-
context?: {};
|
|
3002
|
+
context?: ContextObject;
|
|
3003
|
+
ext?: ExtensionObject;
|
|
2876
3004
|
};
|
|
2877
3005
|
/**
|
|
2878
|
-
*
|
|
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.
|
|
2879
3007
|
*/
|
|
2880
3008
|
/**
|
|
2881
|
-
*
|
|
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
|
|
2882
3022
|
*/
|
|
2883
3023
|
export interface BuildCreativeRequest {
|
|
2884
3024
|
/**
|
|
@@ -2887,10 +3027,8 @@ export interface BuildCreativeRequest {
|
|
|
2887
3027
|
message?: string;
|
|
2888
3028
|
creative_manifest?: CreativeManifest;
|
|
2889
3029
|
target_format_id: FormatID1;
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
*/
|
|
2893
|
-
context?: {};
|
|
3030
|
+
context?: ContextObject;
|
|
3031
|
+
ext?: ExtensionObject;
|
|
2894
3032
|
}
|
|
2895
3033
|
/**
|
|
2896
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.
|
|
@@ -2913,19 +3051,17 @@ export interface CreativeManifest {
|
|
|
2913
3051
|
*/
|
|
2914
3052
|
[k: string]: ImageAsset | VideoAsset | AudioAsset | VASTAsset | TextAsset | URLAsset | HTMLAsset | JavaScriptAsset | WebhookAsset | CSSAsset | DAASTAsset | PromotedOfferings;
|
|
2915
3053
|
};
|
|
3054
|
+
ext?: ExtensionObject;
|
|
2916
3055
|
}
|
|
2917
3056
|
/**
|
|
2918
|
-
* 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'}).
|
|
2919
3058
|
*/
|
|
2920
3059
|
export interface WebhookAsset {
|
|
2921
3060
|
/**
|
|
2922
3061
|
* Webhook URL to call for dynamic content
|
|
2923
3062
|
*/
|
|
2924
3063
|
url: string;
|
|
2925
|
-
|
|
2926
|
-
* HTTP method
|
|
2927
|
-
*/
|
|
2928
|
-
method?: 'GET' | 'POST';
|
|
3064
|
+
method?: HTTPMethod;
|
|
2929
3065
|
/**
|
|
2930
3066
|
* Maximum time to wait for response in milliseconds
|
|
2931
3067
|
*/
|
|
@@ -2938,18 +3074,12 @@ export interface WebhookAsset {
|
|
|
2938
3074
|
* Universal macros that must be provided for webhook to function
|
|
2939
3075
|
*/
|
|
2940
3076
|
required_macros?: string[];
|
|
2941
|
-
|
|
2942
|
-
* Expected content type of webhook response
|
|
2943
|
-
*/
|
|
2944
|
-
response_type: 'html' | 'json' | 'xml' | 'javascript';
|
|
3077
|
+
response_type: WebhookResponseType;
|
|
2945
3078
|
/**
|
|
2946
3079
|
* Security configuration for webhook calls
|
|
2947
3080
|
*/
|
|
2948
3081
|
security: {
|
|
2949
|
-
|
|
2950
|
-
* Authentication method
|
|
2951
|
-
*/
|
|
2952
|
-
method: 'hmac_sha256' | 'api_key' | 'none';
|
|
3082
|
+
method: WebhookSecurityMethod;
|
|
2953
3083
|
/**
|
|
2954
3084
|
* Header name for HMAC signature (e.g., 'X-Signature')
|
|
2955
3085
|
*/
|
|
@@ -2968,10 +3098,8 @@ export interface WebhookAsset {
|
|
|
2968
3098
|
*/
|
|
2969
3099
|
export type BuildCreativeResponse = {
|
|
2970
3100
|
creative_manifest: CreativeManifest;
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
*/
|
|
2974
|
-
context?: {};
|
|
3101
|
+
context?: ContextObject;
|
|
3102
|
+
ext?: ExtensionObject;
|
|
2975
3103
|
} | {
|
|
2976
3104
|
/**
|
|
2977
3105
|
* Array of errors explaining why creative generation failed
|
|
@@ -2979,18 +3107,20 @@ export type BuildCreativeResponse = {
|
|
|
2979
3107
|
* @minItems 1
|
|
2980
3108
|
*/
|
|
2981
3109
|
errors: [Error, ...Error[]];
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
*/
|
|
2985
|
-
context?: {};
|
|
3110
|
+
context?: ContextObject;
|
|
3111
|
+
ext?: ExtensionObject;
|
|
2986
3112
|
};
|
|
2987
3113
|
/**
|
|
2988
|
-
*
|
|
3114
|
+
* Image asset with URL and dimensions
|
|
2989
3115
|
*/
|
|
2990
3116
|
/**
|
|
2991
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.
|
|
2992
3118
|
*/
|
|
2993
3119
|
export type PreviewCreativeRequest = {
|
|
3120
|
+
/**
|
|
3121
|
+
* Discriminator indicating this is a single preview request
|
|
3122
|
+
*/
|
|
3123
|
+
request_type: 'single';
|
|
2994
3124
|
format_id: FormatID;
|
|
2995
3125
|
creative_manifest: CreativeManifest;
|
|
2996
3126
|
/**
|
|
@@ -3016,15 +3146,14 @@ export type PreviewCreativeRequest = {
|
|
|
3016
3146
|
* Specific template ID for custom format rendering
|
|
3017
3147
|
*/
|
|
3018
3148
|
template_id?: string;
|
|
3149
|
+
output_format?: PreviewOutputFormat;
|
|
3150
|
+
context?: ContextObject;
|
|
3151
|
+
ext?: ExtensionObject;
|
|
3152
|
+
} | {
|
|
3019
3153
|
/**
|
|
3020
|
-
*
|
|
3021
|
-
*/
|
|
3022
|
-
output_format?: 'url' | 'html';
|
|
3023
|
-
/**
|
|
3024
|
-
* 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.
|
|
3154
|
+
* Discriminator indicating this is a batch preview request
|
|
3025
3155
|
*/
|
|
3026
|
-
|
|
3027
|
-
} | {
|
|
3156
|
+
request_type: 'batch';
|
|
3028
3157
|
/**
|
|
3029
3158
|
* Array of preview requests (1-50 items). Each follows the single request structure.
|
|
3030
3159
|
*
|
|
@@ -3058,10 +3187,7 @@ export type PreviewCreativeRequest = {
|
|
|
3058
3187
|
* Specific template ID for custom format rendering
|
|
3059
3188
|
*/
|
|
3060
3189
|
template_id?: string;
|
|
3061
|
-
|
|
3062
|
-
* Output format for this preview. 'url' returns preview_url, 'html' returns preview_html.
|
|
3063
|
-
*/
|
|
3064
|
-
output_format?: 'url' | 'html';
|
|
3190
|
+
output_format?: PreviewOutputFormat1;
|
|
3065
3191
|
},
|
|
3066
3192
|
...{
|
|
3067
3193
|
format_id: FormatID2;
|
|
@@ -3089,23 +3215,27 @@ export type PreviewCreativeRequest = {
|
|
|
3089
3215
|
* Specific template ID for custom format rendering
|
|
3090
3216
|
*/
|
|
3091
3217
|
template_id?: string;
|
|
3092
|
-
|
|
3093
|
-
* Output format for this preview. 'url' returns preview_url, 'html' returns preview_html.
|
|
3094
|
-
*/
|
|
3095
|
-
output_format?: 'url' | 'html';
|
|
3218
|
+
output_format?: PreviewOutputFormat1;
|
|
3096
3219
|
}[]
|
|
3097
3220
|
];
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
output_format?: 'url' | 'html';
|
|
3102
|
-
/**
|
|
3103
|
-
* 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.
|
|
3104
|
-
*/
|
|
3105
|
-
context?: {};
|
|
3221
|
+
output_format?: PreviewOutputFormat2;
|
|
3222
|
+
context?: ContextObject;
|
|
3223
|
+
ext?: ExtensionObject;
|
|
3106
3224
|
};
|
|
3107
3225
|
/**
|
|
3108
|
-
*
|
|
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
|
|
3109
3239
|
*/
|
|
3110
3240
|
export interface CreativeManifest1 {
|
|
3111
3241
|
format_id: FormatID1;
|
|
@@ -3125,11 +3255,16 @@ export interface CreativeManifest1 {
|
|
|
3125
3255
|
*/
|
|
3126
3256
|
[k: string]: ImageAsset | VideoAsset | AudioAsset | VASTAsset | TextAsset | URLAsset | HTMLAsset | JavaScriptAsset | WebhookAsset | CSSAsset | DAASTAsset | PromotedOfferings;
|
|
3127
3257
|
};
|
|
3258
|
+
ext?: ExtensionObject;
|
|
3128
3259
|
}
|
|
3129
3260
|
/**
|
|
3130
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.
|
|
3131
3262
|
*/
|
|
3132
3263
|
export type PreviewCreativeResponse = {
|
|
3264
|
+
/**
|
|
3265
|
+
* Discriminator indicating this is a single preview response
|
|
3266
|
+
*/
|
|
3267
|
+
response_type: 'single';
|
|
3133
3268
|
/**
|
|
3134
3269
|
* Array of preview variants. Each preview corresponds to an input set from the request. If no inputs were provided, returns a single default preview.
|
|
3135
3270
|
*
|
|
@@ -3207,11 +3342,13 @@ export type PreviewCreativeResponse = {
|
|
|
3207
3342
|
* ISO 8601 timestamp when preview links expire
|
|
3208
3343
|
*/
|
|
3209
3344
|
expires_at: string;
|
|
3345
|
+
context?: ContextObject;
|
|
3346
|
+
ext?: ExtensionObject;
|
|
3347
|
+
} | {
|
|
3210
3348
|
/**
|
|
3211
|
-
*
|
|
3349
|
+
* Discriminator indicating this is a batch preview response
|
|
3212
3350
|
*/
|
|
3213
|
-
|
|
3214
|
-
} | {
|
|
3351
|
+
response_type: 'batch';
|
|
3215
3352
|
/**
|
|
3216
3353
|
* Array of preview results corresponding to each request in the same order. results[0] is the result for requests[0], results[1] for requests[1], etc. Order is guaranteed even when some requests fail. Each result contains either a successful preview response or an error.
|
|
3217
3354
|
*
|
|
@@ -3229,10 +3366,8 @@ export type PreviewCreativeResponse = {
|
|
|
3229
3366
|
success?: false;
|
|
3230
3367
|
})[]
|
|
3231
3368
|
];
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
*/
|
|
3235
|
-
context?: {};
|
|
3369
|
+
context?: ContextObject;
|
|
3370
|
+
ext?: ExtensionObject;
|
|
3236
3371
|
};
|
|
3237
3372
|
/**
|
|
3238
3373
|
* A single rendered piece of a creative preview with discriminated output format
|
|
@@ -3378,11 +3513,14 @@ export type PreviewRender = {
|
|
|
3378
3513
|
};
|
|
3379
3514
|
};
|
|
3380
3515
|
/**
|
|
3381
|
-
*
|
|
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
|
+
*/
|
|
3518
|
+
/**
|
|
3519
|
+
* A deployment target where signals can be activated (DSP, sales agent, etc.)
|
|
3382
3520
|
*/
|
|
3383
3521
|
export type Destination = {
|
|
3384
3522
|
/**
|
|
3385
|
-
* Discriminator indicating this is a platform-based
|
|
3523
|
+
* Discriminator indicating this is a platform-based deployment
|
|
3386
3524
|
*/
|
|
3387
3525
|
type: 'platform';
|
|
3388
3526
|
/**
|
|
@@ -3395,11 +3533,11 @@ export type Destination = {
|
|
|
3395
3533
|
account?: string;
|
|
3396
3534
|
} | {
|
|
3397
3535
|
/**
|
|
3398
|
-
* Discriminator indicating this is an agent URL-based
|
|
3536
|
+
* Discriminator indicating this is an agent URL-based deployment
|
|
3399
3537
|
*/
|
|
3400
3538
|
type: 'agent';
|
|
3401
3539
|
/**
|
|
3402
|
-
* URL identifying the
|
|
3540
|
+
* URL identifying the deployment agent (for sales agents, etc.)
|
|
3403
3541
|
*/
|
|
3404
3542
|
agent_url: string;
|
|
3405
3543
|
/**
|
|
@@ -3407,6 +3545,10 @@ export type Destination = {
|
|
|
3407
3545
|
*/
|
|
3408
3546
|
account?: string;
|
|
3409
3547
|
};
|
|
3548
|
+
/**
|
|
3549
|
+
* Types of signal catalogs available for audience targeting
|
|
3550
|
+
*/
|
|
3551
|
+
export type SignalCatalogType = 'marketplace' | 'custom' | 'owned';
|
|
3410
3552
|
/**
|
|
3411
3553
|
* Request parameters for discovering signals based on description
|
|
3412
3554
|
*/
|
|
@@ -3416,52 +3558,54 @@ export interface GetSignalsRequest {
|
|
|
3416
3558
|
*/
|
|
3417
3559
|
signal_spec: string;
|
|
3418
3560
|
/**
|
|
3419
|
-
*
|
|
3561
|
+
* Deployment targets where signals need to be activated
|
|
3420
3562
|
*/
|
|
3421
3563
|
deliver_to: {
|
|
3422
3564
|
/**
|
|
3423
|
-
* List of
|
|
3565
|
+
* List of deployment targets (DSPs, sales agents, etc.). If the authenticated caller matches one of these deployment targets, activation keys will be included in the response.
|
|
3424
3566
|
*
|
|
3425
3567
|
* @minItems 1
|
|
3426
3568
|
*/
|
|
3427
|
-
|
|
3569
|
+
deployments: [Destination, ...Destination[]];
|
|
3428
3570
|
/**
|
|
3429
3571
|
* Countries where signals will be used (ISO codes)
|
|
3430
3572
|
*/
|
|
3431
3573
|
countries: string[];
|
|
3432
3574
|
};
|
|
3433
|
-
|
|
3434
|
-
* Filters to refine results
|
|
3435
|
-
*/
|
|
3436
|
-
filters?: {
|
|
3437
|
-
/**
|
|
3438
|
-
* Filter by catalog type
|
|
3439
|
-
*/
|
|
3440
|
-
catalog_types?: ('marketplace' | 'custom' | 'owned')[];
|
|
3441
|
-
/**
|
|
3442
|
-
* Filter by specific data providers
|
|
3443
|
-
*/
|
|
3444
|
-
data_providers?: string[];
|
|
3445
|
-
/**
|
|
3446
|
-
* Maximum CPM price filter
|
|
3447
|
-
*/
|
|
3448
|
-
max_cpm?: number;
|
|
3449
|
-
/**
|
|
3450
|
-
* Minimum coverage requirement
|
|
3451
|
-
*/
|
|
3452
|
-
min_coverage_percentage?: number;
|
|
3453
|
-
};
|
|
3575
|
+
filters?: SignalFilters;
|
|
3454
3576
|
/**
|
|
3455
3577
|
* Maximum number of results to return
|
|
3456
3578
|
*/
|
|
3457
3579
|
max_results?: number;
|
|
3580
|
+
context?: ContextObject;
|
|
3581
|
+
ext?: ExtensionObject;
|
|
3582
|
+
}
|
|
3583
|
+
/**
|
|
3584
|
+
* Filters to refine signal discovery results
|
|
3585
|
+
*/
|
|
3586
|
+
export interface SignalFilters {
|
|
3587
|
+
/**
|
|
3588
|
+
* Filter by catalog type
|
|
3589
|
+
*/
|
|
3590
|
+
catalog_types?: SignalCatalogType[];
|
|
3591
|
+
/**
|
|
3592
|
+
* Filter by specific data providers
|
|
3593
|
+
*/
|
|
3594
|
+
data_providers?: string[];
|
|
3458
3595
|
/**
|
|
3459
|
-
*
|
|
3596
|
+
* Maximum CPM price filter
|
|
3460
3597
|
*/
|
|
3461
|
-
|
|
3598
|
+
max_cpm?: number;
|
|
3599
|
+
/**
|
|
3600
|
+
* Minimum coverage requirement
|
|
3601
|
+
*/
|
|
3602
|
+
min_coverage_percentage?: number;
|
|
3462
3603
|
}
|
|
3463
3604
|
/**
|
|
3464
|
-
*
|
|
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
|
|
3465
3609
|
*/
|
|
3466
3610
|
export type Deployment = {
|
|
3467
3611
|
/**
|
|
@@ -3477,7 +3621,7 @@ export type Deployment = {
|
|
|
3477
3621
|
*/
|
|
3478
3622
|
account?: string;
|
|
3479
3623
|
/**
|
|
3480
|
-
* Whether signal is currently active on this
|
|
3624
|
+
* Whether signal is currently active on this deployment
|
|
3481
3625
|
*/
|
|
3482
3626
|
is_live: boolean;
|
|
3483
3627
|
activation_key?: ActivationKey;
|
|
@@ -3495,7 +3639,7 @@ export type Deployment = {
|
|
|
3495
3639
|
*/
|
|
3496
3640
|
type: 'agent';
|
|
3497
3641
|
/**
|
|
3498
|
-
* URL identifying the
|
|
3642
|
+
* URL identifying the deployment agent
|
|
3499
3643
|
*/
|
|
3500
3644
|
agent_url: string;
|
|
3501
3645
|
/**
|
|
@@ -3503,7 +3647,7 @@ export type Deployment = {
|
|
|
3503
3647
|
*/
|
|
3504
3648
|
account?: string;
|
|
3505
3649
|
/**
|
|
3506
|
-
* Whether signal is currently active on this
|
|
3650
|
+
* Whether signal is currently active on this deployment
|
|
3507
3651
|
*/
|
|
3508
3652
|
is_live: boolean;
|
|
3509
3653
|
activation_key?: ActivationKey1;
|
|
@@ -3517,7 +3661,7 @@ export type Deployment = {
|
|
|
3517
3661
|
deployed_at?: string;
|
|
3518
3662
|
};
|
|
3519
3663
|
/**
|
|
3520
|
-
* The key to use for targeting. Only present if is_live=true AND requester has access to this
|
|
3664
|
+
* The key to use for targeting. Only present if is_live=true AND requester has access to this deployment.
|
|
3521
3665
|
*/
|
|
3522
3666
|
export type ActivationKey = {
|
|
3523
3667
|
/**
|
|
@@ -3543,7 +3687,7 @@ export type ActivationKey = {
|
|
|
3543
3687
|
value: string;
|
|
3544
3688
|
};
|
|
3545
3689
|
/**
|
|
3546
|
-
* The key to use for targeting. Only present if is_live=true AND requester has access to this
|
|
3690
|
+
* The key to use for targeting. Only present if is_live=true AND requester has access to this deployment.
|
|
3547
3691
|
*/
|
|
3548
3692
|
export type ActivationKey1 = {
|
|
3549
3693
|
/**
|
|
@@ -3588,10 +3732,7 @@ export interface GetSignalsResponse {
|
|
|
3588
3732
|
* Detailed signal description
|
|
3589
3733
|
*/
|
|
3590
3734
|
description: string;
|
|
3591
|
-
|
|
3592
|
-
* Type of signal
|
|
3593
|
-
*/
|
|
3594
|
-
signal_type: 'marketplace' | 'custom' | 'owned';
|
|
3735
|
+
signal_type: SignalCatalogType;
|
|
3595
3736
|
/**
|
|
3596
3737
|
* Name of the data provider
|
|
3597
3738
|
*/
|
|
@@ -3601,7 +3742,7 @@ export interface GetSignalsResponse {
|
|
|
3601
3742
|
*/
|
|
3602
3743
|
coverage_percentage: number;
|
|
3603
3744
|
/**
|
|
3604
|
-
* Array of
|
|
3745
|
+
* Array of deployment targets
|
|
3605
3746
|
*/
|
|
3606
3747
|
deployments: Deployment[];
|
|
3607
3748
|
/**
|
|
@@ -3622,16 +3763,14 @@ export interface GetSignalsResponse {
|
|
|
3622
3763
|
* Task-specific errors and warnings (e.g., signal discovery or pricing issues)
|
|
3623
3764
|
*/
|
|
3624
3765
|
errors?: Error[];
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
*/
|
|
3628
|
-
context?: {};
|
|
3766
|
+
context?: ContextObject;
|
|
3767
|
+
ext?: ExtensionObject;
|
|
3629
3768
|
}
|
|
3630
3769
|
/**
|
|
3631
3770
|
* Standard error structure for task-specific errors and warnings
|
|
3632
3771
|
*/
|
|
3633
3772
|
/**
|
|
3634
|
-
* A
|
|
3773
|
+
* A deployment target where signals can be activated (DSP, sales agent, etc.)
|
|
3635
3774
|
*/
|
|
3636
3775
|
export interface ActivateSignalRequest {
|
|
3637
3776
|
/**
|
|
@@ -3639,28 +3778,27 @@ export interface ActivateSignalRequest {
|
|
|
3639
3778
|
*/
|
|
3640
3779
|
signal_agent_segment_id: string;
|
|
3641
3780
|
/**
|
|
3642
|
-
* Target
|
|
3781
|
+
* Target deployment(s) for activation. If the authenticated caller matches one of these deployment targets, activation keys will be included in the response.
|
|
3643
3782
|
*
|
|
3644
3783
|
* @minItems 1
|
|
3645
3784
|
*/
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
*/
|
|
3650
|
-
context?: {};
|
|
3785
|
+
deployments: [Destination, ...Destination[]];
|
|
3786
|
+
context?: ContextObject;
|
|
3787
|
+
ext?: ExtensionObject;
|
|
3651
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
|
+
*/
|
|
3652
3792
|
/**
|
|
3653
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.
|
|
3654
3794
|
*/
|
|
3655
3795
|
export type ActivateSignalResponse = {
|
|
3656
3796
|
/**
|
|
3657
|
-
* Array of deployment results for each
|
|
3797
|
+
* Array of deployment results for each deployment target
|
|
3658
3798
|
*/
|
|
3659
3799
|
deployments: Deployment[];
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
*/
|
|
3663
|
-
context?: {};
|
|
3800
|
+
context?: ContextObject;
|
|
3801
|
+
ext?: ExtensionObject;
|
|
3664
3802
|
} | {
|
|
3665
3803
|
/**
|
|
3666
3804
|
* Array of errors explaining why activation failed (e.g., platform connectivity issues, signal definition problems, authentication failures)
|
|
@@ -3668,12 +3806,10 @@ export type ActivateSignalResponse = {
|
|
|
3668
3806
|
* @minItems 1
|
|
3669
3807
|
*/
|
|
3670
3808
|
errors: [Error, ...Error[]];
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
*/
|
|
3674
|
-
context?: {};
|
|
3809
|
+
context?: ContextObject;
|
|
3810
|
+
ext?: ExtensionObject;
|
|
3675
3811
|
};
|
|
3676
3812
|
/**
|
|
3677
|
-
* A signal deployment to a specific
|
|
3813
|
+
* A signal deployment to a specific deployment target with activation status and key
|
|
3678
3814
|
*/
|
|
3679
3815
|
//# sourceMappingURL=tools.generated.d.ts.map
|