@adcp/client 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +166 -0
- package/dist/lib/agents/index.generated.d.ts +147 -0
- package/dist/lib/agents/index.generated.d.ts.map +1 -0
- package/dist/lib/agents/index.generated.js +218 -0
- package/dist/lib/agents/index.generated.js.map +1 -0
- package/dist/lib/auth/index.d.ts +22 -0
- package/dist/lib/auth/index.d.ts.map +1 -0
- package/dist/lib/auth/index.js +73 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/core/ADCPClient.d.ts +233 -0
- package/dist/lib/core/ADCPClient.d.ts.map +1 -0
- package/dist/lib/core/ADCPClient.js +287 -0
- package/dist/lib/core/ADCPClient.js.map +1 -0
- package/dist/lib/core/ADCPMultiAgentClient.d.ts +308 -0
- package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -0
- package/dist/lib/core/ADCPMultiAgentClient.js +468 -0
- package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -0
- package/dist/lib/core/AgentClient.d.ts +124 -0
- package/dist/lib/core/AgentClient.d.ts.map +1 -0
- package/dist/lib/core/AgentClient.js +242 -0
- package/dist/lib/core/AgentClient.js.map +1 -0
- package/dist/lib/core/ConfigurationManager.d.ts +79 -0
- package/dist/lib/core/ConfigurationManager.d.ts.map +1 -0
- package/dist/lib/core/ConfigurationManager.js +254 -0
- package/dist/lib/core/ConfigurationManager.js.map +1 -0
- package/dist/lib/core/ConversationTypes.d.ts +242 -0
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -0
- package/dist/lib/core/ConversationTypes.js +5 -0
- package/dist/lib/core/ConversationTypes.js.map +1 -0
- package/dist/lib/core/ProtocolResponseParser.d.ts +45 -0
- package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -0
- package/dist/lib/core/ProtocolResponseParser.js +82 -0
- package/dist/lib/core/ProtocolResponseParser.js.map +1 -0
- package/dist/lib/core/TaskExecutor.d.ts +108 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -0
- package/dist/lib/core/TaskExecutor.js +422 -0
- package/dist/lib/core/TaskExecutor.js.map +1 -0
- package/dist/lib/errors/index.d.ts +125 -0
- package/dist/lib/errors/index.d.ts.map +1 -0
- package/dist/lib/errors/index.js +211 -0
- package/dist/lib/errors/index.js.map +1 -0
- package/dist/lib/handlers/types.d.ts +119 -0
- package/dist/lib/handlers/types.d.ts.map +1 -0
- package/dist/lib/handlers/types.js +239 -0
- package/dist/lib/handlers/types.js.map +1 -0
- package/dist/lib/index.d.ts +51 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +122 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/protocols/a2a.d.ts +2 -0
- package/dist/lib/protocols/a2a.d.ts.map +1 -0
- package/dist/lib/protocols/a2a.js +70 -0
- package/dist/lib/protocols/a2a.js.map +1 -0
- package/dist/lib/protocols/index.d.ts +22 -0
- package/dist/lib/protocols/index.d.ts.map +1 -0
- package/dist/lib/protocols/index.js +47 -0
- package/dist/lib/protocols/index.js.map +1 -0
- package/dist/lib/protocols/mcp.d.ts +2 -0
- package/dist/lib/protocols/mcp.d.ts.map +1 -0
- package/dist/lib/protocols/mcp.js +127 -0
- package/dist/lib/protocols/mcp.js.map +1 -0
- package/dist/lib/storage/MemoryStorage.d.ts +93 -0
- package/dist/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/dist/lib/storage/MemoryStorage.js +219 -0
- package/dist/lib/storage/MemoryStorage.js.map +1 -0
- package/dist/lib/storage/interfaces.d.ts +195 -0
- package/dist/lib/storage/interfaces.d.ts.map +1 -0
- package/dist/lib/storage/interfaces.js +5 -0
- package/dist/lib/storage/interfaces.js.map +1 -0
- package/dist/lib/types/adcp.d.ts +407 -0
- package/dist/lib/types/adcp.d.ts.map +1 -0
- package/dist/lib/types/adcp.js +5 -0
- package/dist/lib/types/adcp.js.map +1 -0
- package/dist/lib/types/core.generated.d.ts +469 -0
- package/dist/lib/types/core.generated.d.ts.map +1 -0
- package/dist/lib/types/core.generated.js +5 -0
- package/dist/lib/types/core.generated.js.map +1 -0
- package/dist/lib/types/index.d.ts +3 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/types/index.js +19 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/tools.generated.d.ts +1674 -0
- package/dist/lib/types/tools.generated.d.ts.map +1 -0
- package/dist/lib/types/tools.generated.js +8 -0
- package/dist/lib/types/tools.generated.js.map +1 -0
- package/dist/lib/utils/index.d.ts +25 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +109 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/validation/index.d.ts +29 -0
- package/dist/lib/validation/index.d.ts.map +1 -0
- package/dist/lib/validation/index.js +186 -0
- package/dist/lib/validation/index.js.map +1 -0
- package/dist/lib/version.d.ts +22 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +32 -0
- package/dist/lib/version.js.map +1 -0
- package/package.json +108 -0
|
@@ -0,0 +1,1674 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type of inventory delivery
|
|
3
|
+
*/
|
|
4
|
+
export type DeliveryType = 'guaranteed' | 'non_guaranteed';
|
|
5
|
+
/**
|
|
6
|
+
* Request parameters for discovering available advertising products
|
|
7
|
+
*/
|
|
8
|
+
export interface GetProductsRequest {
|
|
9
|
+
/**
|
|
10
|
+
* AdCP schema version for this request
|
|
11
|
+
*/
|
|
12
|
+
adcp_version?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Natural language description of campaign requirements
|
|
15
|
+
*/
|
|
16
|
+
brief?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Description of advertiser and what is being promoted
|
|
19
|
+
*/
|
|
20
|
+
promoted_offering: string;
|
|
21
|
+
/**
|
|
22
|
+
* Structured filters for product discovery
|
|
23
|
+
*/
|
|
24
|
+
filters?: {
|
|
25
|
+
delivery_type?: DeliveryType;
|
|
26
|
+
/**
|
|
27
|
+
* Filter for fixed price vs auction products
|
|
28
|
+
*/
|
|
29
|
+
is_fixed_price?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Filter by format types
|
|
32
|
+
*/
|
|
33
|
+
format_types?: ('video' | 'display' | 'audio')[];
|
|
34
|
+
/**
|
|
35
|
+
* Filter by specific format IDs
|
|
36
|
+
*/
|
|
37
|
+
format_ids?: string[];
|
|
38
|
+
/**
|
|
39
|
+
* Only return products accepting IAB standard formats
|
|
40
|
+
*/
|
|
41
|
+
standard_formats_only?: boolean;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Current task state
|
|
46
|
+
*/
|
|
47
|
+
export type TaskStatus = 'submitted' | 'working' | 'input-required' | 'completed' | 'canceled' | 'failed' | 'rejected' | 'auth-required' | 'unknown';
|
|
48
|
+
/**
|
|
49
|
+
* Represents available advertising inventory
|
|
50
|
+
*/
|
|
51
|
+
export type Product = Product1 & Product2;
|
|
52
|
+
/**
|
|
53
|
+
* Type of identifier for this property
|
|
54
|
+
*/
|
|
55
|
+
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';
|
|
56
|
+
/**
|
|
57
|
+
* Type of inventory delivery
|
|
58
|
+
*/
|
|
59
|
+
export type Product2 = {
|
|
60
|
+
[k: string]: unknown;
|
|
61
|
+
} | {
|
|
62
|
+
[k: string]: unknown;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Response payload for get_products task
|
|
66
|
+
*/
|
|
67
|
+
export interface GetProductsResponse {
|
|
68
|
+
/**
|
|
69
|
+
* AdCP schema version used for this response
|
|
70
|
+
*/
|
|
71
|
+
adcp_version: string;
|
|
72
|
+
status?: TaskStatus;
|
|
73
|
+
/**
|
|
74
|
+
* Array of matching products
|
|
75
|
+
*/
|
|
76
|
+
products: Product[];
|
|
77
|
+
/**
|
|
78
|
+
* Task-specific errors and warnings (e.g., product filtering issues)
|
|
79
|
+
*/
|
|
80
|
+
errors?: Error[];
|
|
81
|
+
}
|
|
82
|
+
export interface Product1 {
|
|
83
|
+
/**
|
|
84
|
+
* Unique identifier for the product
|
|
85
|
+
*/
|
|
86
|
+
product_id: string;
|
|
87
|
+
/**
|
|
88
|
+
* Human-readable product name
|
|
89
|
+
*/
|
|
90
|
+
name: string;
|
|
91
|
+
/**
|
|
92
|
+
* Detailed description of the product and its inventory
|
|
93
|
+
*/
|
|
94
|
+
description: string;
|
|
95
|
+
/**
|
|
96
|
+
* Array of advertising properties covered by this product for adagents.json validation
|
|
97
|
+
*
|
|
98
|
+
* @minItems 1
|
|
99
|
+
*/
|
|
100
|
+
properties?: [Property, ...Property[]];
|
|
101
|
+
/**
|
|
102
|
+
* Tags identifying groups of properties covered by this product (use list_authorized_properties to get full property details)
|
|
103
|
+
*
|
|
104
|
+
* @minItems 1
|
|
105
|
+
*/
|
|
106
|
+
property_tags?: [string, ...string[]];
|
|
107
|
+
/**
|
|
108
|
+
* Array of supported creative format IDs - use list_creative_formats to get full format details
|
|
109
|
+
*/
|
|
110
|
+
format_ids: string[];
|
|
111
|
+
delivery_type: DeliveryType;
|
|
112
|
+
/**
|
|
113
|
+
* Whether this product has fixed pricing (true) or uses auction (false)
|
|
114
|
+
*/
|
|
115
|
+
is_fixed_price: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Cost per thousand impressions in USD
|
|
118
|
+
*/
|
|
119
|
+
cpm?: number;
|
|
120
|
+
/**
|
|
121
|
+
* Minimum budget requirement in USD
|
|
122
|
+
*/
|
|
123
|
+
min_spend?: number;
|
|
124
|
+
measurement?: Measurement;
|
|
125
|
+
creative_policy?: CreativePolicy;
|
|
126
|
+
/**
|
|
127
|
+
* Whether this is a custom product
|
|
128
|
+
*/
|
|
129
|
+
is_custom?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Explanation of why this product matches the brief (only included when brief is provided)
|
|
132
|
+
*/
|
|
133
|
+
brief_relevance?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Expiration timestamp for custom products
|
|
136
|
+
*/
|
|
137
|
+
expires_at?: string;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* An advertising property that can be validated via adagents.json
|
|
141
|
+
*/
|
|
142
|
+
export interface Property {
|
|
143
|
+
/**
|
|
144
|
+
* Type of advertising property
|
|
145
|
+
*/
|
|
146
|
+
property_type: 'website' | 'mobile_app' | 'ctv_app' | 'dooh' | 'podcast' | 'radio' | 'streaming_audio';
|
|
147
|
+
/**
|
|
148
|
+
* Human-readable property name
|
|
149
|
+
*/
|
|
150
|
+
name: string;
|
|
151
|
+
/**
|
|
152
|
+
* Array of identifiers for this property
|
|
153
|
+
*
|
|
154
|
+
* @minItems 1
|
|
155
|
+
*/
|
|
156
|
+
identifiers: [
|
|
157
|
+
{
|
|
158
|
+
type: PropertyIdentifierTypes;
|
|
159
|
+
/**
|
|
160
|
+
* The identifier value. For domain type: 'example.com' matches www.example.com and m.example.com only; 'subdomain.example.com' matches that specific subdomain; '*.example.com' matches all subdomains
|
|
161
|
+
*/
|
|
162
|
+
value: string;
|
|
163
|
+
},
|
|
164
|
+
...{
|
|
165
|
+
type: PropertyIdentifierTypes;
|
|
166
|
+
/**
|
|
167
|
+
* The identifier value. For domain type: 'example.com' matches www.example.com and m.example.com only; 'subdomain.example.com' matches that specific subdomain; '*.example.com' matches all subdomains
|
|
168
|
+
*/
|
|
169
|
+
value: string;
|
|
170
|
+
}[]
|
|
171
|
+
];
|
|
172
|
+
/**
|
|
173
|
+
* Tags for categorization and grouping (e.g., network membership, content categories)
|
|
174
|
+
*/
|
|
175
|
+
tags?: string[];
|
|
176
|
+
/**
|
|
177
|
+
* Domain where adagents.json should be checked for authorization validation
|
|
178
|
+
*/
|
|
179
|
+
publisher_domain: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Measurement capabilities included with a product
|
|
183
|
+
*/
|
|
184
|
+
export interface Measurement {
|
|
185
|
+
/**
|
|
186
|
+
* Type of measurement
|
|
187
|
+
*/
|
|
188
|
+
type: string;
|
|
189
|
+
/**
|
|
190
|
+
* Attribution methodology
|
|
191
|
+
*/
|
|
192
|
+
attribution: string;
|
|
193
|
+
/**
|
|
194
|
+
* Attribution window
|
|
195
|
+
*/
|
|
196
|
+
window?: string;
|
|
197
|
+
/**
|
|
198
|
+
* Reporting frequency and format
|
|
199
|
+
*/
|
|
200
|
+
reporting: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Creative requirements and restrictions for a product
|
|
204
|
+
*/
|
|
205
|
+
export interface CreativePolicy {
|
|
206
|
+
/**
|
|
207
|
+
* Co-branding requirement
|
|
208
|
+
*/
|
|
209
|
+
co_branding: 'required' | 'optional' | 'none';
|
|
210
|
+
/**
|
|
211
|
+
* Landing page requirements
|
|
212
|
+
*/
|
|
213
|
+
landing_page: 'any' | 'retailer_site_only' | 'must_include_retailer';
|
|
214
|
+
/**
|
|
215
|
+
* Whether creative templates are provided
|
|
216
|
+
*/
|
|
217
|
+
templates_available: boolean;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Standard error structure for task-specific errors and warnings
|
|
221
|
+
*/
|
|
222
|
+
export interface Error {
|
|
223
|
+
/**
|
|
224
|
+
* Error code for programmatic handling
|
|
225
|
+
*/
|
|
226
|
+
code: string;
|
|
227
|
+
/**
|
|
228
|
+
* Human-readable error message
|
|
229
|
+
*/
|
|
230
|
+
message: string;
|
|
231
|
+
/**
|
|
232
|
+
* Field path associated with the error (e.g., 'packages[0].targeting')
|
|
233
|
+
*/
|
|
234
|
+
field?: string;
|
|
235
|
+
/**
|
|
236
|
+
* Suggested fix for the error
|
|
237
|
+
*/
|
|
238
|
+
suggestion?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Seconds to wait before retrying the operation
|
|
241
|
+
*/
|
|
242
|
+
retry_after?: number;
|
|
243
|
+
/**
|
|
244
|
+
* Additional task-specific error details
|
|
245
|
+
*/
|
|
246
|
+
details?: {
|
|
247
|
+
[k: string]: unknown;
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Request parameters for discovering supported creative formats
|
|
252
|
+
*/
|
|
253
|
+
export interface ListCreativeFormatsRequest {
|
|
254
|
+
/**
|
|
255
|
+
* AdCP schema version for this request
|
|
256
|
+
*/
|
|
257
|
+
adcp_version?: string;
|
|
258
|
+
/**
|
|
259
|
+
* Filter by format type
|
|
260
|
+
*/
|
|
261
|
+
type?: 'audio' | 'video' | 'display';
|
|
262
|
+
/**
|
|
263
|
+
* Only return IAB standard formats
|
|
264
|
+
*/
|
|
265
|
+
standard_only?: boolean;
|
|
266
|
+
/**
|
|
267
|
+
* Filter by format category
|
|
268
|
+
*/
|
|
269
|
+
category?: 'standard' | 'custom';
|
|
270
|
+
/**
|
|
271
|
+
* Filter by specific format IDs (e.g., from get_products response)
|
|
272
|
+
*/
|
|
273
|
+
format_ids?: string[];
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Current task state
|
|
277
|
+
*/
|
|
278
|
+
export type CreativeAsset = CreativeAsset1 & CreativeAsset2;
|
|
279
|
+
/**
|
|
280
|
+
* Type of snippet content
|
|
281
|
+
*/
|
|
282
|
+
export type SnippetType = 'vast_xml' | 'vast_url' | 'html' | 'javascript' | 'iframe' | 'daast_url';
|
|
283
|
+
/**
|
|
284
|
+
* Sub-asset for multi-asset creative formats, including carousel images and native ad template variables
|
|
285
|
+
*/
|
|
286
|
+
export type SubAsset = SubAsset1 & SubAsset2;
|
|
287
|
+
export type SubAsset2 = {
|
|
288
|
+
[k: string]: unknown;
|
|
289
|
+
} | {
|
|
290
|
+
[k: string]: unknown;
|
|
291
|
+
};
|
|
292
|
+
export type CreativeAsset2 = {
|
|
293
|
+
[k: string]: unknown;
|
|
294
|
+
} | {
|
|
295
|
+
[k: string]: unknown;
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* Response payload for list_creative_formats task
|
|
299
|
+
*/
|
|
300
|
+
export interface ListCreativeFormatsResponse {
|
|
301
|
+
/**
|
|
302
|
+
* AdCP schema version used for this response
|
|
303
|
+
*/
|
|
304
|
+
adcp_version: string;
|
|
305
|
+
status?: TaskStatus;
|
|
306
|
+
/**
|
|
307
|
+
* Array of available creative formats
|
|
308
|
+
*/
|
|
309
|
+
formats: Format[];
|
|
310
|
+
/**
|
|
311
|
+
* Task-specific errors and warnings (e.g., format availability issues)
|
|
312
|
+
*/
|
|
313
|
+
errors?: Error[];
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Represents a creative format with its requirements
|
|
317
|
+
*/
|
|
318
|
+
export interface Format {
|
|
319
|
+
/**
|
|
320
|
+
* Unique identifier for the format
|
|
321
|
+
*/
|
|
322
|
+
format_id: string;
|
|
323
|
+
/**
|
|
324
|
+
* Human-readable format name
|
|
325
|
+
*/
|
|
326
|
+
name: string;
|
|
327
|
+
/**
|
|
328
|
+
* Media type of this format - determines rendering method and asset requirements
|
|
329
|
+
*/
|
|
330
|
+
type: 'audio' | 'video' | 'display' | 'native' | 'dooh' | 'rich_media' | 'universal';
|
|
331
|
+
/**
|
|
332
|
+
* Format category
|
|
333
|
+
*/
|
|
334
|
+
category?: 'standard' | 'custom';
|
|
335
|
+
/**
|
|
336
|
+
* Whether this format follows IAB specifications or AdCP standard format definitions (found in /schemas/v1/standard-formats/)
|
|
337
|
+
*/
|
|
338
|
+
is_standard?: boolean;
|
|
339
|
+
/**
|
|
340
|
+
* Technical specifications for this format (e.g., dimensions, duration, file size limits, codecs)
|
|
341
|
+
*/
|
|
342
|
+
requirements?: {
|
|
343
|
+
[k: string]: unknown;
|
|
344
|
+
};
|
|
345
|
+
/**
|
|
346
|
+
* Array of required assets for this format
|
|
347
|
+
*/
|
|
348
|
+
assets_required?: CreativeAsset[];
|
|
349
|
+
/**
|
|
350
|
+
* Array of optional assets that may be included
|
|
351
|
+
*/
|
|
352
|
+
optional_assets?: CreativeAsset2[];
|
|
353
|
+
/**
|
|
354
|
+
* Delivery method specifications (e.g., hosted, VAST, third-party tags)
|
|
355
|
+
*/
|
|
356
|
+
delivery?: {
|
|
357
|
+
[k: string]: unknown;
|
|
358
|
+
};
|
|
359
|
+
/**
|
|
360
|
+
* Whether this format can accept third-party served creative tags as an alternative to hosted assets
|
|
361
|
+
*/
|
|
362
|
+
accepts_3p_tags?: boolean;
|
|
363
|
+
}
|
|
364
|
+
export interface CreativeAsset1 {
|
|
365
|
+
/**
|
|
366
|
+
* Unique identifier for the creative
|
|
367
|
+
*/
|
|
368
|
+
creative_id: string;
|
|
369
|
+
/**
|
|
370
|
+
* Human-readable creative name
|
|
371
|
+
*/
|
|
372
|
+
name: string;
|
|
373
|
+
/**
|
|
374
|
+
* Creative format type (e.g., video, audio, display)
|
|
375
|
+
*/
|
|
376
|
+
format: string;
|
|
377
|
+
/**
|
|
378
|
+
* URL of the creative file (for hosted assets)
|
|
379
|
+
*/
|
|
380
|
+
media_url?: string;
|
|
381
|
+
/**
|
|
382
|
+
* Third-party tag, VAST XML, or code snippet (for third-party served assets)
|
|
383
|
+
*/
|
|
384
|
+
snippet?: string;
|
|
385
|
+
snippet_type?: SnippetType;
|
|
386
|
+
/**
|
|
387
|
+
* Landing page URL for the creative
|
|
388
|
+
*/
|
|
389
|
+
click_url?: string;
|
|
390
|
+
/**
|
|
391
|
+
* Duration in milliseconds (for video/audio)
|
|
392
|
+
*/
|
|
393
|
+
duration?: number;
|
|
394
|
+
/**
|
|
395
|
+
* Width in pixels (for video/display)
|
|
396
|
+
*/
|
|
397
|
+
width?: number;
|
|
398
|
+
/**
|
|
399
|
+
* Height in pixels (for video/display)
|
|
400
|
+
*/
|
|
401
|
+
height?: number;
|
|
402
|
+
/**
|
|
403
|
+
* User-defined tags for organization and searchability
|
|
404
|
+
*/
|
|
405
|
+
tags?: string[];
|
|
406
|
+
/**
|
|
407
|
+
* Sub-assets for multi-asset formats like carousels
|
|
408
|
+
*/
|
|
409
|
+
assets?: SubAsset[];
|
|
410
|
+
}
|
|
411
|
+
export interface SubAsset1 {
|
|
412
|
+
/**
|
|
413
|
+
* Type of asset. Common types: headline, body_text, thumbnail_image, product_image, featured_image, logo, cta_text, price_text, sponsor_name, author_name, click_url
|
|
414
|
+
*/
|
|
415
|
+
asset_type?: string;
|
|
416
|
+
/**
|
|
417
|
+
* Unique identifier for the asset within the creative
|
|
418
|
+
*/
|
|
419
|
+
asset_id?: string;
|
|
420
|
+
/**
|
|
421
|
+
* URL for media assets (images, videos, etc.)
|
|
422
|
+
*/
|
|
423
|
+
content_uri?: string;
|
|
424
|
+
/**
|
|
425
|
+
* Text content for text-based assets like headlines, body text, CTA text, etc.
|
|
426
|
+
*/
|
|
427
|
+
content?: string | string[];
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Standard error structure for task-specific errors and warnings
|
|
431
|
+
*/
|
|
432
|
+
/**
|
|
433
|
+
* Budget pacing strategy
|
|
434
|
+
*/
|
|
435
|
+
export type Pacing = 'even' | 'asap' | 'front_loaded';
|
|
436
|
+
/**
|
|
437
|
+
* Request parameters for creating a media buy
|
|
438
|
+
*/
|
|
439
|
+
export interface CreateMediaBuyRequest {
|
|
440
|
+
/**
|
|
441
|
+
* AdCP schema version for this request
|
|
442
|
+
*/
|
|
443
|
+
adcp_version?: string;
|
|
444
|
+
/**
|
|
445
|
+
* Buyer's reference identifier for this media buy
|
|
446
|
+
*/
|
|
447
|
+
buyer_ref: string;
|
|
448
|
+
/**
|
|
449
|
+
* Array of package configurations
|
|
450
|
+
*/
|
|
451
|
+
packages: ({
|
|
452
|
+
[k: string]: unknown;
|
|
453
|
+
} | {
|
|
454
|
+
[k: string]: unknown;
|
|
455
|
+
})[];
|
|
456
|
+
/**
|
|
457
|
+
* Description of advertiser and what is being promoted
|
|
458
|
+
*/
|
|
459
|
+
promoted_offering: string;
|
|
460
|
+
/**
|
|
461
|
+
* Purchase order number for tracking
|
|
462
|
+
*/
|
|
463
|
+
po_number?: string;
|
|
464
|
+
/**
|
|
465
|
+
* Campaign start date/time in ISO 8601 format
|
|
466
|
+
*/
|
|
467
|
+
start_time: string;
|
|
468
|
+
/**
|
|
469
|
+
* Campaign end date/time in ISO 8601 format
|
|
470
|
+
*/
|
|
471
|
+
end_time: string;
|
|
472
|
+
budget: Budget;
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Budget configuration for a media buy or package
|
|
476
|
+
*/
|
|
477
|
+
export interface Budget {
|
|
478
|
+
/**
|
|
479
|
+
* Total budget amount
|
|
480
|
+
*/
|
|
481
|
+
total: number;
|
|
482
|
+
/**
|
|
483
|
+
* ISO 4217 currency code
|
|
484
|
+
*/
|
|
485
|
+
currency: string;
|
|
486
|
+
pacing?: Pacing;
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Current task state - typically 'completed' for successful creation or 'input-required' if approval needed
|
|
490
|
+
*/
|
|
491
|
+
export interface CreateMediaBuyResponse {
|
|
492
|
+
/**
|
|
493
|
+
* AdCP schema version used for this response
|
|
494
|
+
*/
|
|
495
|
+
adcp_version: string;
|
|
496
|
+
status?: TaskStatus;
|
|
497
|
+
/**
|
|
498
|
+
* Publisher's unique identifier for the created media buy
|
|
499
|
+
*/
|
|
500
|
+
media_buy_id: string;
|
|
501
|
+
/**
|
|
502
|
+
* Buyer's reference identifier for this media buy
|
|
503
|
+
*/
|
|
504
|
+
buyer_ref: string;
|
|
505
|
+
/**
|
|
506
|
+
* ISO 8601 timestamp for creative upload deadline
|
|
507
|
+
*/
|
|
508
|
+
creative_deadline?: string;
|
|
509
|
+
/**
|
|
510
|
+
* Array of created packages
|
|
511
|
+
*/
|
|
512
|
+
packages: {
|
|
513
|
+
/**
|
|
514
|
+
* Publisher's unique identifier for the package
|
|
515
|
+
*/
|
|
516
|
+
package_id: string;
|
|
517
|
+
/**
|
|
518
|
+
* Buyer's reference identifier for the package
|
|
519
|
+
*/
|
|
520
|
+
buyer_ref: string;
|
|
521
|
+
}[];
|
|
522
|
+
/**
|
|
523
|
+
* Task-specific errors and warnings (e.g., partial package creation failures)
|
|
524
|
+
*/
|
|
525
|
+
errors?: Error[];
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Standard error structure for task-specific errors and warnings
|
|
529
|
+
*/
|
|
530
|
+
/**
|
|
531
|
+
* Creative asset for upload to library - supports both hosted assets and third-party snippets
|
|
532
|
+
*/
|
|
533
|
+
export interface SyncCreativesRequest {
|
|
534
|
+
/**
|
|
535
|
+
* AdCP schema version for this request
|
|
536
|
+
*/
|
|
537
|
+
adcp_version?: string;
|
|
538
|
+
/**
|
|
539
|
+
* Array of creative assets to sync (create or update)
|
|
540
|
+
*
|
|
541
|
+
* @maxItems 100
|
|
542
|
+
*/
|
|
543
|
+
creatives: CreativeAsset[];
|
|
544
|
+
/**
|
|
545
|
+
* When true, only provided fields are updated (partial update). When false, entire creative is replaced (full upsert).
|
|
546
|
+
*/
|
|
547
|
+
patch?: boolean;
|
|
548
|
+
/**
|
|
549
|
+
* Optional bulk assignment of creatives to packages
|
|
550
|
+
*/
|
|
551
|
+
assignments?: {
|
|
552
|
+
/**
|
|
553
|
+
* Array of package IDs to assign this creative to
|
|
554
|
+
*
|
|
555
|
+
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
556
|
+
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
|
557
|
+
*/
|
|
558
|
+
[k: string]: string[];
|
|
559
|
+
};
|
|
560
|
+
/**
|
|
561
|
+
* When true, creatives not included in this sync will be archived. Use with caution for full library replacement.
|
|
562
|
+
*/
|
|
563
|
+
delete_missing?: boolean;
|
|
564
|
+
/**
|
|
565
|
+
* When true, preview changes without applying them. Returns what would be created/updated/deleted.
|
|
566
|
+
*/
|
|
567
|
+
dry_run?: boolean;
|
|
568
|
+
/**
|
|
569
|
+
* Validation strictness. 'strict' fails entire sync on any validation error. 'lenient' processes valid creatives and reports errors.
|
|
570
|
+
*/
|
|
571
|
+
validation_mode?: 'strict' | 'lenient';
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Current approval status of the creative
|
|
575
|
+
*/
|
|
576
|
+
export type CreativeStatus = 'processing' | 'approved' | 'rejected' | 'pending_review';
|
|
577
|
+
/**
|
|
578
|
+
* Response from creative sync operation with detailed results and bulk operation summary
|
|
579
|
+
*/
|
|
580
|
+
export interface SyncCreativesResponse {
|
|
581
|
+
/**
|
|
582
|
+
* AdCP schema version used for this response
|
|
583
|
+
*/
|
|
584
|
+
adcp_version: string;
|
|
585
|
+
/**
|
|
586
|
+
* Human-readable result message summarizing the sync operation
|
|
587
|
+
*/
|
|
588
|
+
message: string;
|
|
589
|
+
/**
|
|
590
|
+
* Context ID for tracking async operations
|
|
591
|
+
*/
|
|
592
|
+
context_id?: string;
|
|
593
|
+
/**
|
|
594
|
+
* Whether this was a dry run (no actual changes made)
|
|
595
|
+
*/
|
|
596
|
+
dry_run?: boolean;
|
|
597
|
+
/**
|
|
598
|
+
* High-level summary of sync operation results
|
|
599
|
+
*/
|
|
600
|
+
summary: {
|
|
601
|
+
/**
|
|
602
|
+
* Total number of creatives processed
|
|
603
|
+
*/
|
|
604
|
+
total_processed: number;
|
|
605
|
+
/**
|
|
606
|
+
* Number of new creatives created
|
|
607
|
+
*/
|
|
608
|
+
created: number;
|
|
609
|
+
/**
|
|
610
|
+
* Number of existing creatives updated
|
|
611
|
+
*/
|
|
612
|
+
updated: number;
|
|
613
|
+
/**
|
|
614
|
+
* Number of creatives that were already up-to-date
|
|
615
|
+
*/
|
|
616
|
+
unchanged: number;
|
|
617
|
+
/**
|
|
618
|
+
* Number of creatives that failed validation or processing
|
|
619
|
+
*/
|
|
620
|
+
failed: number;
|
|
621
|
+
/**
|
|
622
|
+
* Number of creatives deleted/archived (when delete_missing=true)
|
|
623
|
+
*/
|
|
624
|
+
deleted?: number;
|
|
625
|
+
};
|
|
626
|
+
/**
|
|
627
|
+
* Detailed results for each creative processed
|
|
628
|
+
*/
|
|
629
|
+
results: {
|
|
630
|
+
/**
|
|
631
|
+
* Creative ID from the request
|
|
632
|
+
*/
|
|
633
|
+
creative_id: string;
|
|
634
|
+
/**
|
|
635
|
+
* Action taken for this creative
|
|
636
|
+
*/
|
|
637
|
+
action: 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
|
|
638
|
+
status?: CreativeStatus;
|
|
639
|
+
/**
|
|
640
|
+
* Platform-specific ID assigned to the creative
|
|
641
|
+
*/
|
|
642
|
+
platform_id?: string;
|
|
643
|
+
/**
|
|
644
|
+
* List of field names that were modified (for 'updated' action)
|
|
645
|
+
*/
|
|
646
|
+
changes?: string[];
|
|
647
|
+
/**
|
|
648
|
+
* Validation or processing errors (for 'failed' action)
|
|
649
|
+
*/
|
|
650
|
+
errors?: string[];
|
|
651
|
+
/**
|
|
652
|
+
* Non-fatal warnings about this creative
|
|
653
|
+
*/
|
|
654
|
+
warnings?: string[];
|
|
655
|
+
/**
|
|
656
|
+
* Feedback from platform review process
|
|
657
|
+
*/
|
|
658
|
+
review_feedback?: string;
|
|
659
|
+
/**
|
|
660
|
+
* Recommended creative adaptations for better performance
|
|
661
|
+
*/
|
|
662
|
+
suggested_adaptations?: {
|
|
663
|
+
/**
|
|
664
|
+
* Unique identifier for this adaptation
|
|
665
|
+
*/
|
|
666
|
+
adaptation_id: string;
|
|
667
|
+
/**
|
|
668
|
+
* Target format ID for the adaptation
|
|
669
|
+
*/
|
|
670
|
+
format_id: string;
|
|
671
|
+
/**
|
|
672
|
+
* Suggested name for the adapted creative
|
|
673
|
+
*/
|
|
674
|
+
name: string;
|
|
675
|
+
/**
|
|
676
|
+
* What this adaptation does
|
|
677
|
+
*/
|
|
678
|
+
description: string;
|
|
679
|
+
/**
|
|
680
|
+
* Expected performance improvement (percentage)
|
|
681
|
+
*/
|
|
682
|
+
estimated_performance_lift?: number;
|
|
683
|
+
}[];
|
|
684
|
+
}[];
|
|
685
|
+
/**
|
|
686
|
+
* Summary of assignment operations (when assignments were included in request)
|
|
687
|
+
*/
|
|
688
|
+
assignments_summary?: {
|
|
689
|
+
/**
|
|
690
|
+
* Total number of creative-package assignment operations processed
|
|
691
|
+
*/
|
|
692
|
+
total_assignments_processed: number;
|
|
693
|
+
/**
|
|
694
|
+
* Number of successful creative-package assignments
|
|
695
|
+
*/
|
|
696
|
+
assigned: number;
|
|
697
|
+
/**
|
|
698
|
+
* Number of creative-package unassignments
|
|
699
|
+
*/
|
|
700
|
+
unassigned: number;
|
|
701
|
+
/**
|
|
702
|
+
* Number of assignment operations that failed
|
|
703
|
+
*/
|
|
704
|
+
failed: number;
|
|
705
|
+
};
|
|
706
|
+
/**
|
|
707
|
+
* Detailed assignment results (when assignments were included in request)
|
|
708
|
+
*/
|
|
709
|
+
assignment_results?: {
|
|
710
|
+
/**
|
|
711
|
+
* Creative that was assigned/unassigned
|
|
712
|
+
*/
|
|
713
|
+
creative_id: string;
|
|
714
|
+
/**
|
|
715
|
+
* Packages successfully assigned to this creative
|
|
716
|
+
*/
|
|
717
|
+
assigned_packages?: string[];
|
|
718
|
+
/**
|
|
719
|
+
* Packages successfully unassigned from this creative
|
|
720
|
+
*/
|
|
721
|
+
unassigned_packages?: string[];
|
|
722
|
+
/**
|
|
723
|
+
* Packages that failed to assign/unassign
|
|
724
|
+
*/
|
|
725
|
+
failed_packages?: {
|
|
726
|
+
/**
|
|
727
|
+
* Package ID that failed
|
|
728
|
+
*/
|
|
729
|
+
package_id: string;
|
|
730
|
+
/**
|
|
731
|
+
* Error message for the failed assignment
|
|
732
|
+
*/
|
|
733
|
+
error: string;
|
|
734
|
+
}[];
|
|
735
|
+
}[];
|
|
736
|
+
}
|
|
737
|
+
/**
|
|
738
|
+
* Filter by creative approval status
|
|
739
|
+
*/
|
|
740
|
+
export type CreativeStatus1 = 'processing' | 'approved' | 'rejected' | 'pending_review';
|
|
741
|
+
/**
|
|
742
|
+
* Filter by third-party snippet type
|
|
743
|
+
*/
|
|
744
|
+
export interface ListCreativesRequest {
|
|
745
|
+
/**
|
|
746
|
+
* AdCP schema version for this request
|
|
747
|
+
*/
|
|
748
|
+
adcp_version?: string;
|
|
749
|
+
/**
|
|
750
|
+
* Filter criteria for querying creatives
|
|
751
|
+
*/
|
|
752
|
+
filters?: {
|
|
753
|
+
/**
|
|
754
|
+
* Filter by creative format type (e.g., video, audio, display)
|
|
755
|
+
*/
|
|
756
|
+
format?: string;
|
|
757
|
+
/**
|
|
758
|
+
* Filter by multiple creative format types
|
|
759
|
+
*/
|
|
760
|
+
formats?: string[];
|
|
761
|
+
status?: CreativeStatus;
|
|
762
|
+
/**
|
|
763
|
+
* Filter by multiple creative statuses
|
|
764
|
+
*/
|
|
765
|
+
statuses?: CreativeStatus1[];
|
|
766
|
+
/**
|
|
767
|
+
* Filter by creative tags (all tags must match)
|
|
768
|
+
*/
|
|
769
|
+
tags?: string[];
|
|
770
|
+
/**
|
|
771
|
+
* Filter by creative tags (any tag must match)
|
|
772
|
+
*/
|
|
773
|
+
tags_any?: string[];
|
|
774
|
+
/**
|
|
775
|
+
* Filter by creative names containing this text (case-insensitive)
|
|
776
|
+
*/
|
|
777
|
+
name_contains?: string;
|
|
778
|
+
/**
|
|
779
|
+
* Filter by specific creative IDs
|
|
780
|
+
*
|
|
781
|
+
* @maxItems 100
|
|
782
|
+
*/
|
|
783
|
+
creative_ids?: string[];
|
|
784
|
+
/**
|
|
785
|
+
* Filter creatives created after this date (ISO 8601)
|
|
786
|
+
*/
|
|
787
|
+
created_after?: string;
|
|
788
|
+
/**
|
|
789
|
+
* Filter creatives created before this date (ISO 8601)
|
|
790
|
+
*/
|
|
791
|
+
created_before?: string;
|
|
792
|
+
/**
|
|
793
|
+
* Filter creatives last updated after this date (ISO 8601)
|
|
794
|
+
*/
|
|
795
|
+
updated_after?: string;
|
|
796
|
+
/**
|
|
797
|
+
* Filter creatives last updated before this date (ISO 8601)
|
|
798
|
+
*/
|
|
799
|
+
updated_before?: string;
|
|
800
|
+
/**
|
|
801
|
+
* Filter creatives assigned to this specific package
|
|
802
|
+
*/
|
|
803
|
+
assigned_to_package?: string;
|
|
804
|
+
/**
|
|
805
|
+
* Filter creatives assigned to any of these packages
|
|
806
|
+
*/
|
|
807
|
+
assigned_to_packages?: string[];
|
|
808
|
+
/**
|
|
809
|
+
* Filter for unassigned creatives when true, assigned creatives when false
|
|
810
|
+
*/
|
|
811
|
+
unassigned?: boolean;
|
|
812
|
+
snippet_type?: SnippetType;
|
|
813
|
+
/**
|
|
814
|
+
* Filter creatives that have performance data when true
|
|
815
|
+
*/
|
|
816
|
+
has_performance_data?: boolean;
|
|
817
|
+
};
|
|
818
|
+
/**
|
|
819
|
+
* Sorting parameters
|
|
820
|
+
*/
|
|
821
|
+
sort?: {
|
|
822
|
+
/**
|
|
823
|
+
* Field to sort by
|
|
824
|
+
*/
|
|
825
|
+
field?: 'created_date' | 'updated_date' | 'name' | 'status' | 'assignment_count' | 'performance_score';
|
|
826
|
+
/**
|
|
827
|
+
* Sort direction
|
|
828
|
+
*/
|
|
829
|
+
direction?: 'asc' | 'desc';
|
|
830
|
+
};
|
|
831
|
+
/**
|
|
832
|
+
* Pagination parameters
|
|
833
|
+
*/
|
|
834
|
+
pagination?: {
|
|
835
|
+
/**
|
|
836
|
+
* Maximum number of creatives to return
|
|
837
|
+
*/
|
|
838
|
+
limit?: number;
|
|
839
|
+
/**
|
|
840
|
+
* Number of creatives to skip
|
|
841
|
+
*/
|
|
842
|
+
offset?: number;
|
|
843
|
+
};
|
|
844
|
+
/**
|
|
845
|
+
* Include package assignment information in response
|
|
846
|
+
*/
|
|
847
|
+
include_assignments?: boolean;
|
|
848
|
+
/**
|
|
849
|
+
* Include aggregated performance metrics in response
|
|
850
|
+
*/
|
|
851
|
+
include_performance?: boolean;
|
|
852
|
+
/**
|
|
853
|
+
* Include sub-assets (for carousel/native formats) in response
|
|
854
|
+
*/
|
|
855
|
+
include_sub_assets?: boolean;
|
|
856
|
+
/**
|
|
857
|
+
* Specific fields to include in response (omit for all fields)
|
|
858
|
+
*/
|
|
859
|
+
fields?: ('creative_id' | 'name' | 'format' | 'status' | 'created_date' | 'updated_date' | 'tags' | 'assignments' | 'performance' | 'sub_assets')[];
|
|
860
|
+
}
|
|
861
|
+
/**
|
|
862
|
+
* Current approval status of the creative
|
|
863
|
+
*/
|
|
864
|
+
export interface ListCreativesResponse {
|
|
865
|
+
/**
|
|
866
|
+
* AdCP schema version used for this response
|
|
867
|
+
*/
|
|
868
|
+
adcp_version: string;
|
|
869
|
+
/**
|
|
870
|
+
* Human-readable result message
|
|
871
|
+
*/
|
|
872
|
+
message: string;
|
|
873
|
+
/**
|
|
874
|
+
* Context ID for tracking related operations
|
|
875
|
+
*/
|
|
876
|
+
context_id?: string;
|
|
877
|
+
/**
|
|
878
|
+
* Summary of the query that was executed
|
|
879
|
+
*/
|
|
880
|
+
query_summary: {
|
|
881
|
+
/**
|
|
882
|
+
* Total number of creatives matching filters (across all pages)
|
|
883
|
+
*/
|
|
884
|
+
total_matching: number;
|
|
885
|
+
/**
|
|
886
|
+
* Number of creatives returned in this response
|
|
887
|
+
*/
|
|
888
|
+
returned: number;
|
|
889
|
+
/**
|
|
890
|
+
* List of filters that were applied to the query
|
|
891
|
+
*/
|
|
892
|
+
filters_applied?: string[];
|
|
893
|
+
/**
|
|
894
|
+
* Sort order that was applied
|
|
895
|
+
*/
|
|
896
|
+
sort_applied?: {
|
|
897
|
+
field?: string;
|
|
898
|
+
direction?: 'asc' | 'desc';
|
|
899
|
+
[k: string]: unknown;
|
|
900
|
+
};
|
|
901
|
+
};
|
|
902
|
+
/**
|
|
903
|
+
* Pagination information for navigating results
|
|
904
|
+
*/
|
|
905
|
+
pagination: {
|
|
906
|
+
/**
|
|
907
|
+
* Maximum number of results requested
|
|
908
|
+
*/
|
|
909
|
+
limit: number;
|
|
910
|
+
/**
|
|
911
|
+
* Number of results skipped
|
|
912
|
+
*/
|
|
913
|
+
offset: number;
|
|
914
|
+
/**
|
|
915
|
+
* Whether more results are available
|
|
916
|
+
*/
|
|
917
|
+
has_more: boolean;
|
|
918
|
+
/**
|
|
919
|
+
* Total number of pages available
|
|
920
|
+
*/
|
|
921
|
+
total_pages?: number;
|
|
922
|
+
/**
|
|
923
|
+
* Current page number (1-based)
|
|
924
|
+
*/
|
|
925
|
+
current_page?: number;
|
|
926
|
+
};
|
|
927
|
+
/**
|
|
928
|
+
* Array of creative assets matching the query
|
|
929
|
+
*/
|
|
930
|
+
creatives: {
|
|
931
|
+
/**
|
|
932
|
+
* Unique identifier for the creative
|
|
933
|
+
*/
|
|
934
|
+
creative_id: string;
|
|
935
|
+
/**
|
|
936
|
+
* Human-readable creative name
|
|
937
|
+
*/
|
|
938
|
+
name: string;
|
|
939
|
+
/**
|
|
940
|
+
* Creative format type
|
|
941
|
+
*/
|
|
942
|
+
format: string;
|
|
943
|
+
status: CreativeStatus;
|
|
944
|
+
/**
|
|
945
|
+
* When the creative was uploaded to the library
|
|
946
|
+
*/
|
|
947
|
+
created_date: string;
|
|
948
|
+
/**
|
|
949
|
+
* When the creative was last modified
|
|
950
|
+
*/
|
|
951
|
+
updated_date: string;
|
|
952
|
+
/**
|
|
953
|
+
* URL of the creative file (for hosted assets)
|
|
954
|
+
*/
|
|
955
|
+
media_url?: string;
|
|
956
|
+
/**
|
|
957
|
+
* Third-party tag, VAST XML, or code snippet (for third-party assets)
|
|
958
|
+
*/
|
|
959
|
+
snippet?: string;
|
|
960
|
+
snippet_type?: SnippetType;
|
|
961
|
+
/**
|
|
962
|
+
* Landing page URL for the creative
|
|
963
|
+
*/
|
|
964
|
+
click_url?: string;
|
|
965
|
+
/**
|
|
966
|
+
* Duration in milliseconds (for video/audio)
|
|
967
|
+
*/
|
|
968
|
+
duration?: number;
|
|
969
|
+
/**
|
|
970
|
+
* Width in pixels (for video/display)
|
|
971
|
+
*/
|
|
972
|
+
width?: number;
|
|
973
|
+
/**
|
|
974
|
+
* Height in pixels (for video/display)
|
|
975
|
+
*/
|
|
976
|
+
height?: number;
|
|
977
|
+
/**
|
|
978
|
+
* User-defined tags for organization and searchability
|
|
979
|
+
*/
|
|
980
|
+
tags?: string[];
|
|
981
|
+
/**
|
|
982
|
+
* Current package assignments (included when include_assignments=true)
|
|
983
|
+
*/
|
|
984
|
+
assignments?: {
|
|
985
|
+
/**
|
|
986
|
+
* Total number of active package assignments
|
|
987
|
+
*/
|
|
988
|
+
assignment_count: number;
|
|
989
|
+
/**
|
|
990
|
+
* List of packages this creative is assigned to
|
|
991
|
+
*/
|
|
992
|
+
assigned_packages?: {
|
|
993
|
+
/**
|
|
994
|
+
* Package identifier
|
|
995
|
+
*/
|
|
996
|
+
package_id: string;
|
|
997
|
+
/**
|
|
998
|
+
* Human-readable package name
|
|
999
|
+
*/
|
|
1000
|
+
package_name?: string;
|
|
1001
|
+
/**
|
|
1002
|
+
* When this assignment was created
|
|
1003
|
+
*/
|
|
1004
|
+
assigned_date: string;
|
|
1005
|
+
/**
|
|
1006
|
+
* Status of this specific assignment
|
|
1007
|
+
*/
|
|
1008
|
+
status: 'active' | 'paused' | 'ended';
|
|
1009
|
+
}[];
|
|
1010
|
+
};
|
|
1011
|
+
/**
|
|
1012
|
+
* Aggregated performance metrics (included when include_performance=true)
|
|
1013
|
+
*/
|
|
1014
|
+
performance?: {
|
|
1015
|
+
/**
|
|
1016
|
+
* Total impressions across all assignments
|
|
1017
|
+
*/
|
|
1018
|
+
impressions?: number;
|
|
1019
|
+
/**
|
|
1020
|
+
* Total clicks across all assignments
|
|
1021
|
+
*/
|
|
1022
|
+
clicks?: number;
|
|
1023
|
+
/**
|
|
1024
|
+
* Click-through rate (clicks/impressions)
|
|
1025
|
+
*/
|
|
1026
|
+
ctr?: number;
|
|
1027
|
+
/**
|
|
1028
|
+
* Conversion rate across all assignments
|
|
1029
|
+
*/
|
|
1030
|
+
conversion_rate?: number;
|
|
1031
|
+
/**
|
|
1032
|
+
* Aggregated performance score (0-100)
|
|
1033
|
+
*/
|
|
1034
|
+
performance_score?: number;
|
|
1035
|
+
/**
|
|
1036
|
+
* When performance data was last updated
|
|
1037
|
+
*/
|
|
1038
|
+
last_updated: string;
|
|
1039
|
+
};
|
|
1040
|
+
/**
|
|
1041
|
+
* Sub-assets for multi-asset formats (included when include_sub_assets=true)
|
|
1042
|
+
*/
|
|
1043
|
+
sub_assets?: SubAsset[];
|
|
1044
|
+
}[];
|
|
1045
|
+
/**
|
|
1046
|
+
* Breakdown of creatives by format type
|
|
1047
|
+
*/
|
|
1048
|
+
format_summary?: {
|
|
1049
|
+
/**
|
|
1050
|
+
* Number of creatives with this format
|
|
1051
|
+
*
|
|
1052
|
+
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
1053
|
+
* via the `patternProperty` "^[a-zA-Z0-9_-]+$".
|
|
1054
|
+
*/
|
|
1055
|
+
[k: string]: number;
|
|
1056
|
+
};
|
|
1057
|
+
/**
|
|
1058
|
+
* Breakdown of creatives by status
|
|
1059
|
+
*/
|
|
1060
|
+
status_summary?: {
|
|
1061
|
+
/**
|
|
1062
|
+
* Number of approved creatives
|
|
1063
|
+
*/
|
|
1064
|
+
approved?: number;
|
|
1065
|
+
/**
|
|
1066
|
+
* Number of creatives pending review
|
|
1067
|
+
*/
|
|
1068
|
+
pending_review?: number;
|
|
1069
|
+
/**
|
|
1070
|
+
* Number of rejected creatives
|
|
1071
|
+
*/
|
|
1072
|
+
rejected?: number;
|
|
1073
|
+
/**
|
|
1074
|
+
* Number of archived creatives
|
|
1075
|
+
*/
|
|
1076
|
+
archived?: number;
|
|
1077
|
+
};
|
|
1078
|
+
}
|
|
1079
|
+
/**
|
|
1080
|
+
* Request parameters for updating campaign and package settings
|
|
1081
|
+
*/
|
|
1082
|
+
export type UpdateMediaBuyRequest = UpdateMediaBuyRequest1 & UpdateMediaBuyRequest2;
|
|
1083
|
+
/**
|
|
1084
|
+
* Budget pacing strategy
|
|
1085
|
+
*/
|
|
1086
|
+
export type UpdateMediaBuyRequest2 = {
|
|
1087
|
+
[k: string]: unknown;
|
|
1088
|
+
};
|
|
1089
|
+
export interface UpdateMediaBuyRequest1 {
|
|
1090
|
+
/**
|
|
1091
|
+
* AdCP schema version for this request
|
|
1092
|
+
*/
|
|
1093
|
+
adcp_version?: string;
|
|
1094
|
+
/**
|
|
1095
|
+
* Publisher's ID of the media buy to update
|
|
1096
|
+
*/
|
|
1097
|
+
media_buy_id?: string;
|
|
1098
|
+
/**
|
|
1099
|
+
* Buyer's reference for the media buy to update
|
|
1100
|
+
*/
|
|
1101
|
+
buyer_ref?: string;
|
|
1102
|
+
/**
|
|
1103
|
+
* Pause/resume the entire media buy
|
|
1104
|
+
*/
|
|
1105
|
+
active?: boolean;
|
|
1106
|
+
/**
|
|
1107
|
+
* New start date/time in ISO 8601 format
|
|
1108
|
+
*/
|
|
1109
|
+
start_time?: string;
|
|
1110
|
+
/**
|
|
1111
|
+
* New end date/time in ISO 8601 format
|
|
1112
|
+
*/
|
|
1113
|
+
end_time?: string;
|
|
1114
|
+
budget?: Budget;
|
|
1115
|
+
/**
|
|
1116
|
+
* Package-specific updates
|
|
1117
|
+
*/
|
|
1118
|
+
packages?: ({
|
|
1119
|
+
[k: string]: unknown;
|
|
1120
|
+
} | {
|
|
1121
|
+
[k: string]: unknown;
|
|
1122
|
+
})[];
|
|
1123
|
+
}
|
|
1124
|
+
/**
|
|
1125
|
+
* Budget configuration for a media buy or package
|
|
1126
|
+
*/
|
|
1127
|
+
/**
|
|
1128
|
+
* Response payload for update_media_buy task
|
|
1129
|
+
*/
|
|
1130
|
+
export interface UpdateMediaBuyResponse {
|
|
1131
|
+
/**
|
|
1132
|
+
* AdCP schema version used for this response
|
|
1133
|
+
*/
|
|
1134
|
+
adcp_version: string;
|
|
1135
|
+
/**
|
|
1136
|
+
* Publisher's identifier for the media buy
|
|
1137
|
+
*/
|
|
1138
|
+
media_buy_id: string;
|
|
1139
|
+
/**
|
|
1140
|
+
* Buyer's reference identifier for the media buy
|
|
1141
|
+
*/
|
|
1142
|
+
buyer_ref: string;
|
|
1143
|
+
/**
|
|
1144
|
+
* ISO 8601 timestamp when changes take effect (null if pending approval)
|
|
1145
|
+
*/
|
|
1146
|
+
implementation_date?: string | null;
|
|
1147
|
+
/**
|
|
1148
|
+
* Array of packages that were modified
|
|
1149
|
+
*/
|
|
1150
|
+
affected_packages: {
|
|
1151
|
+
/**
|
|
1152
|
+
* Publisher's package identifier
|
|
1153
|
+
*/
|
|
1154
|
+
package_id: string;
|
|
1155
|
+
/**
|
|
1156
|
+
* Buyer's reference for the package
|
|
1157
|
+
*/
|
|
1158
|
+
buyer_ref: string;
|
|
1159
|
+
}[];
|
|
1160
|
+
/**
|
|
1161
|
+
* Task-specific errors and warnings (e.g., partial update failures)
|
|
1162
|
+
*/
|
|
1163
|
+
errors?: Error[];
|
|
1164
|
+
}
|
|
1165
|
+
/**
|
|
1166
|
+
* Standard error structure for task-specific errors and warnings
|
|
1167
|
+
*/
|
|
1168
|
+
/**
|
|
1169
|
+
* Request parameters for retrieving comprehensive delivery metrics
|
|
1170
|
+
*/
|
|
1171
|
+
export interface GetMediaBuyDeliveryRequest {
|
|
1172
|
+
/**
|
|
1173
|
+
* AdCP schema version for this request
|
|
1174
|
+
*/
|
|
1175
|
+
adcp_version?: string;
|
|
1176
|
+
/**
|
|
1177
|
+
* Array of publisher media buy IDs to get delivery data for
|
|
1178
|
+
*/
|
|
1179
|
+
media_buy_ids?: string[];
|
|
1180
|
+
/**
|
|
1181
|
+
* Array of buyer reference IDs to get delivery data for
|
|
1182
|
+
*/
|
|
1183
|
+
buyer_refs?: string[];
|
|
1184
|
+
/**
|
|
1185
|
+
* Filter by status. Can be a single status or array of statuses
|
|
1186
|
+
*/
|
|
1187
|
+
status_filter?: ('active' | 'pending' | 'paused' | 'completed' | 'failed' | 'all') | ('active' | 'pending' | 'paused' | 'completed' | 'failed')[];
|
|
1188
|
+
/**
|
|
1189
|
+
* Start date for reporting period (YYYY-MM-DD)
|
|
1190
|
+
*/
|
|
1191
|
+
start_date?: string;
|
|
1192
|
+
/**
|
|
1193
|
+
* End date for reporting period (YYYY-MM-DD)
|
|
1194
|
+
*/
|
|
1195
|
+
end_date?: string;
|
|
1196
|
+
}
|
|
1197
|
+
/**
|
|
1198
|
+
* Response payload for get_media_buy_delivery task
|
|
1199
|
+
*/
|
|
1200
|
+
export interface GetMediaBuyDeliveryResponse {
|
|
1201
|
+
/**
|
|
1202
|
+
* AdCP schema version used for this response
|
|
1203
|
+
*/
|
|
1204
|
+
adcp_version: string;
|
|
1205
|
+
/**
|
|
1206
|
+
* Date range for the report
|
|
1207
|
+
*/
|
|
1208
|
+
reporting_period: {
|
|
1209
|
+
/**
|
|
1210
|
+
* ISO 8601 start timestamp
|
|
1211
|
+
*/
|
|
1212
|
+
start: string;
|
|
1213
|
+
/**
|
|
1214
|
+
* ISO 8601 end timestamp
|
|
1215
|
+
*/
|
|
1216
|
+
end: string;
|
|
1217
|
+
};
|
|
1218
|
+
/**
|
|
1219
|
+
* ISO 4217 currency code
|
|
1220
|
+
*/
|
|
1221
|
+
currency: string;
|
|
1222
|
+
/**
|
|
1223
|
+
* Combined metrics across all returned media buys
|
|
1224
|
+
*/
|
|
1225
|
+
aggregated_totals: {
|
|
1226
|
+
/**
|
|
1227
|
+
* Total impressions delivered across all media buys
|
|
1228
|
+
*/
|
|
1229
|
+
impressions: number;
|
|
1230
|
+
/**
|
|
1231
|
+
* Total amount spent across all media buys
|
|
1232
|
+
*/
|
|
1233
|
+
spend: number;
|
|
1234
|
+
/**
|
|
1235
|
+
* Total clicks across all media buys (if applicable)
|
|
1236
|
+
*/
|
|
1237
|
+
clicks?: number;
|
|
1238
|
+
/**
|
|
1239
|
+
* Total video completions across all media buys (if applicable)
|
|
1240
|
+
*/
|
|
1241
|
+
video_completions?: number;
|
|
1242
|
+
/**
|
|
1243
|
+
* Number of media buys included in the response
|
|
1244
|
+
*/
|
|
1245
|
+
media_buy_count: number;
|
|
1246
|
+
};
|
|
1247
|
+
/**
|
|
1248
|
+
* Array of delivery data for each media buy
|
|
1249
|
+
*/
|
|
1250
|
+
deliveries: {
|
|
1251
|
+
/**
|
|
1252
|
+
* Publisher's media buy identifier
|
|
1253
|
+
*/
|
|
1254
|
+
media_buy_id: string;
|
|
1255
|
+
/**
|
|
1256
|
+
* Buyer's reference identifier for this media buy
|
|
1257
|
+
*/
|
|
1258
|
+
buyer_ref?: string;
|
|
1259
|
+
/**
|
|
1260
|
+
* Current media buy status
|
|
1261
|
+
*/
|
|
1262
|
+
status: 'pending' | 'active' | 'paused' | 'completed' | 'failed';
|
|
1263
|
+
/**
|
|
1264
|
+
* Aggregate metrics for this media buy across all packages
|
|
1265
|
+
*/
|
|
1266
|
+
totals: {
|
|
1267
|
+
/**
|
|
1268
|
+
* Total impressions delivered
|
|
1269
|
+
*/
|
|
1270
|
+
impressions: number;
|
|
1271
|
+
/**
|
|
1272
|
+
* Total amount spent
|
|
1273
|
+
*/
|
|
1274
|
+
spend: number;
|
|
1275
|
+
/**
|
|
1276
|
+
* Total clicks (if applicable)
|
|
1277
|
+
*/
|
|
1278
|
+
clicks?: number;
|
|
1279
|
+
/**
|
|
1280
|
+
* Click-through rate (clicks/impressions)
|
|
1281
|
+
*/
|
|
1282
|
+
ctr?: number;
|
|
1283
|
+
/**
|
|
1284
|
+
* Total video completions (if applicable)
|
|
1285
|
+
*/
|
|
1286
|
+
video_completions?: number;
|
|
1287
|
+
/**
|
|
1288
|
+
* Video completion rate (completions/impressions)
|
|
1289
|
+
*/
|
|
1290
|
+
completion_rate?: number;
|
|
1291
|
+
};
|
|
1292
|
+
/**
|
|
1293
|
+
* Metrics broken down by package
|
|
1294
|
+
*/
|
|
1295
|
+
by_package: {
|
|
1296
|
+
/**
|
|
1297
|
+
* Publisher's package identifier
|
|
1298
|
+
*/
|
|
1299
|
+
package_id: string;
|
|
1300
|
+
/**
|
|
1301
|
+
* Buyer's reference identifier for this package
|
|
1302
|
+
*/
|
|
1303
|
+
buyer_ref?: string;
|
|
1304
|
+
/**
|
|
1305
|
+
* Package impressions
|
|
1306
|
+
*/
|
|
1307
|
+
impressions: number;
|
|
1308
|
+
/**
|
|
1309
|
+
* Package spend
|
|
1310
|
+
*/
|
|
1311
|
+
spend: number;
|
|
1312
|
+
/**
|
|
1313
|
+
* Package clicks
|
|
1314
|
+
*/
|
|
1315
|
+
clicks?: number;
|
|
1316
|
+
/**
|
|
1317
|
+
* Package video completions
|
|
1318
|
+
*/
|
|
1319
|
+
video_completions?: number;
|
|
1320
|
+
/**
|
|
1321
|
+
* Delivery pace (1.0 = on track, <1.0 = behind, >1.0 = ahead)
|
|
1322
|
+
*/
|
|
1323
|
+
pacing_index?: number;
|
|
1324
|
+
}[];
|
|
1325
|
+
/**
|
|
1326
|
+
* Day-by-day delivery
|
|
1327
|
+
*/
|
|
1328
|
+
daily_breakdown?: {
|
|
1329
|
+
/**
|
|
1330
|
+
* Date (YYYY-MM-DD)
|
|
1331
|
+
*/
|
|
1332
|
+
date: string;
|
|
1333
|
+
/**
|
|
1334
|
+
* Daily impressions
|
|
1335
|
+
*/
|
|
1336
|
+
impressions: number;
|
|
1337
|
+
/**
|
|
1338
|
+
* Daily spend
|
|
1339
|
+
*/
|
|
1340
|
+
spend: number;
|
|
1341
|
+
}[];
|
|
1342
|
+
}[];
|
|
1343
|
+
/**
|
|
1344
|
+
* Task-specific errors and warnings (e.g., missing delivery data, reporting platform issues)
|
|
1345
|
+
*/
|
|
1346
|
+
errors?: Error[];
|
|
1347
|
+
}
|
|
1348
|
+
/**
|
|
1349
|
+
* Standard error structure for task-specific errors and warnings
|
|
1350
|
+
*/
|
|
1351
|
+
/**
|
|
1352
|
+
* Request parameters for discovering all properties this agent is authorized to represent
|
|
1353
|
+
*/
|
|
1354
|
+
export interface ListAuthorizedPropertiesRequest {
|
|
1355
|
+
/**
|
|
1356
|
+
* AdCP schema version for this request
|
|
1357
|
+
*/
|
|
1358
|
+
adcp_version?: string;
|
|
1359
|
+
/**
|
|
1360
|
+
* Filter properties by specific tags (optional)
|
|
1361
|
+
*/
|
|
1362
|
+
tags?: string[];
|
|
1363
|
+
}
|
|
1364
|
+
/**
|
|
1365
|
+
* Type of identifier for this property
|
|
1366
|
+
*/
|
|
1367
|
+
export interface ListAuthorizedPropertiesResponse {
|
|
1368
|
+
/**
|
|
1369
|
+
* AdCP schema version used for this response
|
|
1370
|
+
*/
|
|
1371
|
+
adcp_version: string;
|
|
1372
|
+
/**
|
|
1373
|
+
* Array of all properties this agent is authorized to represent
|
|
1374
|
+
*/
|
|
1375
|
+
properties: Property[];
|
|
1376
|
+
/**
|
|
1377
|
+
* Metadata for each tag referenced by properties
|
|
1378
|
+
*/
|
|
1379
|
+
tags?: {
|
|
1380
|
+
[k: string]: {
|
|
1381
|
+
/**
|
|
1382
|
+
* Human-readable name for this tag
|
|
1383
|
+
*/
|
|
1384
|
+
name: string;
|
|
1385
|
+
/**
|
|
1386
|
+
* Description of what this tag represents
|
|
1387
|
+
*/
|
|
1388
|
+
description: string;
|
|
1389
|
+
};
|
|
1390
|
+
};
|
|
1391
|
+
/**
|
|
1392
|
+
* Task-specific errors and warnings (e.g., property availability issues)
|
|
1393
|
+
*/
|
|
1394
|
+
errors?: Error[];
|
|
1395
|
+
}
|
|
1396
|
+
/**
|
|
1397
|
+
* An advertising property that can be validated via adagents.json
|
|
1398
|
+
*/
|
|
1399
|
+
/**
|
|
1400
|
+
* Request payload for provide_performance_feedback task
|
|
1401
|
+
*/
|
|
1402
|
+
export interface ProvidePerformanceFeedbackRequest {
|
|
1403
|
+
/**
|
|
1404
|
+
* AdCP schema version for this request
|
|
1405
|
+
*/
|
|
1406
|
+
adcp_version?: string;
|
|
1407
|
+
/**
|
|
1408
|
+
* Publisher's media buy identifier
|
|
1409
|
+
*/
|
|
1410
|
+
media_buy_id: string;
|
|
1411
|
+
/**
|
|
1412
|
+
* Time period for performance measurement
|
|
1413
|
+
*/
|
|
1414
|
+
measurement_period: {
|
|
1415
|
+
/**
|
|
1416
|
+
* ISO 8601 start timestamp for measurement period
|
|
1417
|
+
*/
|
|
1418
|
+
start: string;
|
|
1419
|
+
/**
|
|
1420
|
+
* ISO 8601 end timestamp for measurement period
|
|
1421
|
+
*/
|
|
1422
|
+
end: string;
|
|
1423
|
+
};
|
|
1424
|
+
/**
|
|
1425
|
+
* Normalized performance score (0.0 = no value, 1.0 = expected, >1.0 = above expected)
|
|
1426
|
+
*/
|
|
1427
|
+
performance_index: number;
|
|
1428
|
+
/**
|
|
1429
|
+
* Specific package within the media buy (if feedback is package-specific)
|
|
1430
|
+
*/
|
|
1431
|
+
package_id?: string;
|
|
1432
|
+
/**
|
|
1433
|
+
* Specific creative asset (if feedback is creative-specific)
|
|
1434
|
+
*/
|
|
1435
|
+
creative_id?: string;
|
|
1436
|
+
/**
|
|
1437
|
+
* The business metric being measured
|
|
1438
|
+
*/
|
|
1439
|
+
metric_type?: 'overall_performance' | 'conversion_rate' | 'brand_lift' | 'click_through_rate' | 'completion_rate' | 'viewability' | 'brand_safety' | 'cost_efficiency';
|
|
1440
|
+
/**
|
|
1441
|
+
* Source of the performance data
|
|
1442
|
+
*/
|
|
1443
|
+
feedback_source?: 'buyer_attribution' | 'third_party_measurement' | 'platform_analytics' | 'verification_partner';
|
|
1444
|
+
}
|
|
1445
|
+
/**
|
|
1446
|
+
* Response payload for provide_performance_feedback task
|
|
1447
|
+
*/
|
|
1448
|
+
export interface ProvidePerformanceFeedbackResponse {
|
|
1449
|
+
/**
|
|
1450
|
+
* AdCP schema version used for this response
|
|
1451
|
+
*/
|
|
1452
|
+
adcp_version: string;
|
|
1453
|
+
/**
|
|
1454
|
+
* Whether the performance feedback was successfully received
|
|
1455
|
+
*/
|
|
1456
|
+
success: boolean;
|
|
1457
|
+
/**
|
|
1458
|
+
* Optional human-readable message about the feedback processing
|
|
1459
|
+
*/
|
|
1460
|
+
message?: string;
|
|
1461
|
+
/**
|
|
1462
|
+
* Task-specific errors and warnings (e.g., invalid measurement period, missing campaign data)
|
|
1463
|
+
*/
|
|
1464
|
+
errors?: Error[];
|
|
1465
|
+
}
|
|
1466
|
+
/**
|
|
1467
|
+
* Standard error structure for task-specific errors and warnings
|
|
1468
|
+
*/
|
|
1469
|
+
/**
|
|
1470
|
+
* Request parameters for discovering signals based on description
|
|
1471
|
+
*/
|
|
1472
|
+
export interface GetSignalsRequest {
|
|
1473
|
+
/**
|
|
1474
|
+
* AdCP schema version for this request
|
|
1475
|
+
*/
|
|
1476
|
+
adcp_version?: string;
|
|
1477
|
+
/**
|
|
1478
|
+
* Natural language description of the desired signals
|
|
1479
|
+
*/
|
|
1480
|
+
signal_spec: string;
|
|
1481
|
+
/**
|
|
1482
|
+
* Where the signals need to be delivered
|
|
1483
|
+
*/
|
|
1484
|
+
deliver_to: {
|
|
1485
|
+
/**
|
|
1486
|
+
* Target platforms for signal deployment
|
|
1487
|
+
*/
|
|
1488
|
+
platforms: 'all' | string[];
|
|
1489
|
+
/**
|
|
1490
|
+
* Specific platform-account combinations
|
|
1491
|
+
*/
|
|
1492
|
+
accounts?: {
|
|
1493
|
+
/**
|
|
1494
|
+
* Platform identifier
|
|
1495
|
+
*/
|
|
1496
|
+
platform: string;
|
|
1497
|
+
/**
|
|
1498
|
+
* Account identifier on that platform
|
|
1499
|
+
*/
|
|
1500
|
+
account: string;
|
|
1501
|
+
}[];
|
|
1502
|
+
/**
|
|
1503
|
+
* Countries where signals will be used (ISO codes)
|
|
1504
|
+
*/
|
|
1505
|
+
countries: string[];
|
|
1506
|
+
};
|
|
1507
|
+
/**
|
|
1508
|
+
* Filters to refine results
|
|
1509
|
+
*/
|
|
1510
|
+
filters?: {
|
|
1511
|
+
/**
|
|
1512
|
+
* Filter by catalog type
|
|
1513
|
+
*/
|
|
1514
|
+
catalog_types?: ('marketplace' | 'custom' | 'owned')[];
|
|
1515
|
+
/**
|
|
1516
|
+
* Filter by specific data providers
|
|
1517
|
+
*/
|
|
1518
|
+
data_providers?: string[];
|
|
1519
|
+
/**
|
|
1520
|
+
* Maximum CPM price filter
|
|
1521
|
+
*/
|
|
1522
|
+
max_cpm?: number;
|
|
1523
|
+
/**
|
|
1524
|
+
* Minimum coverage requirement
|
|
1525
|
+
*/
|
|
1526
|
+
min_coverage_percentage?: number;
|
|
1527
|
+
};
|
|
1528
|
+
/**
|
|
1529
|
+
* Maximum number of results to return
|
|
1530
|
+
*/
|
|
1531
|
+
max_results?: number;
|
|
1532
|
+
}
|
|
1533
|
+
/**
|
|
1534
|
+
* Response payload for get_signals task
|
|
1535
|
+
*/
|
|
1536
|
+
export interface GetSignalsResponse {
|
|
1537
|
+
/**
|
|
1538
|
+
* AdCP schema version used for this response
|
|
1539
|
+
*/
|
|
1540
|
+
adcp_version: string;
|
|
1541
|
+
/**
|
|
1542
|
+
* Array of matching signals
|
|
1543
|
+
*/
|
|
1544
|
+
signals: {
|
|
1545
|
+
/**
|
|
1546
|
+
* Unique identifier for the signal
|
|
1547
|
+
*/
|
|
1548
|
+
signal_agent_segment_id: string;
|
|
1549
|
+
/**
|
|
1550
|
+
* Human-readable signal name
|
|
1551
|
+
*/
|
|
1552
|
+
name: string;
|
|
1553
|
+
/**
|
|
1554
|
+
* Detailed signal description
|
|
1555
|
+
*/
|
|
1556
|
+
description: string;
|
|
1557
|
+
/**
|
|
1558
|
+
* Type of signal
|
|
1559
|
+
*/
|
|
1560
|
+
signal_type: 'marketplace' | 'custom' | 'owned';
|
|
1561
|
+
/**
|
|
1562
|
+
* Name of the data provider
|
|
1563
|
+
*/
|
|
1564
|
+
data_provider: string;
|
|
1565
|
+
/**
|
|
1566
|
+
* Percentage of audience coverage
|
|
1567
|
+
*/
|
|
1568
|
+
coverage_percentage: number;
|
|
1569
|
+
/**
|
|
1570
|
+
* Array of platform deployments
|
|
1571
|
+
*/
|
|
1572
|
+
deployments: {
|
|
1573
|
+
/**
|
|
1574
|
+
* Platform name
|
|
1575
|
+
*/
|
|
1576
|
+
platform: string;
|
|
1577
|
+
/**
|
|
1578
|
+
* Specific account if applicable
|
|
1579
|
+
*/
|
|
1580
|
+
account?: string | null;
|
|
1581
|
+
/**
|
|
1582
|
+
* Whether signal is currently active
|
|
1583
|
+
*/
|
|
1584
|
+
is_live: boolean;
|
|
1585
|
+
/**
|
|
1586
|
+
* Deployment scope
|
|
1587
|
+
*/
|
|
1588
|
+
scope: 'platform-wide' | 'account-specific';
|
|
1589
|
+
/**
|
|
1590
|
+
* Platform-specific segment ID
|
|
1591
|
+
*/
|
|
1592
|
+
decisioning_platform_segment_id?: string;
|
|
1593
|
+
/**
|
|
1594
|
+
* Time to activate if not live
|
|
1595
|
+
*/
|
|
1596
|
+
estimated_activation_duration_minutes?: number;
|
|
1597
|
+
}[];
|
|
1598
|
+
/**
|
|
1599
|
+
* Pricing information
|
|
1600
|
+
*/
|
|
1601
|
+
pricing: {
|
|
1602
|
+
/**
|
|
1603
|
+
* Cost per thousand impressions
|
|
1604
|
+
*/
|
|
1605
|
+
cpm: number;
|
|
1606
|
+
/**
|
|
1607
|
+
* Currency code
|
|
1608
|
+
*/
|
|
1609
|
+
currency: string;
|
|
1610
|
+
};
|
|
1611
|
+
}[];
|
|
1612
|
+
/**
|
|
1613
|
+
* Task-specific errors and warnings (e.g., signal discovery or pricing issues)
|
|
1614
|
+
*/
|
|
1615
|
+
errors?: Error[];
|
|
1616
|
+
}
|
|
1617
|
+
/**
|
|
1618
|
+
* Standard error structure for task-specific errors and warnings
|
|
1619
|
+
*/
|
|
1620
|
+
/**
|
|
1621
|
+
* Request parameters for activating a signal on a specific platform/account
|
|
1622
|
+
*/
|
|
1623
|
+
export interface ActivateSignalRequest {
|
|
1624
|
+
/**
|
|
1625
|
+
* AdCP schema version for this request
|
|
1626
|
+
*/
|
|
1627
|
+
adcp_version?: string;
|
|
1628
|
+
/**
|
|
1629
|
+
* The universal identifier for the signal to activate
|
|
1630
|
+
*/
|
|
1631
|
+
signal_agent_segment_id: string;
|
|
1632
|
+
/**
|
|
1633
|
+
* The target platform for activation
|
|
1634
|
+
*/
|
|
1635
|
+
platform: string;
|
|
1636
|
+
/**
|
|
1637
|
+
* Account identifier (required for account-specific activation)
|
|
1638
|
+
*/
|
|
1639
|
+
account?: string;
|
|
1640
|
+
}
|
|
1641
|
+
/**
|
|
1642
|
+
* Current activation state: 'submitted' (pending), 'working' (processing), 'completed' (deployed), 'failed', 'input-required' (needs auth), etc.
|
|
1643
|
+
*/
|
|
1644
|
+
export interface ActivateSignalResponse {
|
|
1645
|
+
/**
|
|
1646
|
+
* AdCP schema version used for this response
|
|
1647
|
+
*/
|
|
1648
|
+
adcp_version: string;
|
|
1649
|
+
/**
|
|
1650
|
+
* Unique identifier for tracking the activation
|
|
1651
|
+
*/
|
|
1652
|
+
task_id: string;
|
|
1653
|
+
status: TaskStatus;
|
|
1654
|
+
/**
|
|
1655
|
+
* The platform-specific ID to use once activated
|
|
1656
|
+
*/
|
|
1657
|
+
decisioning_platform_segment_id?: string;
|
|
1658
|
+
/**
|
|
1659
|
+
* Estimated time to complete (optional)
|
|
1660
|
+
*/
|
|
1661
|
+
estimated_activation_duration_minutes?: number;
|
|
1662
|
+
/**
|
|
1663
|
+
* Timestamp when activation completed (optional)
|
|
1664
|
+
*/
|
|
1665
|
+
deployed_at?: string;
|
|
1666
|
+
/**
|
|
1667
|
+
* Task-specific errors and warnings (e.g., activation failures, platform issues)
|
|
1668
|
+
*/
|
|
1669
|
+
errors?: Error[];
|
|
1670
|
+
}
|
|
1671
|
+
/**
|
|
1672
|
+
* Standard error structure for task-specific errors and warnings
|
|
1673
|
+
*/
|
|
1674
|
+
//# sourceMappingURL=tools.generated.d.ts.map
|