@adcp/client 3.18.0 → 3.19.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/dist/lib/agents/index.generated.d.ts +9 -1
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +12 -0
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/index.d.ts +3 -3
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +6 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types/compat.d.ts +49 -7
- package/dist/lib/types/compat.d.ts.map +1 -1
- package/dist/lib/types/compat.js +30 -7
- package/dist/lib/types/compat.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +335 -522
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/schemas.generated.d.ts +4224 -3331
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +511 -614
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +758 -1070
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
3
3
|
*/
|
|
4
4
|
export type BrandID = string;
|
|
5
|
+
/**
|
|
6
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
7
|
+
*/
|
|
8
|
+
export type CatalogType = 'offering' | 'product' | 'inventory' | 'store' | 'promotion' | 'hotel' | 'flight' | 'job' | 'vehicle' | 'real_estate' | 'education' | 'destination' | 'app';
|
|
9
|
+
/**
|
|
10
|
+
* Format of the external feed at url. Required when url points to a non-AdCP feed (e.g., Google Merchant Center XML, Meta Product Catalog). Omit for offering-type catalogs where the feed is native AdCP JSON.
|
|
11
|
+
*/
|
|
12
|
+
export type FeedFormat = 'google_merchant_center' | 'facebook_catalog' | 'shopify' | 'linkedin_jobs' | 'custom';
|
|
13
|
+
/**
|
|
14
|
+
* How often the platform should re-fetch the feed from url. Only applicable when url is provided. Platforms may use this as a hint for polling schedules.
|
|
15
|
+
*/
|
|
16
|
+
export type UpdateFrequency = 'realtime' | 'hourly' | 'daily' | 'weekly';
|
|
17
|
+
/**
|
|
18
|
+
* Standard marketing event types for event logging, aligned with IAB ECAPI
|
|
19
|
+
*/
|
|
20
|
+
export type EventType = 'page_view' | 'view_content' | 'select_content' | 'select_item' | 'search' | 'share' | 'add_to_cart' | 'remove_from_cart' | 'viewed_cart' | 'add_to_wishlist' | 'initiate_checkout' | 'add_payment_info' | 'purchase' | 'refund' | 'lead' | 'qualify_lead' | 'close_convert_lead' | 'disqualify_lead' | 'complete_registration' | 'subscribe' | 'start_trial' | 'app_install' | 'app_launch' | 'contact' | 'schedule' | 'donate' | 'submit_application' | 'custom';
|
|
21
|
+
/**
|
|
22
|
+
* Identifier type that the event's content_ids field should be matched against for items in this catalog. For example, 'gtin' means content_ids values are Global Trade Item Numbers, 'sku' means retailer SKUs. Omit when using a custom identifier scheme not listed in the enum.
|
|
23
|
+
*/
|
|
24
|
+
export type ContentIDType = 'sku' | 'gtin' | 'offering_id' | 'job_id' | 'hotel_id' | 'flight_id' | 'vehicle_id' | 'listing_id' | 'store_id' | 'program_id' | 'destination_id' | 'app_id';
|
|
5
25
|
/**
|
|
6
26
|
* Type of inventory delivery
|
|
7
27
|
*/
|
|
@@ -37,7 +57,7 @@ export type SignalTargeting = {
|
|
|
37
57
|
value: boolean;
|
|
38
58
|
[k: string]: unknown | undefined;
|
|
39
59
|
} | {
|
|
40
|
-
signal_id:
|
|
60
|
+
signal_id: SignalID;
|
|
41
61
|
/**
|
|
42
62
|
* Discriminator for categorical signals
|
|
43
63
|
*/
|
|
@@ -50,7 +70,7 @@ export type SignalTargeting = {
|
|
|
50
70
|
values: [string, ...string[]];
|
|
51
71
|
[k: string]: unknown | undefined;
|
|
52
72
|
} | {
|
|
53
|
-
signal_id:
|
|
73
|
+
signal_id: SignalID;
|
|
54
74
|
/**
|
|
55
75
|
* Discriminator for numeric signals
|
|
56
76
|
*/
|
|
@@ -100,81 +120,21 @@ export type SignalID = {
|
|
|
100
120
|
/**
|
|
101
121
|
* The signal to target
|
|
102
122
|
*/
|
|
103
|
-
export type SignalID1 = {
|
|
104
|
-
/**
|
|
105
|
-
* Discriminator indicating this signal is from a data provider's published catalog
|
|
106
|
-
*/
|
|
107
|
-
source: 'catalog';
|
|
108
|
-
/**
|
|
109
|
-
* Domain of the data provider that owns this signal (e.g., 'polk.com', 'experian.com'). The signal definition is published at this domain's /.well-known/adagents.json
|
|
110
|
-
*/
|
|
111
|
-
data_provider_domain: string;
|
|
112
|
-
/**
|
|
113
|
-
* Signal identifier within the data provider's catalog (e.g., 'likely_tesla_buyers', 'income_100k_plus')
|
|
114
|
-
*/
|
|
115
|
-
id: string;
|
|
116
|
-
[k: string]: unknown | undefined;
|
|
117
|
-
} | {
|
|
118
|
-
/**
|
|
119
|
-
* Discriminator indicating this signal is native to the agent (not from a data provider catalog)
|
|
120
|
-
*/
|
|
121
|
-
source: 'agent';
|
|
122
|
-
/**
|
|
123
|
-
* URL of the signals agent that provides this signal (e.g., 'https://liveramp.com/.well-known/adcp/signals')
|
|
124
|
-
*/
|
|
125
|
-
agent_url: string;
|
|
126
|
-
/**
|
|
127
|
-
* Signal identifier within the agent's signal set (e.g., 'custom_auto_intenders')
|
|
128
|
-
*/
|
|
129
|
-
id: string;
|
|
130
|
-
[k: string]: unknown | undefined;
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* The signal to target
|
|
134
|
-
*/
|
|
135
|
-
export type SignalID2 = {
|
|
136
|
-
/**
|
|
137
|
-
* Discriminator indicating this signal is from a data provider's published catalog
|
|
138
|
-
*/
|
|
139
|
-
source: 'catalog';
|
|
140
|
-
/**
|
|
141
|
-
* Domain of the data provider that owns this signal (e.g., 'polk.com', 'experian.com'). The signal definition is published at this domain's /.well-known/adagents.json
|
|
142
|
-
*/
|
|
143
|
-
data_provider_domain: string;
|
|
144
|
-
/**
|
|
145
|
-
* Signal identifier within the data provider's catalog (e.g., 'likely_tesla_buyers', 'income_100k_plus')
|
|
146
|
-
*/
|
|
147
|
-
id: string;
|
|
148
|
-
[k: string]: unknown | undefined;
|
|
149
|
-
} | {
|
|
150
|
-
/**
|
|
151
|
-
* Discriminator indicating this signal is native to the agent (not from a data provider catalog)
|
|
152
|
-
*/
|
|
153
|
-
source: 'agent';
|
|
154
|
-
/**
|
|
155
|
-
* URL of the signals agent that provides this signal (e.g., 'https://liveramp.com/.well-known/adcp/signals')
|
|
156
|
-
*/
|
|
157
|
-
agent_url: string;
|
|
158
|
-
/**
|
|
159
|
-
* Signal identifier within the agent's signal set (e.g., 'custom_auto_intenders')
|
|
160
|
-
*/
|
|
161
|
-
id: string;
|
|
162
|
-
[k: string]: unknown | undefined;
|
|
163
|
-
};
|
|
164
|
-
/**
|
|
165
|
-
* Request parameters for discovering available advertising products
|
|
166
|
-
*/
|
|
167
123
|
export interface GetProductsRequest {
|
|
168
124
|
/**
|
|
169
125
|
* Natural language description of campaign requirements.
|
|
170
126
|
*/
|
|
171
127
|
brief?: string;
|
|
172
128
|
brand?: BrandReference;
|
|
173
|
-
|
|
129
|
+
catalog?: Catalog;
|
|
174
130
|
/**
|
|
175
131
|
* Account ID for product lookup. Required when the seller declares account.required_for_products = true in capabilities. Returns products with pricing specific to this account's rate card.
|
|
176
132
|
*/
|
|
177
133
|
account_id?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Buyer's campaign reference label. Groups related discovery and buy operations under a single campaign for CRM and ad server correlation (e.g., 'NovaDrink_Meals_Q2').
|
|
136
|
+
*/
|
|
137
|
+
campaign_ref?: string;
|
|
178
138
|
filters?: ProductFilters;
|
|
179
139
|
property_list?: PropertyListReference;
|
|
180
140
|
pagination?: PaginationRequest;
|
|
@@ -192,29 +152,63 @@ export interface BrandReference {
|
|
|
192
152
|
brand_id?: BrandID;
|
|
193
153
|
}
|
|
194
154
|
/**
|
|
195
|
-
*
|
|
155
|
+
* Catalog of items the buyer wants to promote. The seller matches catalog items against its inventory and returns products where matches exist. Supports all catalog types: a job catalog finds job ad products, a product catalog finds sponsored product slots. Reference a synced catalog by catalog_id, or provide inline items.
|
|
196
156
|
*/
|
|
197
|
-
export interface
|
|
157
|
+
export interface Catalog {
|
|
158
|
+
/**
|
|
159
|
+
* Buyer's identifier for this catalog. Required when syncing via sync_catalogs. When used in creatives, references a previously synced catalog on the account.
|
|
160
|
+
*/
|
|
161
|
+
catalog_id?: string;
|
|
162
|
+
/**
|
|
163
|
+
* Human-readable name for this catalog (e.g., 'Summer Products 2025', 'Amsterdam Store Locations').
|
|
164
|
+
*/
|
|
165
|
+
name?: string;
|
|
166
|
+
type: CatalogType;
|
|
167
|
+
/**
|
|
168
|
+
* URL to an external catalog feed. The platform fetches and resolves items from this URL. For offering-type catalogs, the feed contains an array of Offering objects. For other types, the feed format is determined by feed_format. When omitted with type 'product', the platform uses its synced copy of the brand's product catalog.
|
|
169
|
+
*/
|
|
170
|
+
url?: string;
|
|
171
|
+
feed_format?: FeedFormat;
|
|
172
|
+
update_frequency?: UpdateFrequency;
|
|
173
|
+
/**
|
|
174
|
+
* Inline catalog data. The item schema depends on the catalog type: Offering objects for 'offering', StoreItem for 'store', HotelItem for 'hotel', FlightItem for 'flight', JobItem for 'job', VehicleItem for 'vehicle', RealEstateItem for 'real_estate', EducationItem for 'education', DestinationItem for 'destination', AppItem for 'app', or freeform objects for 'product', 'inventory', and 'promotion'. Mutually exclusive with url — provide one or the other, not both. Implementations should validate items against the type-specific schema.
|
|
175
|
+
*
|
|
176
|
+
* @minItems 1
|
|
177
|
+
*/
|
|
178
|
+
items?: [{}, ...{}[]];
|
|
179
|
+
/**
|
|
180
|
+
* Filter catalog to specific item IDs. For offering-type catalogs, these are offering_id values. For product-type catalogs, these are SKU identifiers.
|
|
181
|
+
*
|
|
182
|
+
* @minItems 1
|
|
183
|
+
*/
|
|
184
|
+
ids?: [string, ...string[]];
|
|
198
185
|
/**
|
|
199
|
-
*
|
|
186
|
+
* Filter product-type catalogs by GTIN identifiers for cross-retailer catalog matching. Accepts standard GTIN formats (GTIN-8, UPC-A/GTIN-12, EAN-13/GTIN-13, GTIN-14). Only applicable when type is 'product'.
|
|
187
|
+
*
|
|
188
|
+
* @minItems 1
|
|
200
189
|
*/
|
|
201
|
-
|
|
190
|
+
gtins?: [string, ...string[]];
|
|
202
191
|
/**
|
|
203
|
-
*
|
|
192
|
+
* Filter catalog to items with these tags. Tags are matched using OR logic — items matching any tag are included.
|
|
193
|
+
*
|
|
194
|
+
* @minItems 1
|
|
204
195
|
*/
|
|
205
|
-
|
|
196
|
+
tags?: [string, ...string[]];
|
|
206
197
|
/**
|
|
207
|
-
*
|
|
198
|
+
* Filter catalog to items in this category (e.g., 'beverages/soft-drinks', 'chef-positions').
|
|
208
199
|
*/
|
|
209
|
-
|
|
200
|
+
category?: string;
|
|
210
201
|
/**
|
|
211
|
-
*
|
|
202
|
+
* Natural language filter for catalog items (e.g., 'all pasta sauces under $5', 'amsterdam vacancies').
|
|
212
203
|
*/
|
|
213
|
-
|
|
204
|
+
query?: string;
|
|
214
205
|
/**
|
|
215
|
-
*
|
|
206
|
+
* Event types that represent conversions for items in this catalog. Declares what events the platform should attribute to catalog items — e.g., a job catalog converts via submit_application, a product catalog via purchase. The event's content_ids field carries the item IDs that connect back to catalog items. Use content_id_type to declare what identifier type content_ids values represent.
|
|
207
|
+
*
|
|
208
|
+
* @minItems 1
|
|
216
209
|
*/
|
|
217
|
-
|
|
210
|
+
conversion_events?: [EventType, ...EventType[]];
|
|
211
|
+
content_id_type?: ContentIDType;
|
|
218
212
|
[k: string]: unknown | undefined;
|
|
219
213
|
}
|
|
220
214
|
/**
|
|
@@ -385,6 +379,10 @@ export interface MediaBuyFeatures {
|
|
|
385
379
|
* Supports sync_audiences task and audience_include/audience_exclude in targeting overlays for first-party CRM audience management
|
|
386
380
|
*/
|
|
387
381
|
audience_targeting?: boolean;
|
|
382
|
+
/**
|
|
383
|
+
* Supports sync_catalogs task for catalog feed management with platform review and approval
|
|
384
|
+
*/
|
|
385
|
+
catalog_management?: boolean;
|
|
388
386
|
/**
|
|
389
387
|
* Supports sandbox mode for operations without real platform calls or spend
|
|
390
388
|
*/
|
|
@@ -498,10 +496,6 @@ export type DemographicSystem = 'nielsen' | 'barb' | 'agf' | 'oztam' | 'mediamet
|
|
|
498
496
|
/**
|
|
499
497
|
* Standard marketing event types for event logging, aligned with IAB ECAPI
|
|
500
498
|
*/
|
|
501
|
-
export type EventType = 'page_view' | 'view_content' | 'select_content' | 'select_item' | 'search' | 'share' | 'add_to_cart' | 'remove_from_cart' | 'viewed_cart' | 'add_to_wishlist' | 'initiate_checkout' | 'add_payment_info' | 'purchase' | 'refund' | 'lead' | 'qualify_lead' | 'close_convert_lead' | 'disqualify_lead' | 'complete_registration' | 'subscribe' | 'start_trial' | 'app_install' | 'app_launch' | 'contact' | 'schedule' | 'donate' | 'submit_application' | 'custom';
|
|
502
|
-
/**
|
|
503
|
-
* How to interpret the points array. 'spend' (default when omitted): points at ascending budget levels. 'reach_freq': points at ascending reach/frequency targets. 'weekly'/'daily': metrics are per-period values. 'clicks'/'conversions': points at ascending outcome targets.
|
|
504
|
-
*/
|
|
505
499
|
export type ForecastRangeUnit = 'spend' | 'reach_freq' | 'weekly' | 'daily' | 'clicks' | 'conversions';
|
|
506
500
|
/**
|
|
507
501
|
* Method used to produce this forecast
|
|
@@ -510,10 +504,6 @@ export type ForecastMethod = 'estimate' | 'modeled' | 'guaranteed';
|
|
|
510
504
|
/**
|
|
511
505
|
* Measurement system for the demographic field. Ensures buyer and seller agree on demographic notation.
|
|
512
506
|
*/
|
|
513
|
-
export type DemographicSystem1 = 'nielsen' | 'barb' | 'agf' | 'oztam' | 'mediametrie' | 'custom';
|
|
514
|
-
/**
|
|
515
|
-
* Unit of measurement for reach and audience_size metrics in this forecast. Required for cross-channel forecast comparison.
|
|
516
|
-
*/
|
|
517
507
|
export type ReachUnit = 'individuals' | 'households' | 'devices' | 'accounts' | 'cookies' | 'custom';
|
|
518
508
|
/**
|
|
519
509
|
* Available frequencies for delivery reports and metrics updates
|
|
@@ -578,7 +568,7 @@ export type DataProviderSignalSelector = {
|
|
|
578
568
|
[k: string]: unknown | undefined;
|
|
579
569
|
};
|
|
580
570
|
/**
|
|
581
|
-
*
|
|
571
|
+
* The type of catalog feed. Determines the item schema and how the platform resolves catalog items. Multiple catalog types can be synced to the same account and referenced together in creatives.
|
|
582
572
|
*/
|
|
583
573
|
export type ActionSource = 'website' | 'app' | 'offline' | 'phone_call' | 'chat' | 'email' | 'in_store' | 'system_generated' | 'other';
|
|
584
574
|
/**
|
|
@@ -606,9 +596,9 @@ export interface GetProductsResponse {
|
|
|
606
596
|
*/
|
|
607
597
|
property_list_applied?: boolean;
|
|
608
598
|
/**
|
|
609
|
-
*
|
|
599
|
+
* Whether the seller filtered results based on the provided catalog. True if the seller matched catalog items against its inventory. Absent or false if no catalog was provided or the seller does not support catalog matching.
|
|
610
600
|
*/
|
|
611
|
-
|
|
601
|
+
catalog_applied?: boolean;
|
|
612
602
|
pagination?: PaginationResponse;
|
|
613
603
|
/**
|
|
614
604
|
* When true, this response contains simulated data from sandbox mode.
|
|
@@ -693,6 +683,12 @@ export interface Product {
|
|
|
693
683
|
* Whether buyers can filter this product to a subset of its data_provider_signals. When false (default), the product includes all listed signals as a bundle. When true, buyers can target specific signals.
|
|
694
684
|
*/
|
|
695
685
|
signal_targeting_allowed?: boolean;
|
|
686
|
+
/**
|
|
687
|
+
* Catalog types this product supports for catalog-driven campaigns. A sponsored product listing declares ["product"], a job board declares ["job", "offering"]. Buyers match synced catalogs to products via this field.
|
|
688
|
+
*
|
|
689
|
+
* @minItems 1
|
|
690
|
+
*/
|
|
691
|
+
catalog_types?: [CatalogType, ...CatalogType[]];
|
|
696
692
|
/**
|
|
697
693
|
* Conversion tracking for this product. Presence indicates the product supports conversion-optimized delivery. Seller-level capabilities (supported event types, UID types, attribution windows) are declared in get_adcp_capabilities.
|
|
698
694
|
*/
|
|
@@ -719,19 +715,23 @@ export interface Product {
|
|
|
719
715
|
[k: string]: unknown | undefined;
|
|
720
716
|
};
|
|
721
717
|
/**
|
|
722
|
-
* When the buyer provides a
|
|
718
|
+
* When the buyer provides a catalog on get_products, indicates which catalog items are eligible for this product. Only present for products where catalog matching is relevant (e.g., sponsored product listings, job boards, hotel ads).
|
|
723
719
|
*/
|
|
724
720
|
catalog_match?: {
|
|
725
721
|
/**
|
|
726
|
-
* GTINs from the buyer's catalog that are eligible on this product's inventory.
|
|
722
|
+
* GTINs from the buyer's catalog that are eligible on this product's inventory. Standard GTIN formats (GTIN-8 through GTIN-14). Only present for product-type catalogs with GTIN matching.
|
|
727
723
|
*/
|
|
728
724
|
matched_gtins?: string[];
|
|
729
725
|
/**
|
|
730
|
-
*
|
|
726
|
+
* Item IDs from the buyer's catalog that matched this product's inventory. The ID type depends on the catalog type and content_id_type (e.g., SKUs for product catalogs, job_ids for job catalogs, offering_ids for offering catalogs).
|
|
727
|
+
*/
|
|
728
|
+
matched_ids?: string[];
|
|
729
|
+
/**
|
|
730
|
+
* Number of catalog items that matched this product's inventory.
|
|
731
731
|
*/
|
|
732
|
-
|
|
732
|
+
matched_count?: number;
|
|
733
733
|
/**
|
|
734
|
-
* Total catalog items evaluated from the buyer's
|
|
734
|
+
* Total catalog items evaluated from the buyer's catalog.
|
|
735
735
|
*/
|
|
736
736
|
submitted_count: number;
|
|
737
737
|
};
|
|
@@ -747,7 +747,7 @@ export interface Product {
|
|
|
747
747
|
* Optional standard visual card (300x400px) for displaying this product in user interfaces. Can be rendered via preview_creative or pre-generated.
|
|
748
748
|
*/
|
|
749
749
|
product_card?: {
|
|
750
|
-
format_id:
|
|
750
|
+
format_id: FormatID;
|
|
751
751
|
/**
|
|
752
752
|
* Asset manifest for rendering the card, structure defined by the format
|
|
753
753
|
*/
|
|
@@ -760,7 +760,7 @@ export interface Product {
|
|
|
760
760
|
* Optional detailed card with carousel and full specifications. Provides rich product presentation similar to media kit pages.
|
|
761
761
|
*/
|
|
762
762
|
product_card_detailed?: {
|
|
763
|
-
format_id:
|
|
763
|
+
format_id: FormatID;
|
|
764
764
|
/**
|
|
765
765
|
* Asset manifest for rendering the detailed card, structure defined by the format
|
|
766
766
|
*/
|
|
@@ -873,7 +873,7 @@ export interface VCPMPricingOption {
|
|
|
873
873
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
874
874
|
*/
|
|
875
875
|
floor_price?: number;
|
|
876
|
-
price_guidance?:
|
|
876
|
+
price_guidance?: PriceGuidance;
|
|
877
877
|
/**
|
|
878
878
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
879
879
|
*/
|
|
@@ -883,28 +883,6 @@ export interface VCPMPricingOption {
|
|
|
883
883
|
/**
|
|
884
884
|
* Optional pricing guidance for auction-based bidding
|
|
885
885
|
*/
|
|
886
|
-
export interface PriceGuidance1 {
|
|
887
|
-
/**
|
|
888
|
-
* 25th percentile of recent winning bids
|
|
889
|
-
*/
|
|
890
|
-
p25?: number;
|
|
891
|
-
/**
|
|
892
|
-
* Median of recent winning bids
|
|
893
|
-
*/
|
|
894
|
-
p50?: number;
|
|
895
|
-
/**
|
|
896
|
-
* 75th percentile of recent winning bids
|
|
897
|
-
*/
|
|
898
|
-
p75?: number;
|
|
899
|
-
/**
|
|
900
|
-
* 90th percentile of recent winning bids
|
|
901
|
-
*/
|
|
902
|
-
p90?: number;
|
|
903
|
-
[k: string]: unknown | undefined;
|
|
904
|
-
}
|
|
905
|
-
/**
|
|
906
|
-
* Cost Per Click pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
907
|
-
*/
|
|
908
886
|
export interface CPCPricingOption {
|
|
909
887
|
/**
|
|
910
888
|
* Unique identifier for this pricing option within the product
|
|
@@ -926,7 +904,7 @@ export interface CPCPricingOption {
|
|
|
926
904
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
927
905
|
*/
|
|
928
906
|
floor_price?: number;
|
|
929
|
-
price_guidance?:
|
|
907
|
+
price_guidance?: PriceGuidance;
|
|
930
908
|
/**
|
|
931
909
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
932
910
|
*/
|
|
@@ -936,28 +914,6 @@ export interface CPCPricingOption {
|
|
|
936
914
|
/**
|
|
937
915
|
* Optional pricing guidance for auction-based bidding
|
|
938
916
|
*/
|
|
939
|
-
export interface PriceGuidance2 {
|
|
940
|
-
/**
|
|
941
|
-
* 25th percentile of recent winning bids
|
|
942
|
-
*/
|
|
943
|
-
p25?: number;
|
|
944
|
-
/**
|
|
945
|
-
* Median of recent winning bids
|
|
946
|
-
*/
|
|
947
|
-
p50?: number;
|
|
948
|
-
/**
|
|
949
|
-
* 75th percentile of recent winning bids
|
|
950
|
-
*/
|
|
951
|
-
p75?: number;
|
|
952
|
-
/**
|
|
953
|
-
* 90th percentile of recent winning bids
|
|
954
|
-
*/
|
|
955
|
-
p90?: number;
|
|
956
|
-
[k: string]: unknown | undefined;
|
|
957
|
-
}
|
|
958
|
-
/**
|
|
959
|
-
* Cost Per Completed View (100% video/audio completion) pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
960
|
-
*/
|
|
961
917
|
export interface CPCVPricingOption {
|
|
962
918
|
/**
|
|
963
919
|
* Unique identifier for this pricing option within the product
|
|
@@ -979,7 +935,7 @@ export interface CPCVPricingOption {
|
|
|
979
935
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
980
936
|
*/
|
|
981
937
|
floor_price?: number;
|
|
982
|
-
price_guidance?:
|
|
938
|
+
price_guidance?: PriceGuidance;
|
|
983
939
|
/**
|
|
984
940
|
* Minimum spend requirement per package using this pricing option, in the specified currency
|
|
985
941
|
*/
|
|
@@ -989,28 +945,6 @@ export interface CPCVPricingOption {
|
|
|
989
945
|
/**
|
|
990
946
|
* Optional pricing guidance for auction-based bidding
|
|
991
947
|
*/
|
|
992
|
-
export interface PriceGuidance3 {
|
|
993
|
-
/**
|
|
994
|
-
* 25th percentile of recent winning bids
|
|
995
|
-
*/
|
|
996
|
-
p25?: number;
|
|
997
|
-
/**
|
|
998
|
-
* Median of recent winning bids
|
|
999
|
-
*/
|
|
1000
|
-
p50?: number;
|
|
1001
|
-
/**
|
|
1002
|
-
* 75th percentile of recent winning bids
|
|
1003
|
-
*/
|
|
1004
|
-
p75?: number;
|
|
1005
|
-
/**
|
|
1006
|
-
* 90th percentile of recent winning bids
|
|
1007
|
-
*/
|
|
1008
|
-
p90?: number;
|
|
1009
|
-
[k: string]: unknown | undefined;
|
|
1010
|
-
}
|
|
1011
|
-
/**
|
|
1012
|
-
* Cost Per View (at publisher-defined threshold) pricing for video/audio. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1013
|
-
*/
|
|
1014
948
|
export interface CPVPricingOption {
|
|
1015
949
|
/**
|
|
1016
950
|
* Unique identifier for this pricing option within the product
|
|
@@ -1032,7 +966,7 @@ export interface CPVPricingOption {
|
|
|
1032
966
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1033
967
|
*/
|
|
1034
968
|
floor_price?: number;
|
|
1035
|
-
price_guidance?:
|
|
969
|
+
price_guidance?: PriceGuidance;
|
|
1036
970
|
/**
|
|
1037
971
|
* CPV-specific parameters defining the view threshold
|
|
1038
972
|
*/
|
|
@@ -1055,28 +989,6 @@ export interface CPVPricingOption {
|
|
|
1055
989
|
/**
|
|
1056
990
|
* Optional pricing guidance for auction-based bidding
|
|
1057
991
|
*/
|
|
1058
|
-
export interface PriceGuidance4 {
|
|
1059
|
-
/**
|
|
1060
|
-
* 25th percentile of recent winning bids
|
|
1061
|
-
*/
|
|
1062
|
-
p25?: number;
|
|
1063
|
-
/**
|
|
1064
|
-
* Median of recent winning bids
|
|
1065
|
-
*/
|
|
1066
|
-
p50?: number;
|
|
1067
|
-
/**
|
|
1068
|
-
* 75th percentile of recent winning bids
|
|
1069
|
-
*/
|
|
1070
|
-
p75?: number;
|
|
1071
|
-
/**
|
|
1072
|
-
* 90th percentile of recent winning bids
|
|
1073
|
-
*/
|
|
1074
|
-
p90?: number;
|
|
1075
|
-
[k: string]: unknown | undefined;
|
|
1076
|
-
}
|
|
1077
|
-
/**
|
|
1078
|
-
* Cost Per Point (Gross Rating Point) pricing for TV and audio campaigns. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1079
|
-
*/
|
|
1080
992
|
export interface CPPPricingOption {
|
|
1081
993
|
/**
|
|
1082
994
|
* Unique identifier for this pricing option within the product
|
|
@@ -1098,7 +1010,7 @@ export interface CPPPricingOption {
|
|
|
1098
1010
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1099
1011
|
*/
|
|
1100
1012
|
floor_price?: number;
|
|
1101
|
-
price_guidance?:
|
|
1013
|
+
price_guidance?: PriceGuidance;
|
|
1102
1014
|
/**
|
|
1103
1015
|
* CPP-specific parameters for demographic targeting
|
|
1104
1016
|
*/
|
|
@@ -1123,28 +1035,6 @@ export interface CPPPricingOption {
|
|
|
1123
1035
|
/**
|
|
1124
1036
|
* Optional pricing guidance for auction-based bidding
|
|
1125
1037
|
*/
|
|
1126
|
-
export interface PriceGuidance5 {
|
|
1127
|
-
/**
|
|
1128
|
-
* 25th percentile of recent winning bids
|
|
1129
|
-
*/
|
|
1130
|
-
p25?: number;
|
|
1131
|
-
/**
|
|
1132
|
-
* Median of recent winning bids
|
|
1133
|
-
*/
|
|
1134
|
-
p50?: number;
|
|
1135
|
-
/**
|
|
1136
|
-
* 75th percentile of recent winning bids
|
|
1137
|
-
*/
|
|
1138
|
-
p75?: number;
|
|
1139
|
-
/**
|
|
1140
|
-
* 90th percentile of recent winning bids
|
|
1141
|
-
*/
|
|
1142
|
-
p90?: number;
|
|
1143
|
-
[k: string]: unknown | undefined;
|
|
1144
|
-
}
|
|
1145
|
-
/**
|
|
1146
|
-
* Cost Per Acquisition pricing. Advertiser pays a fixed price when a specified conversion event occurs. The event_type field declares which event triggers billing (e.g., purchase, lead, app_install).
|
|
1147
|
-
*/
|
|
1148
1038
|
export interface CPAPricingOption {
|
|
1149
1039
|
/**
|
|
1150
1040
|
* Unique identifier for this pricing option within the product
|
|
@@ -1204,7 +1094,7 @@ export interface FlatRatePricingOption {
|
|
|
1204
1094
|
* Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1205
1095
|
*/
|
|
1206
1096
|
floor_price?: number;
|
|
1207
|
-
price_guidance?:
|
|
1097
|
+
price_guidance?: PriceGuidance;
|
|
1208
1098
|
/**
|
|
1209
1099
|
* Flat rate parameters for DOOH and time-based campaigns
|
|
1210
1100
|
*/
|
|
@@ -1248,28 +1138,6 @@ export interface FlatRatePricingOption {
|
|
|
1248
1138
|
/**
|
|
1249
1139
|
* Optional pricing guidance for auction-based bidding
|
|
1250
1140
|
*/
|
|
1251
|
-
export interface PriceGuidance6 {
|
|
1252
|
-
/**
|
|
1253
|
-
* 25th percentile of recent winning bids
|
|
1254
|
-
*/
|
|
1255
|
-
p25?: number;
|
|
1256
|
-
/**
|
|
1257
|
-
* Median of recent winning bids
|
|
1258
|
-
*/
|
|
1259
|
-
p50?: number;
|
|
1260
|
-
/**
|
|
1261
|
-
* 75th percentile of recent winning bids
|
|
1262
|
-
*/
|
|
1263
|
-
p75?: number;
|
|
1264
|
-
/**
|
|
1265
|
-
* 90th percentile of recent winning bids
|
|
1266
|
-
*/
|
|
1267
|
-
p90?: number;
|
|
1268
|
-
[k: string]: unknown | undefined;
|
|
1269
|
-
}
|
|
1270
|
-
/**
|
|
1271
|
-
* Cost per time unit (hour, day, week, or month) - rate scales with campaign duration. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
|
|
1272
|
-
*/
|
|
1273
1141
|
export interface TimeBasedPricingOption {
|
|
1274
1142
|
/**
|
|
1275
1143
|
* Unique identifier for this pricing option within the product
|
|
@@ -1291,7 +1159,7 @@ export interface TimeBasedPricingOption {
|
|
|
1291
1159
|
* Minimum acceptable bid per time unit for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
|
|
1292
1160
|
*/
|
|
1293
1161
|
floor_price?: number;
|
|
1294
|
-
price_guidance?:
|
|
1162
|
+
price_guidance?: PriceGuidance;
|
|
1295
1163
|
/**
|
|
1296
1164
|
* Time-based pricing parameters
|
|
1297
1165
|
*/
|
|
@@ -1319,42 +1187,20 @@ export interface TimeBasedPricingOption {
|
|
|
1319
1187
|
/**
|
|
1320
1188
|
* Optional pricing guidance for auction-based bidding
|
|
1321
1189
|
*/
|
|
1322
|
-
export interface
|
|
1190
|
+
export interface DeliveryForecast {
|
|
1323
1191
|
/**
|
|
1324
|
-
*
|
|
1192
|
+
* Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
|
|
1193
|
+
*
|
|
1194
|
+
* @minItems 1
|
|
1325
1195
|
*/
|
|
1326
|
-
|
|
1196
|
+
points: [ForecastPoint, ...ForecastPoint[]];
|
|
1197
|
+
forecast_range_unit?: ForecastRangeUnit;
|
|
1198
|
+
method: ForecastMethod;
|
|
1327
1199
|
/**
|
|
1328
|
-
*
|
|
1200
|
+
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
1329
1201
|
*/
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
* 75th percentile of recent winning bids
|
|
1333
|
-
*/
|
|
1334
|
-
p75?: number;
|
|
1335
|
-
/**
|
|
1336
|
-
* 90th percentile of recent winning bids
|
|
1337
|
-
*/
|
|
1338
|
-
p90?: number;
|
|
1339
|
-
[k: string]: unknown | undefined;
|
|
1340
|
-
}
|
|
1341
|
-
/**
|
|
1342
|
-
* Forecasted delivery metrics for this product. Gives buyers an estimate of expected performance before requesting a proposal.
|
|
1343
|
-
*/
|
|
1344
|
-
export interface DeliveryForecast {
|
|
1345
|
-
/**
|
|
1346
|
-
* Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
|
|
1347
|
-
*
|
|
1348
|
-
* @minItems 1
|
|
1349
|
-
*/
|
|
1350
|
-
points: [ForecastPoint, ...ForecastPoint[]];
|
|
1351
|
-
forecast_range_unit?: ForecastRangeUnit;
|
|
1352
|
-
method: ForecastMethod;
|
|
1353
|
-
/**
|
|
1354
|
-
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
1355
|
-
*/
|
|
1356
|
-
currency: string;
|
|
1357
|
-
demographic_system?: DemographicSystem1;
|
|
1202
|
+
currency: string;
|
|
1203
|
+
demographic_system?: DemographicSystem;
|
|
1358
1204
|
/**
|
|
1359
1205
|
* Target demographic code within the specified demographic_system. For Nielsen: P18-49, M25-54, W35+. For BARB: ABC1 Adults, 16-34. For AGF: E 14-49.
|
|
1360
1206
|
*/
|
|
@@ -1478,58 +1324,6 @@ export interface CreativePolicy {
|
|
|
1478
1324
|
/**
|
|
1479
1325
|
* 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.
|
|
1480
1326
|
*/
|
|
1481
|
-
export interface FormatID1 {
|
|
1482
|
-
/**
|
|
1483
|
-
* URL of the agent that defines this format (e.g., 'https://creatives.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats)
|
|
1484
|
-
*/
|
|
1485
|
-
agent_url: string;
|
|
1486
|
-
/**
|
|
1487
|
-
* 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.
|
|
1488
|
-
*/
|
|
1489
|
-
id: string;
|
|
1490
|
-
/**
|
|
1491
|
-
* 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.
|
|
1492
|
-
*/
|
|
1493
|
-
width?: number;
|
|
1494
|
-
/**
|
|
1495
|
-
* 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.
|
|
1496
|
-
*/
|
|
1497
|
-
height?: number;
|
|
1498
|
-
/**
|
|
1499
|
-
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
1500
|
-
*/
|
|
1501
|
-
duration_ms?: number;
|
|
1502
|
-
[k: string]: unknown | undefined;
|
|
1503
|
-
}
|
|
1504
|
-
/**
|
|
1505
|
-
* 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.
|
|
1506
|
-
*/
|
|
1507
|
-
export interface FormatID2 {
|
|
1508
|
-
/**
|
|
1509
|
-
* URL of the agent that defines this format (e.g., 'https://creatives.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats)
|
|
1510
|
-
*/
|
|
1511
|
-
agent_url: string;
|
|
1512
|
-
/**
|
|
1513
|
-
* 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.
|
|
1514
|
-
*/
|
|
1515
|
-
id: string;
|
|
1516
|
-
/**
|
|
1517
|
-
* 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.
|
|
1518
|
-
*/
|
|
1519
|
-
width?: number;
|
|
1520
|
-
/**
|
|
1521
|
-
* 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.
|
|
1522
|
-
*/
|
|
1523
|
-
height?: number;
|
|
1524
|
-
/**
|
|
1525
|
-
* Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
|
|
1526
|
-
*/
|
|
1527
|
-
duration_ms?: number;
|
|
1528
|
-
[k: string]: unknown | undefined;
|
|
1529
|
-
}
|
|
1530
|
-
/**
|
|
1531
|
-
* A proposed media plan with budget allocations across products. Represents the publisher's strategic recommendation for how to structure a campaign based on the brief. Proposals are actionable - buyers can execute them directly via create_media_buy by providing the proposal_id.
|
|
1532
|
-
*/
|
|
1533
1327
|
export interface Proposal {
|
|
1534
1328
|
/**
|
|
1535
1329
|
* Unique identifier for this proposal. Used to execute it via create_media_buy.
|
|
@@ -1579,7 +1373,7 @@ export interface Proposal {
|
|
|
1579
1373
|
* Explanation of how this proposal aligns with the campaign brief
|
|
1580
1374
|
*/
|
|
1581
1375
|
brief_alignment?: string;
|
|
1582
|
-
forecast?:
|
|
1376
|
+
forecast?: DeliveryForecast;
|
|
1583
1377
|
ext?: ExtensionObject;
|
|
1584
1378
|
[k: string]: unknown | undefined;
|
|
1585
1379
|
}
|
|
@@ -1617,7 +1411,7 @@ export interface ProductAllocation {
|
|
|
1617
1411
|
* @minItems 1
|
|
1618
1412
|
*/
|
|
1619
1413
|
daypart_targets?: [DaypartTarget, ...DaypartTarget[]];
|
|
1620
|
-
forecast?:
|
|
1414
|
+
forecast?: DeliveryForecast;
|
|
1621
1415
|
ext?: ExtensionObject;
|
|
1622
1416
|
[k: string]: unknown | undefined;
|
|
1623
1417
|
}
|
|
@@ -1647,72 +1441,6 @@ export interface DaypartTarget {
|
|
|
1647
1441
|
/**
|
|
1648
1442
|
* Forecasted delivery metrics for this allocation
|
|
1649
1443
|
*/
|
|
1650
|
-
export interface DeliveryForecast1 {
|
|
1651
|
-
/**
|
|
1652
|
-
* Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
|
|
1653
|
-
*
|
|
1654
|
-
* @minItems 1
|
|
1655
|
-
*/
|
|
1656
|
-
points: [ForecastPoint, ...ForecastPoint[]];
|
|
1657
|
-
forecast_range_unit?: ForecastRangeUnit;
|
|
1658
|
-
method: ForecastMethod;
|
|
1659
|
-
/**
|
|
1660
|
-
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
1661
|
-
*/
|
|
1662
|
-
currency: string;
|
|
1663
|
-
demographic_system?: DemographicSystem1;
|
|
1664
|
-
/**
|
|
1665
|
-
* Target demographic code within the specified demographic_system. For Nielsen: P18-49, M25-54, W35+. For BARB: ABC1 Adults, 16-34. For AGF: E 14-49.
|
|
1666
|
-
*/
|
|
1667
|
-
demographic?: string;
|
|
1668
|
-
reach_unit?: ReachUnit;
|
|
1669
|
-
/**
|
|
1670
|
-
* When this forecast was computed
|
|
1671
|
-
*/
|
|
1672
|
-
generated_at?: string;
|
|
1673
|
-
/**
|
|
1674
|
-
* When this forecast expires. After this time, the forecast should be refreshed. Forecast expiry does not affect proposal executability.
|
|
1675
|
-
*/
|
|
1676
|
-
valid_until?: string;
|
|
1677
|
-
ext?: ExtensionObject;
|
|
1678
|
-
[k: string]: unknown | undefined;
|
|
1679
|
-
}
|
|
1680
|
-
/**
|
|
1681
|
-
* Aggregate forecasted delivery metrics for the entire proposal. When both proposal-level and allocation-level forecasts are present, the proposal-level forecast is authoritative for total delivery estimation.
|
|
1682
|
-
*/
|
|
1683
|
-
export interface DeliveryForecast2 {
|
|
1684
|
-
/**
|
|
1685
|
-
* Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
|
|
1686
|
-
*
|
|
1687
|
-
* @minItems 1
|
|
1688
|
-
*/
|
|
1689
|
-
points: [ForecastPoint, ...ForecastPoint[]];
|
|
1690
|
-
forecast_range_unit?: ForecastRangeUnit;
|
|
1691
|
-
method: ForecastMethod;
|
|
1692
|
-
/**
|
|
1693
|
-
* ISO 4217 currency code for monetary values in this forecast (spend, budget)
|
|
1694
|
-
*/
|
|
1695
|
-
currency: string;
|
|
1696
|
-
demographic_system?: DemographicSystem1;
|
|
1697
|
-
/**
|
|
1698
|
-
* Target demographic code within the specified demographic_system. For Nielsen: P18-49, M25-54, W35+. For BARB: ABC1 Adults, 16-34. For AGF: E 14-49.
|
|
1699
|
-
*/
|
|
1700
|
-
demographic?: string;
|
|
1701
|
-
reach_unit?: ReachUnit;
|
|
1702
|
-
/**
|
|
1703
|
-
* When this forecast was computed
|
|
1704
|
-
*/
|
|
1705
|
-
generated_at?: string;
|
|
1706
|
-
/**
|
|
1707
|
-
* When this forecast expires. After this time, the forecast should be refreshed. Forecast expiry does not affect proposal executability.
|
|
1708
|
-
*/
|
|
1709
|
-
valid_until?: string;
|
|
1710
|
-
ext?: ExtensionObject;
|
|
1711
|
-
[k: string]: unknown | undefined;
|
|
1712
|
-
}
|
|
1713
|
-
/**
|
|
1714
|
-
* Standard error structure for task-specific errors and warnings
|
|
1715
|
-
*/
|
|
1716
1444
|
export interface Error {
|
|
1717
1445
|
/**
|
|
1718
1446
|
* Error code for programmatic handling
|
|
@@ -1765,7 +1493,7 @@ export interface PaginationResponse {
|
|
|
1765
1493
|
/**
|
|
1766
1494
|
* Filter by format type (technical categories with distinct requirements)
|
|
1767
1495
|
*/
|
|
1768
|
-
export type AssetContentType = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | '
|
|
1496
|
+
export type AssetContentType = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'url' | 'webhook';
|
|
1769
1497
|
/**
|
|
1770
1498
|
* Filter to formats that meet at least this WCAG conformance level (A < AA < AAA)
|
|
1771
1499
|
*/
|
|
@@ -1830,10 +1558,14 @@ export type FormatIDParameter = 'dimensions' | 'duration';
|
|
|
1830
1558
|
/**
|
|
1831
1559
|
* Standardized macro placeholders for dynamic value substitution in creative tracking URLs. Macros are replaced with actual values at impression time. See docs/creative/universal-macros.mdx for detailed documentation.
|
|
1832
1560
|
*/
|
|
1833
|
-
export type UniversalMacro = 'MEDIA_BUY_ID' | 'PACKAGE_ID' | 'CREATIVE_ID' | 'CACHEBUSTER' | 'TIMESTAMP' | 'CLICK_URL' | 'GDPR' | 'GDPR_CONSENT' | 'US_PRIVACY' | 'GPP_STRING' | 'GPP_SID' | 'IP_ADDRESS' | 'LIMIT_AD_TRACKING' | 'DEVICE_TYPE' | 'OS' | 'OS_VERSION' | 'DEVICE_MAKE' | 'DEVICE_MODEL' | 'USER_AGENT' | 'APP_BUNDLE' | 'APP_NAME' | 'COUNTRY' | 'REGION' | 'CITY' | 'ZIP' | 'DMA' | 'LAT' | 'LONG' | 'DEVICE_ID' | 'DEVICE_ID_TYPE' | 'DOMAIN' | 'PAGE_URL' | 'REFERRER' | 'KEYWORDS' | 'PLACEMENT_ID' | 'FOLD_POSITION' | 'AD_WIDTH' | 'AD_HEIGHT' | 'VIDEO_ID' | 'VIDEO_TITLE' | 'VIDEO_DURATION' | 'VIDEO_CATEGORY' | 'CONTENT_GENRE' | 'CONTENT_RATING' | 'PLAYER_WIDTH' | 'PLAYER_HEIGHT' | 'POD_POSITION' | 'POD_SIZE' | 'AD_BREAK_ID' | 'STATION_ID' | 'SHOW_NAME' | 'EPISODE_ID' | 'AUDIO_DURATION' | 'AXEM';
|
|
1561
|
+
export type UniversalMacro = 'MEDIA_BUY_ID' | 'PACKAGE_ID' | 'CREATIVE_ID' | 'CACHEBUSTER' | 'TIMESTAMP' | 'CLICK_URL' | 'GDPR' | 'GDPR_CONSENT' | 'US_PRIVACY' | 'GPP_STRING' | 'GPP_SID' | 'IP_ADDRESS' | 'LIMIT_AD_TRACKING' | 'DEVICE_TYPE' | 'OS' | 'OS_VERSION' | 'DEVICE_MAKE' | 'DEVICE_MODEL' | 'USER_AGENT' | 'APP_BUNDLE' | 'APP_NAME' | 'COUNTRY' | 'REGION' | 'CITY' | 'ZIP' | 'DMA' | 'LAT' | 'LONG' | 'DEVICE_ID' | 'DEVICE_ID_TYPE' | 'DOMAIN' | 'PAGE_URL' | 'REFERRER' | 'KEYWORDS' | 'PLACEMENT_ID' | 'FOLD_POSITION' | 'AD_WIDTH' | 'AD_HEIGHT' | 'VIDEO_ID' | 'VIDEO_TITLE' | 'VIDEO_DURATION' | 'VIDEO_CATEGORY' | 'CONTENT_GENRE' | 'CONTENT_RATING' | 'PLAYER_WIDTH' | 'PLAYER_HEIGHT' | 'POD_POSITION' | 'POD_SIZE' | 'AD_BREAK_ID' | 'STATION_ID' | 'SHOW_NAME' | 'EPISODE_ID' | 'AUDIO_DURATION' | 'AXEM' | 'CATALOG_ID' | 'SKU' | 'GTIN' | 'OFFERING_ID' | 'JOB_ID' | 'HOTEL_ID' | 'FLIGHT_ID' | 'VEHICLE_ID' | 'LISTING_ID' | 'STORE_ID' | 'PROGRAM_ID' | 'DESTINATION_ID' | 'CREATIVE_VARIANT_ID' | 'APP_ITEM_ID';
|
|
1834
1562
|
/**
|
|
1835
1563
|
* WCAG conformance level that this format achieves. For format-rendered creatives, the format guarantees this level. For opaque creatives, the format requires assets that self-certify to this level.
|
|
1836
1564
|
*/
|
|
1565
|
+
export type AssetRequirements = ImageAssetRequirements | VideoAssetRequirements | AudioAssetRequirements | TextAssetRequirements | MarkdownAssetRequirements | HTMLAssetRequirements | CSSAssetRequirements | JavaScriptAssetRequirements | VASTAssetRequirements | DAASTAssetRequirements | URLAssetRequirements | WebhookAssetRequirements;
|
|
1566
|
+
/**
|
|
1567
|
+
* Standard delivery and performance metrics available for reporting
|
|
1568
|
+
*/
|
|
1837
1569
|
export type CreativeAgentCapability = 'validation' | 'assembly' | 'generation' | 'preview' | 'delivery';
|
|
1838
1570
|
/**
|
|
1839
1571
|
* Response payload for list_creative_formats task
|
|
@@ -1957,16 +1689,16 @@ export interface Format {
|
|
|
1957
1689
|
/**
|
|
1958
1690
|
* Array of format IDs this format accepts as input creative manifests. When present, indicates this format can take existing creatives in these formats as input. Omit for formats that work from raw assets (images, text, etc.) rather than existing creatives.
|
|
1959
1691
|
*/
|
|
1960
|
-
input_format_ids?:
|
|
1692
|
+
input_format_ids?: FormatID[];
|
|
1961
1693
|
/**
|
|
1962
1694
|
* Array of format IDs that this format can produce as output. When present, indicates this format can build creatives in these output formats (e.g., a multi-publisher template format might produce standard display formats across many publishers). Omit for formats that produce a single fixed output (the format itself).
|
|
1963
1695
|
*/
|
|
1964
|
-
output_format_ids?:
|
|
1696
|
+
output_format_ids?: FormatID[];
|
|
1965
1697
|
/**
|
|
1966
1698
|
* Optional standard visual card (300x400px) for displaying this format in user interfaces. Can be rendered via preview_creative or pre-generated.
|
|
1967
1699
|
*/
|
|
1968
1700
|
format_card?: {
|
|
1969
|
-
format_id:
|
|
1701
|
+
format_id: FormatID;
|
|
1970
1702
|
/**
|
|
1971
1703
|
* Asset manifest for rendering the card, structure defined by the format
|
|
1972
1704
|
*/
|
|
@@ -1989,7 +1721,7 @@ export interface Format {
|
|
|
1989
1721
|
* Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.
|
|
1990
1722
|
*/
|
|
1991
1723
|
format_card_detailed?: {
|
|
1992
|
-
format_id:
|
|
1724
|
+
format_id: FormatID;
|
|
1993
1725
|
/**
|
|
1994
1726
|
* Asset manifest for rendering the detailed card, structure defined by the format
|
|
1995
1727
|
*/
|
|
@@ -1998,6 +1730,12 @@ export interface Format {
|
|
|
1998
1730
|
};
|
|
1999
1731
|
[k: string]: unknown | undefined;
|
|
2000
1732
|
};
|
|
1733
|
+
/**
|
|
1734
|
+
* Catalog feeds this format requires for rendering. Formats that display product listings, store locators, inventory availability, or promotional pricing declare what catalog types must be synced to the account. Buyers ensure the required catalogs are synced via sync_catalogs before submitting creatives in this format.
|
|
1735
|
+
*
|
|
1736
|
+
* @minItems 1
|
|
1737
|
+
*/
|
|
1738
|
+
catalog_requirements?: [CatalogRequirements, ...CatalogRequirements[]];
|
|
2001
1739
|
/**
|
|
2002
1740
|
* Metrics this format can produce in delivery reporting. Buyers receive the intersection of format reported_metrics and product available_metrics. If omitted, the format defers entirely to product-level metric declarations.
|
|
2003
1741
|
*
|
|
@@ -2042,53 +1780,377 @@ export interface BaseGroupAsset {
|
|
|
2042
1780
|
required: boolean;
|
|
2043
1781
|
}
|
|
2044
1782
|
/**
|
|
2045
|
-
* 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.
|
|
1783
|
+
* 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.
|
|
1784
|
+
*/
|
|
1785
|
+
export interface CatalogRequirements {
|
|
1786
|
+
catalog_type: CatalogType;
|
|
1787
|
+
/**
|
|
1788
|
+
* Whether this catalog type must be present. When true, creatives using this format must reference a synced catalog of this type.
|
|
1789
|
+
*/
|
|
1790
|
+
required?: boolean;
|
|
1791
|
+
/**
|
|
1792
|
+
* Minimum number of items the catalog must contain for this format to render properly (e.g., a carousel might require at least 3 products)
|
|
1793
|
+
*/
|
|
1794
|
+
min_items?: number;
|
|
1795
|
+
/**
|
|
1796
|
+
* Fields that must be present and non-empty on every item in the catalog. Field names are catalog-type-specific (e.g., 'title', 'price', 'image_url' for product catalogs; 'store_id', 'quantity' for inventory feeds).
|
|
1797
|
+
*
|
|
1798
|
+
* @minItems 1
|
|
1799
|
+
*/
|
|
1800
|
+
required_fields?: [string, ...string[]];
|
|
1801
|
+
/**
|
|
1802
|
+
* Accepted feed formats for this catalog type. When specified, the synced catalog must use one of these formats. When omitted, any format is accepted.
|
|
1803
|
+
*
|
|
1804
|
+
* @minItems 1
|
|
1805
|
+
*/
|
|
1806
|
+
feed_formats?: [FeedFormat, ...FeedFormat[]];
|
|
1807
|
+
/**
|
|
1808
|
+
* Per-offering creative requirements. Only applicable when catalog_type is 'offering'. Declares what asset groups (headlines, images, videos) each offering must provide, along with count bounds and per-asset technical constraints.
|
|
1809
|
+
*
|
|
1810
|
+
* @minItems 1
|
|
1811
|
+
*/
|
|
1812
|
+
offering_asset_constraints?: [OfferingAssetConstraint, ...OfferingAssetConstraint[]];
|
|
1813
|
+
[k: string]: unknown | undefined;
|
|
1814
|
+
}
|
|
1815
|
+
/**
|
|
1816
|
+
* Declares per-group creative requirements that each offering must satisfy. Allows formats to specify what asset groups (headlines, images, videos) offerings must provide, along with count and per-asset technical constraints.
|
|
1817
|
+
*/
|
|
1818
|
+
export interface OfferingAssetConstraint {
|
|
1819
|
+
/**
|
|
1820
|
+
* The asset group this constraint applies to. Values are format-defined vocabulary — each format chooses its own group IDs (e.g., 'headlines', 'images', 'videos'). Buyers discover them via list_creative_formats.
|
|
1821
|
+
*/
|
|
1822
|
+
asset_group_id: string;
|
|
1823
|
+
asset_type: AssetContentType;
|
|
1824
|
+
/**
|
|
1825
|
+
* Whether this asset group must be present in each offering. Defaults to true.
|
|
1826
|
+
*/
|
|
1827
|
+
required?: boolean;
|
|
1828
|
+
/**
|
|
1829
|
+
* Minimum number of items required in this group.
|
|
1830
|
+
*/
|
|
1831
|
+
min_count?: number;
|
|
1832
|
+
/**
|
|
1833
|
+
* Maximum number of items allowed in this group.
|
|
1834
|
+
*/
|
|
1835
|
+
max_count?: number;
|
|
1836
|
+
asset_requirements?: AssetRequirements;
|
|
1837
|
+
ext?: ExtensionObject;
|
|
1838
|
+
[k: string]: unknown | undefined;
|
|
1839
|
+
}
|
|
1840
|
+
/**
|
|
1841
|
+
* Requirements for image creative assets. These define the technical constraints for image files.
|
|
1842
|
+
*/
|
|
1843
|
+
export interface ImageAssetRequirements {
|
|
1844
|
+
/**
|
|
1845
|
+
* Minimum width in pixels. For exact dimensions, set min_width = max_width.
|
|
1846
|
+
*/
|
|
1847
|
+
min_width?: number;
|
|
1848
|
+
/**
|
|
1849
|
+
* Maximum width in pixels. For exact dimensions, set min_width = max_width.
|
|
1850
|
+
*/
|
|
1851
|
+
max_width?: number;
|
|
1852
|
+
/**
|
|
1853
|
+
* Minimum height in pixels. For exact dimensions, set min_height = max_height.
|
|
1854
|
+
*/
|
|
1855
|
+
min_height?: number;
|
|
1856
|
+
/**
|
|
1857
|
+
* Maximum height in pixels. For exact dimensions, set min_height = max_height.
|
|
1858
|
+
*/
|
|
1859
|
+
max_height?: number;
|
|
1860
|
+
/**
|
|
1861
|
+
* Required aspect ratio (e.g., '16:9', '1:1', '1.91:1')
|
|
1862
|
+
*/
|
|
1863
|
+
aspect_ratio?: string;
|
|
1864
|
+
/**
|
|
1865
|
+
* Accepted image file formats
|
|
1866
|
+
*/
|
|
1867
|
+
formats?: ('jpg' | 'jpeg' | 'png' | 'gif' | 'webp' | 'svg' | 'avif')[];
|
|
1868
|
+
/**
|
|
1869
|
+
* Maximum file size in kilobytes
|
|
1870
|
+
*/
|
|
1871
|
+
max_file_size_kb?: number;
|
|
1872
|
+
/**
|
|
1873
|
+
* Whether the image must support transparency (requires PNG, WebP, or GIF)
|
|
1874
|
+
*/
|
|
1875
|
+
transparency_required?: boolean;
|
|
1876
|
+
/**
|
|
1877
|
+
* Whether animated images (GIF, animated WebP) are accepted
|
|
1878
|
+
*/
|
|
1879
|
+
animation_allowed?: boolean;
|
|
1880
|
+
/**
|
|
1881
|
+
* Maximum animation duration in milliseconds (if animation_allowed is true)
|
|
1882
|
+
*/
|
|
1883
|
+
max_animation_duration_ms?: number;
|
|
1884
|
+
[k: string]: unknown | undefined;
|
|
1885
|
+
}
|
|
1886
|
+
/**
|
|
1887
|
+
* Requirements for video creative assets. These define the technical constraints for video files.
|
|
1888
|
+
*/
|
|
1889
|
+
export interface VideoAssetRequirements {
|
|
1890
|
+
/**
|
|
1891
|
+
* Minimum width in pixels
|
|
1892
|
+
*/
|
|
1893
|
+
min_width?: number;
|
|
1894
|
+
/**
|
|
1895
|
+
* Maximum width in pixels
|
|
1896
|
+
*/
|
|
1897
|
+
max_width?: number;
|
|
1898
|
+
/**
|
|
1899
|
+
* Minimum height in pixels
|
|
1900
|
+
*/
|
|
1901
|
+
min_height?: number;
|
|
1902
|
+
/**
|
|
1903
|
+
* Maximum height in pixels
|
|
1904
|
+
*/
|
|
1905
|
+
max_height?: number;
|
|
1906
|
+
/**
|
|
1907
|
+
* Required aspect ratio (e.g., '16:9', '9:16')
|
|
1908
|
+
*/
|
|
1909
|
+
aspect_ratio?: string;
|
|
1910
|
+
/**
|
|
1911
|
+
* Minimum duration in milliseconds
|
|
1912
|
+
*/
|
|
1913
|
+
min_duration_ms?: number;
|
|
1914
|
+
/**
|
|
1915
|
+
* Maximum duration in milliseconds
|
|
1916
|
+
*/
|
|
1917
|
+
max_duration_ms?: number;
|
|
1918
|
+
/**
|
|
1919
|
+
* Accepted video container formats
|
|
1920
|
+
*/
|
|
1921
|
+
containers?: ('mp4' | 'webm' | 'mov' | 'avi' | 'mkv')[];
|
|
1922
|
+
/**
|
|
1923
|
+
* Accepted video codecs
|
|
1924
|
+
*/
|
|
1925
|
+
codecs?: ('h264' | 'h265' | 'vp8' | 'vp9' | 'av1')[];
|
|
1926
|
+
/**
|
|
1927
|
+
* Maximum file size in kilobytes
|
|
1928
|
+
*/
|
|
1929
|
+
max_file_size_kb?: number;
|
|
1930
|
+
/**
|
|
1931
|
+
* Minimum video bitrate in kilobits per second
|
|
1932
|
+
*/
|
|
1933
|
+
min_bitrate_kbps?: number;
|
|
1934
|
+
/**
|
|
1935
|
+
* Maximum video bitrate in kilobits per second
|
|
1936
|
+
*/
|
|
1937
|
+
max_bitrate_kbps?: number;
|
|
1938
|
+
/**
|
|
1939
|
+
* Accepted frame rates in frames per second (e.g., [24, 30, 60])
|
|
1940
|
+
*/
|
|
1941
|
+
frame_rates?: number[];
|
|
1942
|
+
/**
|
|
1943
|
+
* Whether the video must include an audio track
|
|
1944
|
+
*/
|
|
1945
|
+
audio_required?: boolean;
|
|
1946
|
+
[k: string]: unknown | undefined;
|
|
1947
|
+
}
|
|
1948
|
+
/**
|
|
1949
|
+
* Requirements for audio creative assets.
|
|
1950
|
+
*/
|
|
1951
|
+
export interface AudioAssetRequirements {
|
|
1952
|
+
/**
|
|
1953
|
+
* Minimum duration in milliseconds
|
|
1954
|
+
*/
|
|
1955
|
+
min_duration_ms?: number;
|
|
1956
|
+
/**
|
|
1957
|
+
* Maximum duration in milliseconds
|
|
1958
|
+
*/
|
|
1959
|
+
max_duration_ms?: number;
|
|
1960
|
+
/**
|
|
1961
|
+
* Accepted audio file formats
|
|
1962
|
+
*/
|
|
1963
|
+
formats?: ('mp3' | 'aac' | 'wav' | 'ogg' | 'flac')[];
|
|
1964
|
+
/**
|
|
1965
|
+
* Maximum file size in kilobytes
|
|
1966
|
+
*/
|
|
1967
|
+
max_file_size_kb?: number;
|
|
1968
|
+
/**
|
|
1969
|
+
* Accepted sample rates in Hz (e.g., [44100, 48000])
|
|
1970
|
+
*/
|
|
1971
|
+
sample_rates?: number[];
|
|
1972
|
+
/**
|
|
1973
|
+
* Accepted audio channel configurations
|
|
1974
|
+
*/
|
|
1975
|
+
channels?: ('mono' | 'stereo')[];
|
|
1976
|
+
/**
|
|
1977
|
+
* Minimum audio bitrate in kilobits per second
|
|
1978
|
+
*/
|
|
1979
|
+
min_bitrate_kbps?: number;
|
|
1980
|
+
/**
|
|
1981
|
+
* Maximum audio bitrate in kilobits per second
|
|
1982
|
+
*/
|
|
1983
|
+
max_bitrate_kbps?: number;
|
|
1984
|
+
[k: string]: unknown | undefined;
|
|
1985
|
+
}
|
|
1986
|
+
/**
|
|
1987
|
+
* Requirements for text creative assets such as headlines, body copy, and CTAs.
|
|
1988
|
+
*/
|
|
1989
|
+
export interface TextAssetRequirements {
|
|
1990
|
+
/**
|
|
1991
|
+
* Minimum character length
|
|
1992
|
+
*/
|
|
1993
|
+
min_length?: number;
|
|
1994
|
+
/**
|
|
1995
|
+
* Maximum character length
|
|
1996
|
+
*/
|
|
1997
|
+
max_length?: number;
|
|
1998
|
+
/**
|
|
1999
|
+
* Minimum number of lines
|
|
2000
|
+
*/
|
|
2001
|
+
min_lines?: number;
|
|
2002
|
+
/**
|
|
2003
|
+
* Maximum number of lines
|
|
2004
|
+
*/
|
|
2005
|
+
max_lines?: number;
|
|
2006
|
+
/**
|
|
2007
|
+
* Regex pattern defining allowed characters (e.g., '^[a-zA-Z0-9 .,!?-]+$')
|
|
2008
|
+
*/
|
|
2009
|
+
character_pattern?: string;
|
|
2010
|
+
/**
|
|
2011
|
+
* List of prohibited words or phrases
|
|
2012
|
+
*/
|
|
2013
|
+
prohibited_terms?: string[];
|
|
2014
|
+
[k: string]: unknown | undefined;
|
|
2015
|
+
}
|
|
2016
|
+
/**
|
|
2017
|
+
* Requirements for markdown creative assets.
|
|
2018
|
+
*/
|
|
2019
|
+
export interface MarkdownAssetRequirements {
|
|
2020
|
+
/**
|
|
2021
|
+
* Maximum character length
|
|
2022
|
+
*/
|
|
2023
|
+
max_length?: number;
|
|
2024
|
+
[k: string]: unknown | undefined;
|
|
2025
|
+
}
|
|
2026
|
+
/**
|
|
2027
|
+
* Requirements for HTML creative assets. These define the execution environment constraints that the HTML must be compatible with.
|
|
2028
|
+
*/
|
|
2029
|
+
export interface HTMLAssetRequirements {
|
|
2030
|
+
/**
|
|
2031
|
+
* Maximum file size in kilobytes for the HTML asset
|
|
2032
|
+
*/
|
|
2033
|
+
max_file_size_kb?: number;
|
|
2034
|
+
/**
|
|
2035
|
+
* Sandbox environment the HTML must be compatible with. 'none' = direct DOM access, 'iframe' = standard iframe isolation, 'safeframe' = IAB SafeFrame container, 'fencedframe' = Privacy Sandbox fenced frame
|
|
2036
|
+
*/
|
|
2037
|
+
sandbox?: 'none' | 'iframe' | 'safeframe' | 'fencedframe';
|
|
2038
|
+
/**
|
|
2039
|
+
* Whether the HTML creative can load external resources (scripts, images, fonts, etc.). When false, all resources must be inlined or bundled.
|
|
2040
|
+
*/
|
|
2041
|
+
external_resources_allowed?: boolean;
|
|
2042
|
+
/**
|
|
2043
|
+
* List of domains the HTML creative may reference for external resources. Only applicable when external_resources_allowed is true.
|
|
2044
|
+
*/
|
|
2045
|
+
allowed_external_domains?: string[];
|
|
2046
|
+
[k: string]: unknown | undefined;
|
|
2047
|
+
}
|
|
2048
|
+
/**
|
|
2049
|
+
* Requirements for CSS creative assets.
|
|
2050
|
+
*/
|
|
2051
|
+
export interface CSSAssetRequirements {
|
|
2052
|
+
/**
|
|
2053
|
+
* Maximum file size in kilobytes
|
|
2054
|
+
*/
|
|
2055
|
+
max_file_size_kb?: number;
|
|
2056
|
+
[k: string]: unknown | undefined;
|
|
2057
|
+
}
|
|
2058
|
+
/**
|
|
2059
|
+
* Requirements for JavaScript creative assets. These define the execution environment constraints that the JavaScript must be compatible with.
|
|
2060
|
+
*/
|
|
2061
|
+
export interface JavaScriptAssetRequirements {
|
|
2062
|
+
/**
|
|
2063
|
+
* Maximum file size in kilobytes for the JavaScript asset
|
|
2064
|
+
*/
|
|
2065
|
+
max_file_size_kb?: number;
|
|
2066
|
+
/**
|
|
2067
|
+
* Required JavaScript module format. 'script' = classic script, 'module' = ES modules, 'iife' = immediately invoked function expression
|
|
2068
|
+
*/
|
|
2069
|
+
module_type?: 'script' | 'module' | 'iife';
|
|
2070
|
+
/**
|
|
2071
|
+
* Whether the JavaScript must use strict mode
|
|
2072
|
+
*/
|
|
2073
|
+
strict_mode_required?: boolean;
|
|
2074
|
+
/**
|
|
2075
|
+
* Whether the JavaScript can load external resources dynamically
|
|
2076
|
+
*/
|
|
2077
|
+
external_resources_allowed?: boolean;
|
|
2078
|
+
/**
|
|
2079
|
+
* List of domains the JavaScript may reference for external resources. Only applicable when external_resources_allowed is true.
|
|
2080
|
+
*/
|
|
2081
|
+
allowed_external_domains?: string[];
|
|
2082
|
+
[k: string]: unknown | undefined;
|
|
2083
|
+
}
|
|
2084
|
+
/**
|
|
2085
|
+
* Requirements for VAST (Video Ad Serving Template) creative assets.
|
|
2086
|
+
*/
|
|
2087
|
+
export interface VASTAssetRequirements {
|
|
2088
|
+
/**
|
|
2089
|
+
* Required VAST version
|
|
2090
|
+
*/
|
|
2091
|
+
vast_version?: '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
2092
|
+
[k: string]: unknown | undefined;
|
|
2093
|
+
}
|
|
2094
|
+
/**
|
|
2095
|
+
* Requirements for DAAST (Digital Audio Ad Serving Template) creative assets.
|
|
2096
|
+
*/
|
|
2097
|
+
export interface DAASTAssetRequirements {
|
|
2098
|
+
/**
|
|
2099
|
+
* Required DAAST version. DAAST 1.0 is the current IAB standard.
|
|
2100
|
+
*/
|
|
2101
|
+
daast_version?: '1.0';
|
|
2102
|
+
[k: string]: unknown | undefined;
|
|
2103
|
+
}
|
|
2104
|
+
/**
|
|
2105
|
+
* Requirements for URL assets such as click-through URLs, tracking pixels, and landing pages.
|
|
2046
2106
|
*/
|
|
2047
|
-
export interface
|
|
2107
|
+
export interface URLAssetRequirements {
|
|
2048
2108
|
/**
|
|
2049
|
-
* URL
|
|
2109
|
+
* Standard role for this URL asset. Use this to constrain which purposes are valid for this URL slot. Complements asset_role (which is a human-readable label) by providing a machine-readable enum.
|
|
2050
2110
|
*/
|
|
2051
|
-
|
|
2111
|
+
role?: 'clickthrough' | 'landing_page' | 'impression_tracker' | 'click_tracker' | 'viewability_tracker' | 'third_party_tracker';
|
|
2052
2112
|
/**
|
|
2053
|
-
*
|
|
2113
|
+
* Allowed URL protocols. HTTPS is recommended for all ad URLs.
|
|
2054
2114
|
*/
|
|
2055
|
-
|
|
2115
|
+
protocols?: ('https' | 'http')[];
|
|
2056
2116
|
/**
|
|
2057
|
-
*
|
|
2117
|
+
* List of allowed domains for the URL
|
|
2058
2118
|
*/
|
|
2059
|
-
|
|
2119
|
+
allowed_domains?: string[];
|
|
2060
2120
|
/**
|
|
2061
|
-
*
|
|
2121
|
+
* Maximum URL length in characters
|
|
2062
2122
|
*/
|
|
2063
|
-
|
|
2123
|
+
max_length?: number;
|
|
2064
2124
|
/**
|
|
2065
|
-
*
|
|
2125
|
+
* Whether the URL supports macro substitution (e.g., ${CACHEBUSTER})
|
|
2066
2126
|
*/
|
|
2067
|
-
|
|
2127
|
+
macro_support?: boolean;
|
|
2068
2128
|
[k: string]: unknown | undefined;
|
|
2069
2129
|
}
|
|
2070
2130
|
/**
|
|
2071
|
-
*
|
|
2131
|
+
* Requirements for webhook creative assets.
|
|
2132
|
+
*/
|
|
2133
|
+
export interface WebhookAssetRequirements {
|
|
2134
|
+
/**
|
|
2135
|
+
* Allowed HTTP methods
|
|
2136
|
+
*/
|
|
2137
|
+
methods?: ('GET' | 'POST')[];
|
|
2138
|
+
[k: string]: unknown | undefined;
|
|
2139
|
+
}
|
|
2140
|
+
/**
|
|
2141
|
+
* 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.
|
|
2072
2142
|
*/
|
|
2073
2143
|
/**
|
|
2074
2144
|
* Budget pacing strategy
|
|
2075
2145
|
*/
|
|
2076
2146
|
export type Pacing = 'even' | 'asap' | 'front_loaded';
|
|
2077
2147
|
/**
|
|
2078
|
-
*
|
|
2079
|
-
*/
|
|
2080
|
-
export type MetroAreaSystem1 = 'nielsen_dma' | 'uk_itl1' | 'uk_itl2' | 'eurostat_nuts2' | 'custom';
|
|
2081
|
-
/**
|
|
2082
|
-
* Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
|
|
2148
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
2083
2149
|
*/
|
|
2084
2150
|
export type PostalCodeSystem = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode';
|
|
2085
2151
|
/**
|
|
2086
2152
|
* Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
|
|
2087
2153
|
*/
|
|
2088
|
-
export type PostalCodeSystem1 = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode';
|
|
2089
|
-
/**
|
|
2090
|
-
* Days of the week for daypart targeting
|
|
2091
|
-
*/
|
|
2092
2154
|
export type AgeVerificationMethod = 'facial_age_estimation' | 'id_document' | 'digital_id' | 'credit_card' | 'world_id';
|
|
2093
2155
|
/**
|
|
2094
2156
|
* Operating system platforms for device targeting. Browser values from Sec-CH-UA-Platform standard, extended for CTV.
|
|
@@ -2141,7 +2203,7 @@ export type VASTAsset = {
|
|
|
2141
2203
|
* Inline VAST XML content
|
|
2142
2204
|
*/
|
|
2143
2205
|
content: string;
|
|
2144
|
-
vast_version?:
|
|
2206
|
+
vast_version?: VASTVersion;
|
|
2145
2207
|
/**
|
|
2146
2208
|
* Whether VPAID (Video Player-Ad Interface Definition) is supported
|
|
2147
2209
|
*/
|
|
@@ -2175,10 +2237,6 @@ export type VASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'thirdQ
|
|
|
2175
2237
|
/**
|
|
2176
2238
|
* VAST specification version
|
|
2177
2239
|
*/
|
|
2178
|
-
export type VASTVersion1 = '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
|
|
2179
|
-
/**
|
|
2180
|
-
* DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
|
|
2181
|
-
*/
|
|
2182
2240
|
export type DAASTAsset = {
|
|
2183
2241
|
/**
|
|
2184
2242
|
* Discriminator indicating DAAST is delivered via URL endpoint
|
|
@@ -2215,7 +2273,7 @@ export type DAASTAsset = {
|
|
|
2215
2273
|
* Inline DAAST XML content
|
|
2216
2274
|
*/
|
|
2217
2275
|
content: string;
|
|
2218
|
-
daast_version?:
|
|
2276
|
+
daast_version?: DAASTVersion;
|
|
2219
2277
|
/**
|
|
2220
2278
|
* Expected audio duration in milliseconds (if known)
|
|
2221
2279
|
*/
|
|
@@ -2245,17 +2303,13 @@ export type DAASTTrackingEvent = 'start' | 'firstQuartile' | 'midpoint' | 'third
|
|
|
2245
2303
|
/**
|
|
2246
2304
|
* DAAST specification version
|
|
2247
2305
|
*/
|
|
2248
|
-
export type DAASTVersion1 = '1.0' | '1.1';
|
|
2249
|
-
/**
|
|
2250
|
-
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
2251
|
-
*/
|
|
2252
2306
|
export type URLAssetType = 'clickthrough' | 'tracker_pixel' | 'tracker_script';
|
|
2253
2307
|
/**
|
|
2254
2308
|
* For generative creatives: set to 'approved' to finalize, 'rejected' to request regeneration with updated assets/message. Omit for non-generative creatives (system will set based on processing state).
|
|
2255
2309
|
*/
|
|
2256
2310
|
export type CreativeStatus = 'processing' | 'approved' | 'rejected' | 'pending_review' | 'archived';
|
|
2257
2311
|
/**
|
|
2258
|
-
*
|
|
2312
|
+
* Brand identifier within the house portfolio. Optional for single-brand domains.
|
|
2259
2313
|
*/
|
|
2260
2314
|
export type StartTiming = 'asap' | string;
|
|
2261
2315
|
/**
|
|
@@ -2270,6 +2324,10 @@ export interface CreateMediaBuyRequest {
|
|
|
2270
2324
|
* Buyer's reference identifier for this media buy
|
|
2271
2325
|
*/
|
|
2272
2326
|
buyer_ref: string;
|
|
2327
|
+
/**
|
|
2328
|
+
* Buyer's campaign reference label. Groups related discovery and buy operations under a single campaign for CRM and ad server correlation (e.g., 'NovaDrink_Meals_Q2').
|
|
2329
|
+
*/
|
|
2330
|
+
campaign_ref?: string;
|
|
2273
2331
|
/**
|
|
2274
2332
|
* Account to bill for this media buy. Required when the agent has access to multiple accounts; when omitted, the seller uses the agent's sole account. The seller maps the agent's brand + operator to an account during sync_accounts; the agent passes that account_id here.
|
|
2275
2333
|
*/
|
|
@@ -2295,7 +2353,7 @@ export interface CreateMediaBuyRequest {
|
|
|
2295
2353
|
* Array of package configurations. Required when not using proposal_id. When executing a proposal, this can be omitted and packages will be derived from the proposal's allocations.
|
|
2296
2354
|
*/
|
|
2297
2355
|
packages?: PackageRequest[];
|
|
2298
|
-
brand:
|
|
2356
|
+
brand: BrandReference;
|
|
2299
2357
|
/**
|
|
2300
2358
|
* Purchase order number for tracking
|
|
2301
2359
|
*/
|
|
@@ -2388,6 +2446,7 @@ export interface PackageRequest {
|
|
|
2388
2446
|
* Whether this package should be created in a paused state. Paused packages do not deliver impressions. Defaults to false.
|
|
2389
2447
|
*/
|
|
2390
2448
|
paused?: boolean;
|
|
2449
|
+
catalog?: Catalog;
|
|
2391
2450
|
optimization_goal?: OptimizationGoal;
|
|
2392
2451
|
targeting_overlay?: TargetingOverlay;
|
|
2393
2452
|
/**
|
|
@@ -2499,7 +2558,7 @@ export interface TargetingOverlay {
|
|
|
2499
2558
|
*/
|
|
2500
2559
|
geo_metros_exclude?: [
|
|
2501
2560
|
{
|
|
2502
|
-
system:
|
|
2561
|
+
system: MetroAreaSystem;
|
|
2503
2562
|
/**
|
|
2504
2563
|
* Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
2505
2564
|
*
|
|
@@ -2508,7 +2567,7 @@ export interface TargetingOverlay {
|
|
|
2508
2567
|
values: [string, ...string[]];
|
|
2509
2568
|
},
|
|
2510
2569
|
...{
|
|
2511
|
-
system:
|
|
2570
|
+
system: MetroAreaSystem;
|
|
2512
2571
|
/**
|
|
2513
2572
|
* Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)
|
|
2514
2573
|
*
|
|
@@ -2549,7 +2608,7 @@ export interface TargetingOverlay {
|
|
|
2549
2608
|
*/
|
|
2550
2609
|
geo_postal_areas_exclude?: [
|
|
2551
2610
|
{
|
|
2552
|
-
system:
|
|
2611
|
+
system: PostalCodeSystem;
|
|
2553
2612
|
/**
|
|
2554
2613
|
* Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
|
|
2555
2614
|
*
|
|
@@ -2558,7 +2617,7 @@ export interface TargetingOverlay {
|
|
|
2558
2617
|
values: [string, ...string[]];
|
|
2559
2618
|
},
|
|
2560
2619
|
...{
|
|
2561
|
-
system:
|
|
2620
|
+
system: PostalCodeSystem;
|
|
2562
2621
|
/**
|
|
2563
2622
|
* Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)
|
|
2564
2623
|
*
|
|
@@ -2620,6 +2679,51 @@ export interface TargetingOverlay {
|
|
|
2620
2679
|
* @minItems 1
|
|
2621
2680
|
*/
|
|
2622
2681
|
device_platform?: [DevicePlatform, ...DevicePlatform[]];
|
|
2682
|
+
/**
|
|
2683
|
+
* Target users within store catchment areas from a synced store catalog. Each entry references a store-type catalog and optionally narrows to specific stores or catchment zones.
|
|
2684
|
+
*
|
|
2685
|
+
* @minItems 1
|
|
2686
|
+
*/
|
|
2687
|
+
store_catchments?: [
|
|
2688
|
+
{
|
|
2689
|
+
/**
|
|
2690
|
+
* Synced store-type catalog ID from sync_catalogs.
|
|
2691
|
+
*/
|
|
2692
|
+
catalog_id: string;
|
|
2693
|
+
/**
|
|
2694
|
+
* Filter to specific stores within the catalog. Omit to target all stores.
|
|
2695
|
+
*
|
|
2696
|
+
* @minItems 1
|
|
2697
|
+
*/
|
|
2698
|
+
store_ids?: [string, ...string[]];
|
|
2699
|
+
/**
|
|
2700
|
+
* Catchment zone IDs to target (e.g., 'walk', 'drive'). Omit to target all catchment zones.
|
|
2701
|
+
*
|
|
2702
|
+
* @minItems 1
|
|
2703
|
+
*/
|
|
2704
|
+
catchment_ids?: [string, ...string[]];
|
|
2705
|
+
[k: string]: unknown | undefined;
|
|
2706
|
+
},
|
|
2707
|
+
...{
|
|
2708
|
+
/**
|
|
2709
|
+
* Synced store-type catalog ID from sync_catalogs.
|
|
2710
|
+
*/
|
|
2711
|
+
catalog_id: string;
|
|
2712
|
+
/**
|
|
2713
|
+
* Filter to specific stores within the catalog. Omit to target all stores.
|
|
2714
|
+
*
|
|
2715
|
+
* @minItems 1
|
|
2716
|
+
*/
|
|
2717
|
+
store_ids?: [string, ...string[]];
|
|
2718
|
+
/**
|
|
2719
|
+
* Catchment zone IDs to target (e.g., 'walk', 'drive'). Omit to target all catchment zones.
|
|
2720
|
+
*
|
|
2721
|
+
* @minItems 1
|
|
2722
|
+
*/
|
|
2723
|
+
catchment_ids?: [string, ...string[]];
|
|
2724
|
+
[k: string]: unknown | undefined;
|
|
2725
|
+
}[]
|
|
2726
|
+
];
|
|
2623
2727
|
/**
|
|
2624
2728
|
* Restrict to users with specific language preferences. ISO 639-1 codes (e.g., 'en', 'es', 'fr').
|
|
2625
2729
|
*
|
|
@@ -2670,7 +2774,13 @@ export interface CreativeAsset {
|
|
|
2670
2774
|
* Human-readable creative name
|
|
2671
2775
|
*/
|
|
2672
2776
|
name: string;
|
|
2673
|
-
format_id:
|
|
2777
|
+
format_id: FormatID;
|
|
2778
|
+
/**
|
|
2779
|
+
* Catalogs this creative renders. Each entry satisfies one of the format's catalog_requirements, matched by type. Each catalog can be inline (with items), a reference to a synced catalog (by catalog_id), or a URL to an external feed.
|
|
2780
|
+
*
|
|
2781
|
+
* @minItems 1
|
|
2782
|
+
*/
|
|
2783
|
+
catalogs?: [Catalog, ...Catalog[]];
|
|
2674
2784
|
/**
|
|
2675
2785
|
* Assets required by the format, keyed by asset_role
|
|
2676
2786
|
*/
|
|
@@ -3012,98 +3122,7 @@ export interface JavaScriptAsset {
|
|
|
3012
3122
|
[k: string]: unknown | undefined;
|
|
3013
3123
|
}
|
|
3014
3124
|
/**
|
|
3015
|
-
*
|
|
3016
|
-
*/
|
|
3017
|
-
export interface PromotedOfferings {
|
|
3018
|
-
brand: BrandReference;
|
|
3019
|
-
/**
|
|
3020
|
-
* MCP endpoint URL for the brand's SI agent. When present, hosts can connect users to conversational experiences about any of the offerings. The agent handles si_get_offering lookups and full conversations.
|
|
3021
|
-
*/
|
|
3022
|
-
si_agent_url?: string;
|
|
3023
|
-
product_selectors?: PromotedProducts;
|
|
3024
|
-
/**
|
|
3025
|
-
* Offerings available for promotion. Each offering can include creative assets (via portfolio_ref or inline assets) for traditional ads. When si_agent_url is set at the parent level, hosts can offer conversational experiences about any of these offerings.
|
|
3026
|
-
*/
|
|
3027
|
-
offerings?: Offering[];
|
|
3028
|
-
/**
|
|
3029
|
-
* Selectors to choose specific assets from the brand's asset library
|
|
3030
|
-
*/
|
|
3031
|
-
asset_selectors?: {
|
|
3032
|
-
/**
|
|
3033
|
-
* Select assets with specific tags (e.g., ['holiday', 'premium'])
|
|
3034
|
-
*/
|
|
3035
|
-
tags?: string[];
|
|
3036
|
-
/**
|
|
3037
|
-
* Filter by asset type (e.g., ['image', 'video'])
|
|
3038
|
-
*/
|
|
3039
|
-
asset_types?: ('image' | 'video' | 'audio' | 'vast' | 'daast' | 'text' | 'url' | 'html' | 'css' | 'javascript' | 'webhook')[];
|
|
3040
|
-
/**
|
|
3041
|
-
* Exclude assets with these tags
|
|
3042
|
-
*/
|
|
3043
|
-
exclude_tags?: string[];
|
|
3044
|
-
[k: string]: unknown | undefined;
|
|
3045
|
-
};
|
|
3046
|
-
[k: string]: unknown | undefined;
|
|
3047
|
-
}
|
|
3048
|
-
/**
|
|
3049
|
-
* Brand reference. Resolved to full brand identity (logos, colors, tone, assets) at execution time for creative generation.
|
|
3050
|
-
*/
|
|
3051
|
-
export interface Offering {
|
|
3052
|
-
/**
|
|
3053
|
-
* Unique identifier for this offering. Used by hosts to reference specific offerings in si_get_offering calls.
|
|
3054
|
-
*/
|
|
3055
|
-
offering_id: string;
|
|
3056
|
-
/**
|
|
3057
|
-
* Human-readable offering name (e.g., 'Winter Sale', 'Free Trial', 'Enterprise Platform')
|
|
3058
|
-
*/
|
|
3059
|
-
name: string;
|
|
3060
|
-
/**
|
|
3061
|
-
* Description of what's being offered
|
|
3062
|
-
*/
|
|
3063
|
-
description?: string;
|
|
3064
|
-
/**
|
|
3065
|
-
* Short promotional tagline for the offering
|
|
3066
|
-
*/
|
|
3067
|
-
tagline?: string;
|
|
3068
|
-
/**
|
|
3069
|
-
* When the offering becomes available. If not specified, offering is immediately available.
|
|
3070
|
-
*/
|
|
3071
|
-
valid_from?: string;
|
|
3072
|
-
/**
|
|
3073
|
-
* When the offering expires. If not specified, offering has no expiration.
|
|
3074
|
-
*/
|
|
3075
|
-
valid_to?: string;
|
|
3076
|
-
/**
|
|
3077
|
-
* URL for checkout/purchase flow when the brand doesn't support agentic checkout.
|
|
3078
|
-
*/
|
|
3079
|
-
checkout_url?: string;
|
|
3080
|
-
/**
|
|
3081
|
-
* Landing page URL for this offering.
|
|
3082
|
-
*/
|
|
3083
|
-
landing_url?: string;
|
|
3084
|
-
/**
|
|
3085
|
-
* Assets specific to this offering (images, videos, copy)
|
|
3086
|
-
*/
|
|
3087
|
-
assets?: {
|
|
3088
|
-
[k: string]: unknown | undefined;
|
|
3089
|
-
}[];
|
|
3090
|
-
/**
|
|
3091
|
-
* Reference to a creative portfolio for this offering. Portfolios contain organized creative assets across formats, enabling consistent ad delivery for this specific offering.
|
|
3092
|
-
*/
|
|
3093
|
-
portfolio_ref?: string;
|
|
3094
|
-
/**
|
|
3095
|
-
* Keywords for matching this offering to user intent. Hosts use these for retrieval/relevance scoring.
|
|
3096
|
-
*/
|
|
3097
|
-
keywords?: string[];
|
|
3098
|
-
/**
|
|
3099
|
-
* Categories this offering belongs to (e.g., 'measurement', 'identity', 'programmatic')
|
|
3100
|
-
*/
|
|
3101
|
-
categories?: string[];
|
|
3102
|
-
ext?: ExtensionObject;
|
|
3103
|
-
[k: string]: unknown | undefined;
|
|
3104
|
-
}
|
|
3105
|
-
/**
|
|
3106
|
-
* 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.
|
|
3125
|
+
* URL reference asset
|
|
3107
3126
|
*/
|
|
3108
3127
|
export interface URLAsset {
|
|
3109
3128
|
/**
|
|
@@ -3118,17 +3137,7 @@ export interface URLAsset {
|
|
|
3118
3137
|
[k: string]: unknown | undefined;
|
|
3119
3138
|
}
|
|
3120
3139
|
/**
|
|
3121
|
-
*
|
|
3122
|
-
*/
|
|
3123
|
-
export interface BrandReference1 {
|
|
3124
|
-
/**
|
|
3125
|
-
* Domain where /.well-known/brand.json is hosted, or the brand's operating domain
|
|
3126
|
-
*/
|
|
3127
|
-
domain: string;
|
|
3128
|
-
brand_id?: BrandID;
|
|
3129
|
-
}
|
|
3130
|
-
/**
|
|
3131
|
-
* Optional webhook configuration for automated reporting delivery
|
|
3140
|
+
* 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.
|
|
3132
3141
|
*/
|
|
3133
3142
|
export interface ReportingWebhook {
|
|
3134
3143
|
/**
|
|
@@ -3184,6 +3193,10 @@ export interface CreateMediaBuySuccess {
|
|
|
3184
3193
|
* Buyer's reference identifier for this media buy
|
|
3185
3194
|
*/
|
|
3186
3195
|
buyer_ref: string;
|
|
3196
|
+
/**
|
|
3197
|
+
* Buyer's campaign reference label, echoed from the request
|
|
3198
|
+
*/
|
|
3199
|
+
campaign_ref?: string;
|
|
3187
3200
|
account?: Account;
|
|
3188
3201
|
/**
|
|
3189
3202
|
* ISO 8601 timestamp for creative upload deadline
|
|
@@ -3327,7 +3340,7 @@ export interface CreateMediaBuyError {
|
|
|
3327
3340
|
* Standard error structure for task-specific errors and warnings
|
|
3328
3341
|
*/
|
|
3329
3342
|
/**
|
|
3330
|
-
*
|
|
3343
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
3331
3344
|
*/
|
|
3332
3345
|
export type ValidationMode = 'strict' | 'lenient';
|
|
3333
3346
|
/**
|
|
@@ -3719,6 +3732,10 @@ export interface ListCreativesResponse {
|
|
|
3719
3732
|
* When the creative was last modified
|
|
3720
3733
|
*/
|
|
3721
3734
|
updated_date: string;
|
|
3735
|
+
/**
|
|
3736
|
+
* Catalogs this creative renders, if any
|
|
3737
|
+
*/
|
|
3738
|
+
catalogs?: Catalog[];
|
|
3722
3739
|
/**
|
|
3723
3740
|
* Assets for this creative, keyed by asset_role
|
|
3724
3741
|
*/
|
|
@@ -3727,7 +3744,7 @@ export interface ListCreativesResponse {
|
|
|
3727
3744
|
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
3728
3745
|
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
|
3729
3746
|
*/
|
|
3730
|
-
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset |
|
|
3747
|
+
[k: string]: ImageAsset | VideoAsset | AudioAsset | TextAsset | HTMLAsset | CSSAsset | JavaScriptAsset | VASTAsset | DAASTAsset | URLAsset;
|
|
3731
3748
|
};
|
|
3732
3749
|
/**
|
|
3733
3750
|
* User-defined tags for organization and searchability
|
|
@@ -3901,6 +3918,7 @@ export type PackageUpdate = {
|
|
|
3901
3918
|
* Pause/resume specific package (true = paused, false = active)
|
|
3902
3919
|
*/
|
|
3903
3920
|
paused?: boolean;
|
|
3921
|
+
catalog?: Catalog;
|
|
3904
3922
|
optimization_goal?: OptimizationGoal;
|
|
3905
3923
|
targeting_overlay?: TargetingOverlay;
|
|
3906
3924
|
/**
|
|
@@ -4016,10 +4034,6 @@ export type PricingModel = 'cpm' | 'vcpm' | 'cpc' | 'cpcv' | 'cpv' | 'cpp' | 'cp
|
|
|
4016
4034
|
/**
|
|
4017
4035
|
* The event type
|
|
4018
4036
|
*/
|
|
4019
|
-
export type PricingModel1 = 'cpm' | 'vcpm' | 'cpc' | 'cpcv' | 'cpv' | 'cpp' | 'cpa' | 'flat_rate' | 'time';
|
|
4020
|
-
/**
|
|
4021
|
-
* Response payload for get_media_buy_delivery task
|
|
4022
|
-
*/
|
|
4023
4037
|
export interface GetMediaBuyDeliveryResponse {
|
|
4024
4038
|
/**
|
|
4025
4039
|
* Type of webhook notification (only present in webhook deliveries): scheduled = regular periodic update, final = campaign completed, delayed = data not yet available, adjusted = resending period with updated data
|
|
@@ -4116,6 +4130,10 @@ export interface GetMediaBuyDeliveryResponse {
|
|
|
4116
4130
|
* Buyer's reference identifier for this media buy
|
|
4117
4131
|
*/
|
|
4118
4132
|
buyer_ref?: string;
|
|
4133
|
+
/**
|
|
4134
|
+
* Buyer's campaign reference label. Groups related operations under a single campaign for CRM and ad server correlation.
|
|
4135
|
+
*/
|
|
4136
|
+
campaign_ref?: string;
|
|
4119
4137
|
/**
|
|
4120
4138
|
* Current media buy status. In webhook context, reporting_delayed indicates data temporarily unavailable.
|
|
4121
4139
|
*/
|
|
@@ -4151,7 +4169,7 @@ export interface GetMediaBuyDeliveryResponse {
|
|
|
4151
4169
|
* Delivery pace (1.0 = on track, <1.0 = behind, >1.0 = ahead)
|
|
4152
4170
|
*/
|
|
4153
4171
|
pacing_index?: number;
|
|
4154
|
-
pricing_model:
|
|
4172
|
+
pricing_model: PricingModel;
|
|
4155
4173
|
/**
|
|
4156
4174
|
* The pricing rate for this package in the specified currency. For fixed-rate pricing, this is the agreed rate (e.g., CPM rate of 12.50 means $12.50 per 1,000 impressions). For auction-based pricing, this represents the effective rate based on actual delivery.
|
|
4157
4175
|
*/
|
|
@@ -4168,6 +4186,16 @@ export interface GetMediaBuyDeliveryResponse {
|
|
|
4168
4186
|
* Whether this package is currently paused by the buyer
|
|
4169
4187
|
*/
|
|
4170
4188
|
paused?: boolean;
|
|
4189
|
+
/**
|
|
4190
|
+
* Delivery by catalog item within this package. Available for catalog-driven packages when the seller supports item-level reporting.
|
|
4191
|
+
*/
|
|
4192
|
+
by_catalog_item?: (DeliveryMetrics & {
|
|
4193
|
+
/**
|
|
4194
|
+
* Catalog item identifier (e.g., SKU, GTIN, job_id, offering_id)
|
|
4195
|
+
*/
|
|
4196
|
+
content_id: string;
|
|
4197
|
+
content_id_type?: ContentIDType;
|
|
4198
|
+
})[];
|
|
4171
4199
|
/**
|
|
4172
4200
|
* Metrics broken down by creative within this package. Available when the seller supports creative-level reporting.
|
|
4173
4201
|
*/
|
|
@@ -4792,11 +4820,11 @@ export interface EventCustomData {
|
|
|
4792
4820
|
*/
|
|
4793
4821
|
order_id?: string;
|
|
4794
4822
|
/**
|
|
4795
|
-
*
|
|
4823
|
+
* Item identifiers for catalog attribution. Values are matched against catalog items using the identifier type declared by the catalog's content_id_type field (e.g., SKUs, GTINs, or vertical-specific IDs like job_id).
|
|
4796
4824
|
*/
|
|
4797
4825
|
content_ids?: string[];
|
|
4798
4826
|
/**
|
|
4799
|
-
* Category of content (product,
|
|
4827
|
+
* Category of content associated with the event (e.g., 'product', 'job', 'hotel'). Corresponds to the catalog type when used for catalog attribution.
|
|
4800
4828
|
*/
|
|
4801
4829
|
content_type?: string;
|
|
4802
4830
|
/**
|
|
@@ -5029,21 +5057,159 @@ export interface SyncAudiencesSuccess {
|
|
|
5029
5057
|
*/
|
|
5030
5058
|
uploaded_count?: number;
|
|
5031
5059
|
/**
|
|
5032
|
-
* Total members matched to platform users across all syncs (cumulative, not just this call). Populated when status is 'ready'.
|
|
5060
|
+
* Total members matched to platform users across all syncs (cumulative, not just this call). Populated when status is 'ready'.
|
|
5061
|
+
*/
|
|
5062
|
+
matched_count?: number;
|
|
5063
|
+
/**
|
|
5064
|
+
* ISO 8601 timestamp of when the most recent sync operation was accepted by the platform. Useful for agents reasoning about audience freshness. Omitted if the seller does not track this.
|
|
5065
|
+
*/
|
|
5066
|
+
last_synced_at?: string;
|
|
5067
|
+
/**
|
|
5068
|
+
* Minimum matched audience size required for targeting on this platform. Populated when status is 'too_small'. Helps agents know how many more members are needed.
|
|
5069
|
+
*/
|
|
5070
|
+
minimum_size?: number;
|
|
5071
|
+
/**
|
|
5072
|
+
* Errors for this audience (only present when action='failed')
|
|
5073
|
+
*/
|
|
5074
|
+
errors?: Error[];
|
|
5075
|
+
}[];
|
|
5076
|
+
/**
|
|
5077
|
+
* When true, this response contains simulated data from sandbox mode.
|
|
5078
|
+
*/
|
|
5079
|
+
sandbox?: boolean;
|
|
5080
|
+
context?: ContextObject;
|
|
5081
|
+
ext?: ExtensionObject;
|
|
5082
|
+
}
|
|
5083
|
+
/**
|
|
5084
|
+
* Standard error structure for task-specific errors and warnings
|
|
5085
|
+
*/
|
|
5086
|
+
export interface SyncAudiencesError {
|
|
5087
|
+
/**
|
|
5088
|
+
* Operation-level errors that prevented processing
|
|
5089
|
+
*/
|
|
5090
|
+
errors: Error[];
|
|
5091
|
+
context?: ContextObject;
|
|
5092
|
+
ext?: ExtensionObject;
|
|
5093
|
+
}
|
|
5094
|
+
/**
|
|
5095
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
5096
|
+
*/
|
|
5097
|
+
export interface SyncCatalogsRequest {
|
|
5098
|
+
/**
|
|
5099
|
+
* Account that owns these catalogs. Required if the agent has multiple accounts and the seller cannot route automatically.
|
|
5100
|
+
*/
|
|
5101
|
+
account_id?: string;
|
|
5102
|
+
/**
|
|
5103
|
+
* Array of catalog feeds to sync (create or update). When omitted, the call is discovery-only and returns all existing catalogs on the account without modification.
|
|
5104
|
+
*
|
|
5105
|
+
* @maxItems 50
|
|
5106
|
+
*/
|
|
5107
|
+
catalogs?: Catalog[];
|
|
5108
|
+
/**
|
|
5109
|
+
* Optional filter to limit sync scope to specific catalog IDs. When provided, only these catalogs will be created/updated. Other catalogs on the account are unaffected.
|
|
5110
|
+
*
|
|
5111
|
+
* @maxItems 50
|
|
5112
|
+
*/
|
|
5113
|
+
catalog_ids?: string[];
|
|
5114
|
+
/**
|
|
5115
|
+
* When true, buyer-managed catalogs on the account not included in this sync will be removed. Does not affect seller-managed catalogs. Do not combine with an omitted catalogs array or all buyer-managed catalogs will be deleted.
|
|
5116
|
+
*/
|
|
5117
|
+
delete_missing?: boolean;
|
|
5118
|
+
/**
|
|
5119
|
+
* When true, preview changes without applying them. Returns what would be created/updated/deleted.
|
|
5120
|
+
*/
|
|
5121
|
+
dry_run?: boolean;
|
|
5122
|
+
validation_mode?: ValidationMode;
|
|
5123
|
+
push_notification_config?: PushNotificationConfig;
|
|
5124
|
+
context?: ContextObject;
|
|
5125
|
+
ext?: ExtensionObject;
|
|
5126
|
+
}
|
|
5127
|
+
/**
|
|
5128
|
+
* A typed data feed. Catalogs carry the items, locations, stock levels, or pricing that publishers use to render ads. They can be synced to a platform via sync_catalogs (managed lifecycle with approval), provided inline, or fetched from an external URL. The catalog type determines the item schema and can be structural (offering, product, inventory, store, promotion) or vertical-specific (hotel, flight, job, vehicle, real_estate, education, destination, app). Selectors (ids, tags, category, query) filter items regardless of sourcing method.
|
|
5129
|
+
*/
|
|
5130
|
+
/**
|
|
5131
|
+
* Response from catalog sync operation. Returns either per-catalog results (best-effort processing) OR operation-level errors (complete failure). Platforms may approve, reject, or flag individual items within each catalog (similar to Google Merchant Center product review).
|
|
5132
|
+
*/
|
|
5133
|
+
export type SyncCatalogsResponse = SyncCatalogsSuccess | SyncCatalogsError;
|
|
5134
|
+
/**
|
|
5135
|
+
* Action taken for this catalog
|
|
5136
|
+
*/
|
|
5137
|
+
export type CatalogAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
|
|
5138
|
+
/**
|
|
5139
|
+
* Item review status
|
|
5140
|
+
*/
|
|
5141
|
+
export type CatalogItemStatus = 'approved' | 'pending' | 'rejected' | 'warning';
|
|
5142
|
+
/**
|
|
5143
|
+
* Success response - sync operation processed catalogs (may include per-catalog failures)
|
|
5144
|
+
*/
|
|
5145
|
+
export interface SyncCatalogsSuccess {
|
|
5146
|
+
/**
|
|
5147
|
+
* Whether this was a dry run (no actual changes made)
|
|
5148
|
+
*/
|
|
5149
|
+
dry_run?: boolean;
|
|
5150
|
+
/**
|
|
5151
|
+
* Results for each catalog processed. Items with action='failed' indicate per-catalog validation/processing failures, not operation-level failures.
|
|
5152
|
+
*/
|
|
5153
|
+
catalogs: {
|
|
5154
|
+
/**
|
|
5155
|
+
* Catalog ID from the request
|
|
5156
|
+
*/
|
|
5157
|
+
catalog_id: string;
|
|
5158
|
+
action: CatalogAction;
|
|
5159
|
+
/**
|
|
5160
|
+
* Platform-specific ID assigned to the catalog
|
|
5161
|
+
*/
|
|
5162
|
+
platform_id?: string;
|
|
5163
|
+
/**
|
|
5164
|
+
* Total number of items in the catalog after sync
|
|
5165
|
+
*/
|
|
5166
|
+
item_count?: number;
|
|
5167
|
+
/**
|
|
5168
|
+
* Number of items approved by the platform. Populated when the platform performs item-level review.
|
|
5169
|
+
*/
|
|
5170
|
+
items_approved?: number;
|
|
5171
|
+
/**
|
|
5172
|
+
* Number of items pending platform review. Common for product catalogs where items must pass content policy checks.
|
|
5173
|
+
*/
|
|
5174
|
+
items_pending?: number;
|
|
5175
|
+
/**
|
|
5176
|
+
* Number of items rejected by the platform. Check item_issues for rejection reasons.
|
|
5177
|
+
*/
|
|
5178
|
+
items_rejected?: number;
|
|
5179
|
+
/**
|
|
5180
|
+
* Per-item issues reported by the platform (rejections, warnings). Only present when the platform performs item-level review.
|
|
5181
|
+
*/
|
|
5182
|
+
item_issues?: {
|
|
5183
|
+
/**
|
|
5184
|
+
* ID of the catalog item with an issue
|
|
5185
|
+
*/
|
|
5186
|
+
item_id: string;
|
|
5187
|
+
status: CatalogItemStatus;
|
|
5188
|
+
/**
|
|
5189
|
+
* Reasons for rejection or warning
|
|
5190
|
+
*/
|
|
5191
|
+
reasons?: string[];
|
|
5192
|
+
}[];
|
|
5193
|
+
/**
|
|
5194
|
+
* ISO 8601 timestamp of when the most recent sync was accepted by the platform
|
|
5195
|
+
*/
|
|
5196
|
+
last_synced_at?: string;
|
|
5197
|
+
/**
|
|
5198
|
+
* ISO 8601 timestamp of when the platform will next fetch the feed URL. Only present for URL-based catalogs with update_frequency.
|
|
5033
5199
|
*/
|
|
5034
|
-
|
|
5200
|
+
next_fetch_at?: string;
|
|
5035
5201
|
/**
|
|
5036
|
-
*
|
|
5202
|
+
* Field names that were modified (only present when action='updated')
|
|
5037
5203
|
*/
|
|
5038
|
-
|
|
5204
|
+
changes?: string[];
|
|
5039
5205
|
/**
|
|
5040
|
-
*
|
|
5206
|
+
* Validation or processing errors (only present when action='failed')
|
|
5041
5207
|
*/
|
|
5042
|
-
|
|
5208
|
+
errors?: string[];
|
|
5043
5209
|
/**
|
|
5044
|
-
*
|
|
5210
|
+
* Non-fatal warnings about this catalog
|
|
5045
5211
|
*/
|
|
5046
|
-
|
|
5212
|
+
warnings?: string[];
|
|
5047
5213
|
}[];
|
|
5048
5214
|
/**
|
|
5049
5215
|
* When true, this response contains simulated data from sandbox mode.
|
|
@@ -5053,18 +5219,21 @@ export interface SyncAudiencesSuccess {
|
|
|
5053
5219
|
ext?: ExtensionObject;
|
|
5054
5220
|
}
|
|
5055
5221
|
/**
|
|
5056
|
-
*
|
|
5222
|
+
* 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.
|
|
5057
5223
|
*/
|
|
5058
|
-
export interface
|
|
5224
|
+
export interface SyncCatalogsError {
|
|
5059
5225
|
/**
|
|
5060
|
-
* Operation-level errors that prevented processing
|
|
5226
|
+
* Operation-level errors that prevented processing any catalogs (e.g., authentication failure, service unavailable, invalid request format)
|
|
5061
5227
|
*/
|
|
5062
5228
|
errors: Error[];
|
|
5063
5229
|
context?: ContextObject;
|
|
5064
5230
|
ext?: ExtensionObject;
|
|
5065
5231
|
}
|
|
5066
5232
|
/**
|
|
5067
|
-
*
|
|
5233
|
+
* Standard error structure for task-specific errors and warnings
|
|
5234
|
+
*/
|
|
5235
|
+
/**
|
|
5236
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
5068
5237
|
*/
|
|
5069
5238
|
export type HTTPMethod = 'GET' | 'POST';
|
|
5070
5239
|
/**
|
|
@@ -5080,7 +5249,7 @@ export type WebhookSecurityMethod = 'hmac_sha256' | 'api_key' | 'none';
|
|
|
5080
5249
|
*/
|
|
5081
5250
|
export type CreativeBriefReference = CreativeBrief | string;
|
|
5082
5251
|
/**
|
|
5083
|
-
* Request to transform or generate a creative manifest. Takes a source manifest (which may be minimal for pure generation) and produces a target manifest in the specified format.
|
|
5252
|
+
* Request to transform or generate a creative manifest. Takes a source manifest (which may be minimal for pure generation) and produces a target manifest in the specified format.
|
|
5084
5253
|
*/
|
|
5085
5254
|
export interface BuildCreativeRequest {
|
|
5086
5255
|
/**
|
|
@@ -5088,21 +5257,23 @@ export interface BuildCreativeRequest {
|
|
|
5088
5257
|
*/
|
|
5089
5258
|
message?: string;
|
|
5090
5259
|
creative_manifest?: CreativeManifest;
|
|
5091
|
-
target_format_id:
|
|
5092
|
-
brand?:
|
|
5260
|
+
target_format_id: FormatID;
|
|
5261
|
+
brand?: BrandReference;
|
|
5093
5262
|
creative_brief?: CreativeBriefReference;
|
|
5094
5263
|
context?: ContextObject;
|
|
5095
5264
|
ext?: ExtensionObject;
|
|
5096
5265
|
}
|
|
5097
5266
|
/**
|
|
5098
|
-
* Creative manifest to transform or generate from. For pure generation, this should include the target format_id and any required input assets
|
|
5267
|
+
* Creative manifest to transform or generate from. For pure generation, this should include the target format_id and any required input assets. For transformation (e.g., resizing, reformatting), this is the complete creative to adapt.
|
|
5099
5268
|
*/
|
|
5100
5269
|
export interface CreativeManifest {
|
|
5101
5270
|
format_id: FormatID;
|
|
5102
5271
|
/**
|
|
5103
|
-
*
|
|
5272
|
+
* Catalogs this creative renders. Each entry satisfies one of the format's catalog_requirements, matched by type. Tells the creative what data to display — product listings for a carousel, job vacancies for a recruitment ad, store locations for a locator. This is a data reference, not a campaign expansion directive; campaign structure and budget allocation are handled by create_media_buy packages. Each catalog can be inline (with items), a reference to a synced catalog (by catalog_id), or a URL to an external feed.
|
|
5273
|
+
*
|
|
5274
|
+
* @minItems 1
|
|
5104
5275
|
*/
|
|
5105
|
-
|
|
5276
|
+
catalogs?: [Catalog, ...Catalog[]];
|
|
5106
5277
|
/**
|
|
5107
5278
|
* Map of asset IDs to actual asset content. Each key MUST match an asset_id from the format's assets array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). The asset_id is the technical identifier used to match assets to format requirements.
|
|
5108
5279
|
*
|
|
@@ -5230,7 +5401,7 @@ export interface ReferenceAsset {
|
|
|
5230
5401
|
*/
|
|
5231
5402
|
export type BuildCreativeResponse = BuildCreativeSuccess | BuildCreativeError;
|
|
5232
5403
|
/**
|
|
5233
|
-
*
|
|
5404
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
5234
5405
|
*/
|
|
5235
5406
|
export interface BuildCreativeSuccess {
|
|
5236
5407
|
creative_manifest: CreativeManifest;
|
|
@@ -5302,7 +5473,7 @@ export type PreviewCreativeRequest = {
|
|
|
5302
5473
|
* @maxItems 50
|
|
5303
5474
|
*/
|
|
5304
5475
|
requests: {
|
|
5305
|
-
format_id?:
|
|
5476
|
+
format_id?: FormatID;
|
|
5306
5477
|
creative_manifest: CreativeManifest1;
|
|
5307
5478
|
/**
|
|
5308
5479
|
* Array of input sets for generating multiple preview variants
|
|
@@ -5327,9 +5498,9 @@ export type PreviewCreativeRequest = {
|
|
|
5327
5498
|
* Specific template ID for custom format rendering
|
|
5328
5499
|
*/
|
|
5329
5500
|
template_id?: string;
|
|
5330
|
-
output_format?:
|
|
5501
|
+
output_format?: PreviewOutputFormat;
|
|
5331
5502
|
}[];
|
|
5332
|
-
output_format?:
|
|
5503
|
+
output_format?: PreviewOutputFormat;
|
|
5333
5504
|
context?: ContextObject;
|
|
5334
5505
|
ext?: ExtensionObject;
|
|
5335
5506
|
} | {
|
|
@@ -5345,35 +5516,25 @@ export type PreviewCreativeRequest = {
|
|
|
5345
5516
|
* Creative identifier for context
|
|
5346
5517
|
*/
|
|
5347
5518
|
creative_id?: string;
|
|
5348
|
-
output_format?:
|
|
5519
|
+
output_format?: PreviewOutputFormat;
|
|
5349
5520
|
context?: ContextObject;
|
|
5350
5521
|
ext?: ExtensionObject;
|
|
5351
5522
|
};
|
|
5352
5523
|
/**
|
|
5353
|
-
*
|
|
5524
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
5354
5525
|
*/
|
|
5355
5526
|
export type PreviewOutputFormat = 'url' | 'html';
|
|
5356
5527
|
/**
|
|
5357
5528
|
* Output format for this preview. 'url' returns preview_url, 'html' returns preview_html.
|
|
5358
5529
|
*/
|
|
5359
|
-
export type PreviewOutputFormat1 = 'url' | 'html';
|
|
5360
|
-
/**
|
|
5361
|
-
* 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).
|
|
5362
|
-
*/
|
|
5363
|
-
export type PreviewOutputFormat2 = 'url' | 'html';
|
|
5364
|
-
/**
|
|
5365
|
-
* Output format for the preview. 'url' returns preview_url (iframe-embeddable URL), 'html' returns preview_html (raw HTML for direct embedding).
|
|
5366
|
-
*/
|
|
5367
|
-
export type PreviewOutputFormat3 = 'url' | 'html';
|
|
5368
|
-
/**
|
|
5369
|
-
* Format identifier for rendering the preview. Optional — defaults to creative_manifest.format_id if omitted.
|
|
5370
|
-
*/
|
|
5371
5530
|
export interface CreativeManifest1 {
|
|
5372
|
-
format_id:
|
|
5531
|
+
format_id: FormatID;
|
|
5373
5532
|
/**
|
|
5374
|
-
*
|
|
5533
|
+
* Catalogs this creative renders. Each entry satisfies one of the format's catalog_requirements, matched by type. Tells the creative what data to display — product listings for a carousel, job vacancies for a recruitment ad, store locations for a locator. This is a data reference, not a campaign expansion directive; campaign structure and budget allocation are handled by create_media_buy packages. Each catalog can be inline (with items), a reference to a synced catalog (by catalog_id), or a URL to an external feed.
|
|
5534
|
+
*
|
|
5535
|
+
* @minItems 1
|
|
5375
5536
|
*/
|
|
5376
|
-
|
|
5537
|
+
catalogs?: [Catalog, ...Catalog[]];
|
|
5377
5538
|
/**
|
|
5378
5539
|
* Map of asset IDs to actual asset content. Each key MUST match an asset_id from the format's assets array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). The asset_id is the technical identifier used to match assets to format requirements.
|
|
5379
5540
|
*
|
|
@@ -5536,7 +5697,7 @@ export type PreviewRender = {
|
|
|
5536
5697
|
[k: string]: unknown | undefined;
|
|
5537
5698
|
};
|
|
5538
5699
|
/**
|
|
5539
|
-
*
|
|
5700
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
5540
5701
|
*/
|
|
5541
5702
|
export interface PreviewCreativeSingleResponse {
|
|
5542
5703
|
/**
|
|
@@ -5703,7 +5864,7 @@ export type GetCreativeDeliveryRequest = {
|
|
|
5703
5864
|
/**
|
|
5704
5865
|
* The event type
|
|
5705
5866
|
*/
|
|
5706
|
-
export type CreativeVariant =
|
|
5867
|
+
export type CreativeVariant = DeliveryMetrics & {
|
|
5707
5868
|
/**
|
|
5708
5869
|
* Platform-assigned identifier for this variant
|
|
5709
5870
|
*/
|
|
@@ -5732,7 +5893,7 @@ export type CreativeVariant = DeliveryMetrics1 & {
|
|
|
5732
5893
|
};
|
|
5733
5894
|
};
|
|
5734
5895
|
/**
|
|
5735
|
-
*
|
|
5896
|
+
* Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
|
|
5736
5897
|
*/
|
|
5737
5898
|
export type PropertyIdentifierTypes = 'domain' | 'subdomain' | 'network_id' | 'ios_bundle' | 'android_package' | 'apple_app_store_id' | 'google_play_id' | 'roku_store_id' | 'fire_tv_asin' | 'samsung_app_id' | 'apple_tv_bundle' | 'bundle_id' | 'venue_id' | 'screen_id' | 'openooh_venue_type' | 'rss_url' | 'apple_podcast_id' | 'spotify_show_id' | 'podcast_guid';
|
|
5738
5899
|
/**
|
|
@@ -5820,226 +5981,11 @@ export interface GetCreativeDeliveryResponse {
|
|
|
5820
5981
|
* Task-specific errors and warnings
|
|
5821
5982
|
*/
|
|
5822
5983
|
errors?: Error[];
|
|
5823
|
-
context?: ContextObject;
|
|
5824
|
-
ext?: ExtensionObject;
|
|
5825
|
-
}
|
|
5826
|
-
/**
|
|
5827
|
-
* Format of this creative
|
|
5828
|
-
*/
|
|
5829
|
-
export interface DeliveryMetrics1 {
|
|
5830
|
-
/**
|
|
5831
|
-
* Impressions delivered
|
|
5832
|
-
*/
|
|
5833
|
-
impressions?: number;
|
|
5834
|
-
/**
|
|
5835
|
-
* Amount spent
|
|
5836
|
-
*/
|
|
5837
|
-
spend?: number;
|
|
5838
|
-
/**
|
|
5839
|
-
* Total clicks
|
|
5840
|
-
*/
|
|
5841
|
-
clicks?: number;
|
|
5842
|
-
/**
|
|
5843
|
-
* Click-through rate (clicks/impressions)
|
|
5844
|
-
*/
|
|
5845
|
-
ctr?: number;
|
|
5846
|
-
/**
|
|
5847
|
-
* Views at threshold (for CPV)
|
|
5848
|
-
*/
|
|
5849
|
-
views?: number;
|
|
5850
|
-
/**
|
|
5851
|
-
* 100% completions (for CPCV)
|
|
5852
|
-
*/
|
|
5853
|
-
completed_views?: number;
|
|
5854
|
-
/**
|
|
5855
|
-
* Completion rate (completed_views/impressions)
|
|
5856
|
-
*/
|
|
5857
|
-
completion_rate?: number;
|
|
5858
|
-
/**
|
|
5859
|
-
* Total conversions attributed to this delivery. When by_event_type is present, this equals the sum of all by_event_type[].count entries.
|
|
5860
|
-
*/
|
|
5861
|
-
conversions?: number;
|
|
5862
|
-
/**
|
|
5863
|
-
* Total monetary value of attributed conversions (in the reporting currency)
|
|
5864
|
-
*/
|
|
5865
|
-
conversion_value?: number;
|
|
5866
|
-
/**
|
|
5867
|
-
* Return on ad spend (conversion_value / spend)
|
|
5868
|
-
*/
|
|
5869
|
-
roas?: number;
|
|
5870
|
-
/**
|
|
5871
|
-
* Cost per conversion (spend / conversions)
|
|
5872
|
-
*/
|
|
5873
|
-
cost_per_acquisition?: number;
|
|
5874
|
-
/**
|
|
5875
|
-
* Fraction of conversions from first-time brand buyers (0 = none, 1 = all)
|
|
5876
|
-
*/
|
|
5877
|
-
new_to_brand_rate?: number;
|
|
5878
|
-
/**
|
|
5879
|
-
* Leads generated (convenience alias for by_event_type where event_type='lead')
|
|
5880
|
-
*/
|
|
5881
|
-
leads?: number;
|
|
5882
|
-
/**
|
|
5883
|
-
* Conversion metrics broken down by event type. Spend-derived metrics (ROAS, CPA) are only available at the package/totals level since spend cannot be attributed to individual event types.
|
|
5884
|
-
*/
|
|
5885
|
-
by_event_type?: {
|
|
5886
|
-
event_type: EventType;
|
|
5887
|
-
/**
|
|
5888
|
-
* Event source that produced these conversions (for disambiguation when multiple event sources are configured)
|
|
5889
|
-
*/
|
|
5890
|
-
event_source_id?: string;
|
|
5891
|
-
/**
|
|
5892
|
-
* Number of events of this type
|
|
5893
|
-
*/
|
|
5894
|
-
count: number;
|
|
5895
|
-
/**
|
|
5896
|
-
* Total monetary value of events of this type
|
|
5897
|
-
*/
|
|
5898
|
-
value?: number;
|
|
5899
|
-
[k: string]: unknown | undefined;
|
|
5900
|
-
}[];
|
|
5901
|
-
/**
|
|
5902
|
-
* Gross Rating Points delivered (for CPP)
|
|
5903
|
-
*/
|
|
5904
|
-
grps?: number;
|
|
5905
|
-
/**
|
|
5906
|
-
* Unique reach - units depend on measurement provider (e.g., individuals, households, devices, cookies). See delivery_measurement.provider for methodology.
|
|
5907
|
-
*/
|
|
5908
|
-
reach?: number;
|
|
5909
|
-
/**
|
|
5910
|
-
* Average frequency per individual (typically measured over campaign duration, but can vary by measurement provider)
|
|
5911
|
-
*/
|
|
5912
|
-
frequency?: number;
|
|
5913
|
-
/**
|
|
5914
|
-
* Video quartile completion data
|
|
5915
|
-
*/
|
|
5916
|
-
quartile_data?: {
|
|
5917
|
-
/**
|
|
5918
|
-
* 25% completion views
|
|
5919
|
-
*/
|
|
5920
|
-
q1_views?: number;
|
|
5921
|
-
/**
|
|
5922
|
-
* 50% completion views
|
|
5923
|
-
*/
|
|
5924
|
-
q2_views?: number;
|
|
5925
|
-
/**
|
|
5926
|
-
* 75% completion views
|
|
5927
|
-
*/
|
|
5928
|
-
q3_views?: number;
|
|
5929
|
-
/**
|
|
5930
|
-
* 100% completion views
|
|
5931
|
-
*/
|
|
5932
|
-
q4_views?: number;
|
|
5933
|
-
};
|
|
5934
|
-
/**
|
|
5935
|
-
* DOOH-specific metrics (only included for DOOH campaigns)
|
|
5936
|
-
*/
|
|
5937
|
-
dooh_metrics?: {
|
|
5938
|
-
/**
|
|
5939
|
-
* Number of times ad played in rotation
|
|
5940
|
-
*/
|
|
5941
|
-
loop_plays?: number;
|
|
5942
|
-
/**
|
|
5943
|
-
* Number of unique screens displaying the ad
|
|
5944
|
-
*/
|
|
5945
|
-
screens_used?: number;
|
|
5946
|
-
/**
|
|
5947
|
-
* Total display time in seconds
|
|
5948
|
-
*/
|
|
5949
|
-
screen_time_seconds?: number;
|
|
5950
|
-
/**
|
|
5951
|
-
* Actual share of voice delivered (0.0 to 1.0)
|
|
5952
|
-
*/
|
|
5953
|
-
sov_achieved?: number;
|
|
5954
|
-
/**
|
|
5955
|
-
* Explanation of how DOOH impressions were calculated
|
|
5956
|
-
*/
|
|
5957
|
-
calculation_notes?: string;
|
|
5958
|
-
/**
|
|
5959
|
-
* Per-venue performance breakdown
|
|
5960
|
-
*/
|
|
5961
|
-
venue_breakdown?: {
|
|
5962
|
-
/**
|
|
5963
|
-
* Venue identifier
|
|
5964
|
-
*/
|
|
5965
|
-
venue_id: string;
|
|
5966
|
-
/**
|
|
5967
|
-
* Human-readable venue name
|
|
5968
|
-
*/
|
|
5969
|
-
venue_name?: string;
|
|
5970
|
-
/**
|
|
5971
|
-
* Venue type (e.g., 'airport', 'transit', 'retail', 'billboard')
|
|
5972
|
-
*/
|
|
5973
|
-
venue_type?: string;
|
|
5974
|
-
/**
|
|
5975
|
-
* Impressions delivered at this venue
|
|
5976
|
-
*/
|
|
5977
|
-
impressions: number;
|
|
5978
|
-
/**
|
|
5979
|
-
* Loop plays at this venue
|
|
5980
|
-
*/
|
|
5981
|
-
loop_plays?: number;
|
|
5982
|
-
/**
|
|
5983
|
-
* Number of screens used at this venue
|
|
5984
|
-
*/
|
|
5985
|
-
screens_used?: number;
|
|
5986
|
-
[k: string]: unknown | undefined;
|
|
5987
|
-
}[];
|
|
5988
|
-
[k: string]: unknown | undefined;
|
|
5989
|
-
};
|
|
5990
|
-
/**
|
|
5991
|
-
* Viewability metrics. Viewable rate should be calculated as viewable_impressions / measurable_impressions (not total impressions), since some environments cannot measure viewability.
|
|
5992
|
-
*/
|
|
5993
|
-
viewability?: {
|
|
5994
|
-
/**
|
|
5995
|
-
* Impressions where viewability could be measured. Excludes environments without measurement capability (e.g., non-Intersection Observer browsers, certain app environments).
|
|
5996
|
-
*/
|
|
5997
|
-
measurable_impressions?: number;
|
|
5998
|
-
/**
|
|
5999
|
-
* Impressions that met the viewability threshold defined by the measurement standard.
|
|
6000
|
-
*/
|
|
6001
|
-
viewable_impressions?: number;
|
|
6002
|
-
/**
|
|
6003
|
-
* Viewable impression rate (viewable_impressions / measurable_impressions). Range 0.0 to 1.0.
|
|
6004
|
-
*/
|
|
6005
|
-
viewable_rate?: number;
|
|
6006
|
-
/**
|
|
6007
|
-
* Viewability measurement standard. 'mrc': 50% of pixels in view for 1 second (display) or 2 seconds (video), per MRC/IAB guidelines. 'groupm': 100% of pixels in view for the same durations. These are materially different thresholds and should not be compared across standards.
|
|
6008
|
-
*/
|
|
6009
|
-
standard?: 'mrc' | 'groupm';
|
|
6010
|
-
[k: string]: unknown | undefined;
|
|
6011
|
-
};
|
|
6012
|
-
/**
|
|
6013
|
-
* Platform-specific engagement rate (0.0 to 1.0). Definition varies by platform (e.g., likes+comments+shares/impressions on social, interactions/impressions on rich media).
|
|
6014
|
-
*/
|
|
6015
|
-
engagement_rate?: number;
|
|
6016
|
-
/**
|
|
6017
|
-
* Cost per click (spend / clicks)
|
|
6018
|
-
*/
|
|
6019
|
-
cost_per_click?: number;
|
|
6020
|
-
/**
|
|
6021
|
-
* Conversion metrics broken down by action source (website, app, in_store, etc.). Useful for omnichannel sellers where conversions occur across digital and physical channels.
|
|
6022
|
-
*/
|
|
6023
|
-
by_action_source?: {
|
|
6024
|
-
action_source: ActionSource;
|
|
6025
|
-
/**
|
|
6026
|
-
* Event source that produced these conversions (for disambiguation when multiple event sources are configured)
|
|
6027
|
-
*/
|
|
6028
|
-
event_source_id?: string;
|
|
6029
|
-
/**
|
|
6030
|
-
* Number of conversions from this action source
|
|
6031
|
-
*/
|
|
6032
|
-
count: number;
|
|
6033
|
-
/**
|
|
6034
|
-
* Total monetary value of conversions from this action source
|
|
6035
|
-
*/
|
|
6036
|
-
value?: number;
|
|
6037
|
-
[k: string]: unknown | undefined;
|
|
6038
|
-
}[];
|
|
6039
|
-
[k: string]: unknown | undefined;
|
|
5984
|
+
context?: ContextObject;
|
|
5985
|
+
ext?: ExtensionObject;
|
|
6040
5986
|
}
|
|
6041
5987
|
/**
|
|
6042
|
-
*
|
|
5988
|
+
* Format of this creative
|
|
6043
5989
|
*/
|
|
6044
5990
|
export interface Identifier {
|
|
6045
5991
|
type: PropertyIdentifierTypes;
|
|
@@ -6203,7 +6149,7 @@ export type Deployment = {
|
|
|
6203
6149
|
* Whether signal is currently active on this deployment
|
|
6204
6150
|
*/
|
|
6205
6151
|
is_live: boolean;
|
|
6206
|
-
activation_key?:
|
|
6152
|
+
activation_key?: ActivationKey;
|
|
6207
6153
|
/**
|
|
6208
6154
|
* Estimated time to activate if not live, or to complete activation if in progress
|
|
6209
6155
|
*/
|
|
@@ -6245,34 +6191,6 @@ export type ActivationKey = {
|
|
|
6245
6191
|
/**
|
|
6246
6192
|
* The key to use for targeting. Only present if is_live=true AND requester has access to this deployment.
|
|
6247
6193
|
*/
|
|
6248
|
-
export type ActivationKey1 = {
|
|
6249
|
-
/**
|
|
6250
|
-
* Segment ID based targeting
|
|
6251
|
-
*/
|
|
6252
|
-
type: 'segment_id';
|
|
6253
|
-
/**
|
|
6254
|
-
* The platform-specific segment identifier to use in campaign targeting
|
|
6255
|
-
*/
|
|
6256
|
-
segment_id: string;
|
|
6257
|
-
[k: string]: unknown | undefined;
|
|
6258
|
-
} | {
|
|
6259
|
-
/**
|
|
6260
|
-
* Key-value pair based targeting
|
|
6261
|
-
*/
|
|
6262
|
-
type: 'key_value';
|
|
6263
|
-
/**
|
|
6264
|
-
* The targeting parameter key
|
|
6265
|
-
*/
|
|
6266
|
-
key: string;
|
|
6267
|
-
/**
|
|
6268
|
-
* The targeting parameter value
|
|
6269
|
-
*/
|
|
6270
|
-
value: string;
|
|
6271
|
-
[k: string]: unknown | undefined;
|
|
6272
|
-
};
|
|
6273
|
-
/**
|
|
6274
|
-
* Response payload for get_signals task
|
|
6275
|
-
*/
|
|
6276
6194
|
export interface GetSignalsResponse {
|
|
6277
6195
|
/**
|
|
6278
6196
|
* Array of matching signals
|
|
@@ -6837,54 +6755,6 @@ export type AssetAccess = {
|
|
|
6837
6755
|
/**
|
|
6838
6756
|
* Authentication for secured URLs
|
|
6839
6757
|
*/
|
|
6840
|
-
export type AssetAccess1 = {
|
|
6841
|
-
method: 'bearer_token';
|
|
6842
|
-
/**
|
|
6843
|
-
* OAuth2 bearer token for Authorization header
|
|
6844
|
-
*/
|
|
6845
|
-
token: string;
|
|
6846
|
-
} | {
|
|
6847
|
-
method: 'service_account';
|
|
6848
|
-
/**
|
|
6849
|
-
* Cloud provider
|
|
6850
|
-
*/
|
|
6851
|
-
provider: 'gcp' | 'aws';
|
|
6852
|
-
/**
|
|
6853
|
-
* Service account credentials
|
|
6854
|
-
*/
|
|
6855
|
-
credentials?: {
|
|
6856
|
-
[k: string]: unknown | undefined;
|
|
6857
|
-
};
|
|
6858
|
-
} | {
|
|
6859
|
-
method: 'signed_url';
|
|
6860
|
-
};
|
|
6861
|
-
/**
|
|
6862
|
-
* Authentication for secured URLs
|
|
6863
|
-
*/
|
|
6864
|
-
export type AssetAccess2 = {
|
|
6865
|
-
method: 'bearer_token';
|
|
6866
|
-
/**
|
|
6867
|
-
* OAuth2 bearer token for Authorization header
|
|
6868
|
-
*/
|
|
6869
|
-
token: string;
|
|
6870
|
-
} | {
|
|
6871
|
-
method: 'service_account';
|
|
6872
|
-
/**
|
|
6873
|
-
* Cloud provider
|
|
6874
|
-
*/
|
|
6875
|
-
provider: 'gcp' | 'aws';
|
|
6876
|
-
/**
|
|
6877
|
-
* Service account credentials
|
|
6878
|
-
*/
|
|
6879
|
-
credentials?: {
|
|
6880
|
-
[k: string]: unknown | undefined;
|
|
6881
|
-
};
|
|
6882
|
-
} | {
|
|
6883
|
-
method: 'signed_url';
|
|
6884
|
-
};
|
|
6885
|
-
/**
|
|
6886
|
-
* A content standards configuration defining brand safety and suitability policies. Standards are scoped by brand, geography, and channel. Multiple standards can be active simultaneously for different scopes.
|
|
6887
|
-
*/
|
|
6888
6758
|
export interface ContentStandards {
|
|
6889
6759
|
/**
|
|
6890
6760
|
* Unique identifier for this standards configuration
|
|
@@ -7007,7 +6877,7 @@ export interface Artifact {
|
|
|
7007
6877
|
* Video URL
|
|
7008
6878
|
*/
|
|
7009
6879
|
url: string;
|
|
7010
|
-
access?:
|
|
6880
|
+
access?: AssetAccess;
|
|
7011
6881
|
/**
|
|
7012
6882
|
* Video duration in milliseconds
|
|
7013
6883
|
*/
|
|
@@ -7030,7 +6900,7 @@ export interface Artifact {
|
|
|
7030
6900
|
* Audio URL
|
|
7031
6901
|
*/
|
|
7032
6902
|
url: string;
|
|
7033
|
-
access?:
|
|
6903
|
+
access?: AssetAccess;
|
|
7034
6904
|
/**
|
|
7035
6905
|
* Audio duration in milliseconds
|
|
7036
6906
|
*/
|
|
@@ -7206,7 +7076,7 @@ export interface CreateContentStandardsRequest {
|
|
|
7206
7076
|
* BCP 47 language tag for content at this URL
|
|
7207
7077
|
*/
|
|
7208
7078
|
language?: string;
|
|
7209
|
-
} |
|
|
7079
|
+
} | Artifact)[];
|
|
7210
7080
|
};
|
|
7211
7081
|
context?: ContextObject;
|
|
7212
7082
|
ext?: ExtensionObject;
|
|
@@ -7214,184 +7084,6 @@ export interface CreateContentStandardsRequest {
|
|
|
7214
7084
|
/**
|
|
7215
7085
|
* Full artifact with pre-extracted content (text, images, video, audio)
|
|
7216
7086
|
*/
|
|
7217
|
-
export interface Artifact1 {
|
|
7218
|
-
property_id: Identifier;
|
|
7219
|
-
/**
|
|
7220
|
-
* Identifier for this artifact within the property. The property owner defines the scheme (e.g., 'article_12345', 'episode_42_segment_3', 'post_abc123').
|
|
7221
|
-
*/
|
|
7222
|
-
artifact_id: string;
|
|
7223
|
-
/**
|
|
7224
|
-
* Identifies a specific variant of this artifact. Use for A/B tests, translations, or temporal versions. Examples: 'en', 'es-MX', 'v2', 'headline_test_b'. The combination of artifact_id + variant_id must be unique.
|
|
7225
|
-
*/
|
|
7226
|
-
variant_id?: string;
|
|
7227
|
-
format_id?: FormatID;
|
|
7228
|
-
/**
|
|
7229
|
-
* Optional URL for this artifact (web page, podcast feed, video page). Not all artifacts have URLs (e.g., Instagram content, podcast segments, TV scenes).
|
|
7230
|
-
*/
|
|
7231
|
-
url?: string;
|
|
7232
|
-
/**
|
|
7233
|
-
* When the artifact was published (ISO 8601 format)
|
|
7234
|
-
*/
|
|
7235
|
-
published_time?: string;
|
|
7236
|
-
/**
|
|
7237
|
-
* When the artifact was last modified (ISO 8601 format)
|
|
7238
|
-
*/
|
|
7239
|
-
last_update_time?: string;
|
|
7240
|
-
/**
|
|
7241
|
-
* Artifact assets in document flow order - text blocks, images, video, audio
|
|
7242
|
-
*/
|
|
7243
|
-
assets: ({
|
|
7244
|
-
type: 'text';
|
|
7245
|
-
/**
|
|
7246
|
-
* Role of this text in the document. Use 'title' for the main artifact title, 'description' for summaries.
|
|
7247
|
-
*/
|
|
7248
|
-
role?: 'title' | 'paragraph' | 'heading' | 'caption' | 'quote' | 'list_item' | 'description';
|
|
7249
|
-
/**
|
|
7250
|
-
* Text content
|
|
7251
|
-
*/
|
|
7252
|
-
content: string;
|
|
7253
|
-
/**
|
|
7254
|
-
* BCP 47 language tag for this text (e.g., 'en', 'es-MX'). Useful when artifact contains mixed-language content.
|
|
7255
|
-
*/
|
|
7256
|
-
language?: string;
|
|
7257
|
-
/**
|
|
7258
|
-
* Heading level (1-6), only for role=heading
|
|
7259
|
-
*/
|
|
7260
|
-
heading_level?: number;
|
|
7261
|
-
} | {
|
|
7262
|
-
type: 'image';
|
|
7263
|
-
/**
|
|
7264
|
-
* Image URL
|
|
7265
|
-
*/
|
|
7266
|
-
url: string;
|
|
7267
|
-
access?: AssetAccess;
|
|
7268
|
-
/**
|
|
7269
|
-
* Alt text or image description
|
|
7270
|
-
*/
|
|
7271
|
-
alt_text?: string;
|
|
7272
|
-
/**
|
|
7273
|
-
* Image caption
|
|
7274
|
-
*/
|
|
7275
|
-
caption?: string;
|
|
7276
|
-
/**
|
|
7277
|
-
* Image width in pixels
|
|
7278
|
-
*/
|
|
7279
|
-
width?: number;
|
|
7280
|
-
/**
|
|
7281
|
-
* Image height in pixels
|
|
7282
|
-
*/
|
|
7283
|
-
height?: number;
|
|
7284
|
-
} | {
|
|
7285
|
-
type: 'video';
|
|
7286
|
-
/**
|
|
7287
|
-
* Video URL
|
|
7288
|
-
*/
|
|
7289
|
-
url: string;
|
|
7290
|
-
access?: AssetAccess1;
|
|
7291
|
-
/**
|
|
7292
|
-
* Video duration in milliseconds
|
|
7293
|
-
*/
|
|
7294
|
-
duration_ms?: number;
|
|
7295
|
-
/**
|
|
7296
|
-
* Video transcript
|
|
7297
|
-
*/
|
|
7298
|
-
transcript?: string;
|
|
7299
|
-
/**
|
|
7300
|
-
* How the transcript was generated
|
|
7301
|
-
*/
|
|
7302
|
-
transcript_source?: 'original_script' | 'subtitles' | 'closed_captions' | 'dub' | 'generated';
|
|
7303
|
-
/**
|
|
7304
|
-
* Video thumbnail URL
|
|
7305
|
-
*/
|
|
7306
|
-
thumbnail_url?: string;
|
|
7307
|
-
} | {
|
|
7308
|
-
type: 'audio';
|
|
7309
|
-
/**
|
|
7310
|
-
* Audio URL
|
|
7311
|
-
*/
|
|
7312
|
-
url: string;
|
|
7313
|
-
access?: AssetAccess2;
|
|
7314
|
-
/**
|
|
7315
|
-
* Audio duration in milliseconds
|
|
7316
|
-
*/
|
|
7317
|
-
duration_ms?: number;
|
|
7318
|
-
/**
|
|
7319
|
-
* Audio transcript
|
|
7320
|
-
*/
|
|
7321
|
-
transcript?: string;
|
|
7322
|
-
/**
|
|
7323
|
-
* How the transcript was generated
|
|
7324
|
-
*/
|
|
7325
|
-
transcript_source?: 'original_script' | 'closed_captions' | 'generated';
|
|
7326
|
-
})[];
|
|
7327
|
-
/**
|
|
7328
|
-
* Rich metadata extracted from the artifact
|
|
7329
|
-
*/
|
|
7330
|
-
metadata?: {
|
|
7331
|
-
/**
|
|
7332
|
-
* Canonical URL
|
|
7333
|
-
*/
|
|
7334
|
-
canonical?: string;
|
|
7335
|
-
/**
|
|
7336
|
-
* Artifact author name
|
|
7337
|
-
*/
|
|
7338
|
-
author?: string;
|
|
7339
|
-
/**
|
|
7340
|
-
* Artifact keywords
|
|
7341
|
-
*/
|
|
7342
|
-
keywords?: string;
|
|
7343
|
-
/**
|
|
7344
|
-
* Open Graph protocol metadata
|
|
7345
|
-
*/
|
|
7346
|
-
open_graph?: {
|
|
7347
|
-
[k: string]: unknown | undefined;
|
|
7348
|
-
};
|
|
7349
|
-
/**
|
|
7350
|
-
* Twitter Card metadata
|
|
7351
|
-
*/
|
|
7352
|
-
twitter_card?: {
|
|
7353
|
-
[k: string]: unknown | undefined;
|
|
7354
|
-
};
|
|
7355
|
-
/**
|
|
7356
|
-
* JSON-LD structured data (schema.org)
|
|
7357
|
-
*/
|
|
7358
|
-
json_ld?: {}[];
|
|
7359
|
-
[k: string]: unknown | undefined;
|
|
7360
|
-
};
|
|
7361
|
-
/**
|
|
7362
|
-
* Platform-specific identifiers for this artifact
|
|
7363
|
-
*/
|
|
7364
|
-
identifiers?: {
|
|
7365
|
-
/**
|
|
7366
|
-
* Apple Podcasts ID
|
|
7367
|
-
*/
|
|
7368
|
-
apple_podcast_id?: string;
|
|
7369
|
-
/**
|
|
7370
|
-
* Spotify show ID
|
|
7371
|
-
*/
|
|
7372
|
-
spotify_show_id?: string;
|
|
7373
|
-
/**
|
|
7374
|
-
* Podcast GUID (from RSS feed)
|
|
7375
|
-
*/
|
|
7376
|
-
podcast_guid?: string;
|
|
7377
|
-
/**
|
|
7378
|
-
* YouTube video ID
|
|
7379
|
-
*/
|
|
7380
|
-
youtube_video_id?: string;
|
|
7381
|
-
/**
|
|
7382
|
-
* RSS feed URL
|
|
7383
|
-
*/
|
|
7384
|
-
rss_url?: string;
|
|
7385
|
-
[k: string]: unknown | undefined;
|
|
7386
|
-
};
|
|
7387
|
-
[k: string]: unknown | undefined;
|
|
7388
|
-
}
|
|
7389
|
-
/**
|
|
7390
|
-
* 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.
|
|
7391
|
-
*/
|
|
7392
|
-
/**
|
|
7393
|
-
* Response payload for creating a content standards configuration
|
|
7394
|
-
*/
|
|
7395
7087
|
export type CreateContentStandardsResponse = {
|
|
7396
7088
|
/**
|
|
7397
7089
|
* Unique identifier for the created standards configuration
|
|
@@ -7493,7 +7185,7 @@ export interface UpdateContentStandardsRequest {
|
|
|
7493
7185
|
* BCP 47 language tag for content at this URL
|
|
7494
7186
|
*/
|
|
7495
7187
|
language?: string;
|
|
7496
|
-
} |
|
|
7188
|
+
} | Artifact)[];
|
|
7497
7189
|
};
|
|
7498
7190
|
context?: ContextObject;
|
|
7499
7191
|
ext?: ExtensionObject;
|
|
@@ -7871,7 +7563,7 @@ export type GetMediaBuyArtifactsResponse = {
|
|
|
7871
7563
|
*/
|
|
7872
7564
|
export interface SIGetOfferingRequest {
|
|
7873
7565
|
/**
|
|
7874
|
-
* Offering identifier from
|
|
7566
|
+
* Offering identifier from the catalog to get details for
|
|
7875
7567
|
*/
|
|
7876
7568
|
offering_id: string;
|
|
7877
7569
|
/**
|
|
@@ -8517,10 +8209,6 @@ export interface GetAdCPCapabilitiesRequest {
|
|
|
8517
8209
|
/**
|
|
8518
8210
|
* Methods for verifying user age for compliance. Does not include 'inferred' as it is not accepted for regulatory compliance.
|
|
8519
8211
|
*/
|
|
8520
|
-
export type EventType1 = 'page_view' | 'view_content' | 'select_content' | 'select_item' | 'search' | 'share' | 'add_to_cart' | 'remove_from_cart' | 'viewed_cart' | 'add_to_wishlist' | 'initiate_checkout' | 'add_payment_info' | 'purchase' | 'refund' | 'lead' | 'qualify_lead' | 'close_convert_lead' | 'disqualify_lead' | 'complete_registration' | 'subscribe' | 'start_trial' | 'app_install' | 'app_launch' | 'contact' | 'schedule' | 'donate' | 'submit_application' | 'custom';
|
|
8521
|
-
/**
|
|
8522
|
-
* Standardized advertising media channels describing how buyers allocate budget. Channels are planning abstractions, not technical substrates. See the Media Channel Taxonomy specification for detailed definitions.
|
|
8523
|
-
*/
|
|
8524
8212
|
export interface GetAdCPCapabilitiesResponse {
|
|
8525
8213
|
/**
|
|
8526
8214
|
* Core AdCP protocol information
|
|
@@ -8747,7 +8435,7 @@ export interface GetAdCPCapabilitiesResponse {
|
|
|
8747
8435
|
* Attribution windows available from this seller. Single-element arrays indicate fixed windows; multi-element arrays indicate configurable options the buyer can choose from via optimization_goal.attribution_window on packages.
|
|
8748
8436
|
*/
|
|
8749
8437
|
attribution_windows?: {
|
|
8750
|
-
event_type?:
|
|
8438
|
+
event_type?: EventType;
|
|
8751
8439
|
/**
|
|
8752
8440
|
* Available click-through attribution windows (e.g. ["7d"], ["7d", "14d", "30d"])
|
|
8753
8441
|
*/
|