@adcp/client 3.11.0 → 3.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/adcp.js +32 -1
- package/dist/lib/auth/index.d.ts +4 -0
- package/dist/lib/auth/index.d.ts.map +1 -1
- package/dist/lib/auth/index.js +5 -0
- package/dist/lib/auth/index.js.map +1 -1
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts +9 -0
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +73 -20
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/errors/index.d.ts +63 -0
- package/dist/lib/errors/index.d.ts.map +1 -1
- package/dist/lib/errors/index.js +82 -1
- package/dist/lib/errors/index.js.map +1 -1
- package/dist/lib/index.d.ts +2 -1
- 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/protocols/a2a.d.ts.map +1 -1
- package/dist/lib/protocols/a2a.js +82 -57
- package/dist/lib/protocols/a2a.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +129 -5
- 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 +535 -27
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +114 -30
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +385 -90
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/package.json +2 -2
|
@@ -26,6 +26,145 @@ export type MediaChannel = 'display' | 'olv' | 'social' | 'search' | 'ctv' | 'li
|
|
|
26
26
|
* Geographic targeting level (country, region, metro, postal_area)
|
|
27
27
|
*/
|
|
28
28
|
export type GeographicTargetingLevel = 'country' | 'region' | 'metro' | 'postal_area';
|
|
29
|
+
/**
|
|
30
|
+
* Targeting constraint for a specific signal. Uses value_type as discriminator to determine the targeting expression format.
|
|
31
|
+
*/
|
|
32
|
+
export type SignalTargeting = {
|
|
33
|
+
signal_id: SignalID;
|
|
34
|
+
/**
|
|
35
|
+
* Discriminator for binary signals
|
|
36
|
+
*/
|
|
37
|
+
value_type: 'binary';
|
|
38
|
+
/**
|
|
39
|
+
* Whether to include (true) or exclude (false) users matching this signal
|
|
40
|
+
*/
|
|
41
|
+
value: boolean;
|
|
42
|
+
[k: string]: unknown | undefined;
|
|
43
|
+
} | {
|
|
44
|
+
signal_id: SignalID1;
|
|
45
|
+
/**
|
|
46
|
+
* Discriminator for categorical signals
|
|
47
|
+
*/
|
|
48
|
+
value_type: 'categorical';
|
|
49
|
+
/**
|
|
50
|
+
* Values to target. Users with any of these values will be included.
|
|
51
|
+
*
|
|
52
|
+
* @minItems 1
|
|
53
|
+
*/
|
|
54
|
+
values: [string, ...string[]];
|
|
55
|
+
[k: string]: unknown | undefined;
|
|
56
|
+
} | {
|
|
57
|
+
signal_id: SignalID2;
|
|
58
|
+
/**
|
|
59
|
+
* Discriminator for numeric signals
|
|
60
|
+
*/
|
|
61
|
+
value_type: 'numeric';
|
|
62
|
+
/**
|
|
63
|
+
* Minimum value (inclusive). Omit for no minimum. Must be <= max_value when both are provided. Should be >= signal's range.min if defined.
|
|
64
|
+
*/
|
|
65
|
+
min_value?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Maximum value (inclusive). Omit for no maximum. Must be >= min_value when both are provided. Should be <= signal's range.max if defined.
|
|
68
|
+
*/
|
|
69
|
+
max_value?: number;
|
|
70
|
+
[k: string]: unknown | undefined;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* The signal to target
|
|
74
|
+
*/
|
|
75
|
+
export type SignalID = {
|
|
76
|
+
/**
|
|
77
|
+
* Discriminator indicating this signal is from a data provider's published catalog
|
|
78
|
+
*/
|
|
79
|
+
source: 'catalog';
|
|
80
|
+
/**
|
|
81
|
+
* 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
|
|
82
|
+
*/
|
|
83
|
+
data_provider_domain: string;
|
|
84
|
+
/**
|
|
85
|
+
* Signal identifier within the data provider's catalog (e.g., 'likely_tesla_buyers', 'income_100k_plus')
|
|
86
|
+
*/
|
|
87
|
+
id: string;
|
|
88
|
+
[k: string]: unknown | undefined;
|
|
89
|
+
} | {
|
|
90
|
+
/**
|
|
91
|
+
* Discriminator indicating this signal is native to the agent (not from a data provider catalog)
|
|
92
|
+
*/
|
|
93
|
+
source: 'agent';
|
|
94
|
+
/**
|
|
95
|
+
* URL of the signals agent that provides this signal (e.g., 'https://liveramp.com/.well-known/adcp/signals')
|
|
96
|
+
*/
|
|
97
|
+
agent_url: string;
|
|
98
|
+
/**
|
|
99
|
+
* Signal identifier within the agent's signal set (e.g., 'custom_auto_intenders')
|
|
100
|
+
*/
|
|
101
|
+
id: string;
|
|
102
|
+
[k: string]: unknown | undefined;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* The signal to target
|
|
106
|
+
*/
|
|
107
|
+
export type SignalID1 = {
|
|
108
|
+
/**
|
|
109
|
+
* Discriminator indicating this signal is from a data provider's published catalog
|
|
110
|
+
*/
|
|
111
|
+
source: 'catalog';
|
|
112
|
+
/**
|
|
113
|
+
* 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
|
|
114
|
+
*/
|
|
115
|
+
data_provider_domain: string;
|
|
116
|
+
/**
|
|
117
|
+
* Signal identifier within the data provider's catalog (e.g., 'likely_tesla_buyers', 'income_100k_plus')
|
|
118
|
+
*/
|
|
119
|
+
id: string;
|
|
120
|
+
[k: string]: unknown | undefined;
|
|
121
|
+
} | {
|
|
122
|
+
/**
|
|
123
|
+
* Discriminator indicating this signal is native to the agent (not from a data provider catalog)
|
|
124
|
+
*/
|
|
125
|
+
source: 'agent';
|
|
126
|
+
/**
|
|
127
|
+
* URL of the signals agent that provides this signal (e.g., 'https://liveramp.com/.well-known/adcp/signals')
|
|
128
|
+
*/
|
|
129
|
+
agent_url: string;
|
|
130
|
+
/**
|
|
131
|
+
* Signal identifier within the agent's signal set (e.g., 'custom_auto_intenders')
|
|
132
|
+
*/
|
|
133
|
+
id: string;
|
|
134
|
+
[k: string]: unknown | undefined;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* The signal to target
|
|
138
|
+
*/
|
|
139
|
+
export type SignalID2 = {
|
|
140
|
+
/**
|
|
141
|
+
* Discriminator indicating this signal is from a data provider's published catalog
|
|
142
|
+
*/
|
|
143
|
+
source: 'catalog';
|
|
144
|
+
/**
|
|
145
|
+
* 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
|
|
146
|
+
*/
|
|
147
|
+
data_provider_domain: string;
|
|
148
|
+
/**
|
|
149
|
+
* Signal identifier within the data provider's catalog (e.g., 'likely_tesla_buyers', 'income_100k_plus')
|
|
150
|
+
*/
|
|
151
|
+
id: string;
|
|
152
|
+
[k: string]: unknown | undefined;
|
|
153
|
+
} | {
|
|
154
|
+
/**
|
|
155
|
+
* Discriminator indicating this signal is native to the agent (not from a data provider catalog)
|
|
156
|
+
*/
|
|
157
|
+
source: 'agent';
|
|
158
|
+
/**
|
|
159
|
+
* URL of the signals agent that provides this signal (e.g., 'https://liveramp.com/.well-known/adcp/signals')
|
|
160
|
+
*/
|
|
161
|
+
agent_url: string;
|
|
162
|
+
/**
|
|
163
|
+
* Signal identifier within the agent's signal set (e.g., 'custom_auto_intenders')
|
|
164
|
+
*/
|
|
165
|
+
id: string;
|
|
166
|
+
[k: string]: unknown | undefined;
|
|
167
|
+
};
|
|
29
168
|
/**
|
|
30
169
|
* Request parameters for discovering available advertising products
|
|
31
170
|
*/
|
|
@@ -65,7 +204,7 @@ export interface BrandManifest {
|
|
|
65
204
|
*/
|
|
66
205
|
name: string;
|
|
67
206
|
/**
|
|
68
|
-
* Brand logo assets with
|
|
207
|
+
* Brand logo assets with structured fields for orientation, background compatibility, and variant type. Use the orientation, background, and variant enum fields for reliable filtering by creative agents.
|
|
69
208
|
*/
|
|
70
209
|
logos?: {
|
|
71
210
|
/**
|
|
@@ -73,9 +212,25 @@ export interface BrandManifest {
|
|
|
73
212
|
*/
|
|
74
213
|
url: string;
|
|
75
214
|
/**
|
|
76
|
-
*
|
|
215
|
+
* Logo aspect ratio orientation. square: ~1:1, horizontal: wide, vertical: tall, stacked: vertically arranged elements
|
|
216
|
+
*/
|
|
217
|
+
orientation?: 'square' | 'horizontal' | 'vertical' | 'stacked';
|
|
218
|
+
/**
|
|
219
|
+
* Background compatibility. dark-bg: use on dark backgrounds, light-bg: use on light backgrounds, transparent-bg: has transparent background
|
|
220
|
+
*/
|
|
221
|
+
background?: 'dark-bg' | 'light-bg' | 'transparent-bg';
|
|
222
|
+
/**
|
|
223
|
+
* Logo variant type. primary: main logo, secondary: alternative, icon: symbol only, wordmark: text only, full-lockup: complete logo
|
|
224
|
+
*/
|
|
225
|
+
variant?: 'primary' | 'secondary' | 'icon' | 'wordmark' | 'full-lockup';
|
|
226
|
+
/**
|
|
227
|
+
* Additional semantic tags for custom categorization beyond the standard orientation, background, and variant fields.
|
|
77
228
|
*/
|
|
78
229
|
tags?: string[];
|
|
230
|
+
/**
|
|
231
|
+
* Human-readable description of when to use this logo variant (e.g., 'Primary logo for use on light backgrounds', 'Icon-only variant for small formats')
|
|
232
|
+
*/
|
|
233
|
+
usage?: string;
|
|
79
234
|
/**
|
|
80
235
|
* Logo width in pixels
|
|
81
236
|
*/
|
|
@@ -128,9 +283,26 @@ export interface BrandManifest {
|
|
|
128
283
|
font_urls?: string[];
|
|
129
284
|
};
|
|
130
285
|
/**
|
|
131
|
-
* Brand voice and messaging tone
|
|
286
|
+
* Brand voice and messaging tone guidelines for creative agents.
|
|
132
287
|
*/
|
|
133
|
-
tone?:
|
|
288
|
+
tone?: {
|
|
289
|
+
/**
|
|
290
|
+
* High-level voice descriptor (e.g., 'warm and inviting', 'professional and trustworthy')
|
|
291
|
+
*/
|
|
292
|
+
voice?: string;
|
|
293
|
+
/**
|
|
294
|
+
* Personality traits that characterize the brand voice
|
|
295
|
+
*/
|
|
296
|
+
attributes?: string[];
|
|
297
|
+
/**
|
|
298
|
+
* Specific guidance for copy generation - what TO do
|
|
299
|
+
*/
|
|
300
|
+
dos?: string[];
|
|
301
|
+
/**
|
|
302
|
+
* Guardrails to avoid brand violations - what NOT to do
|
|
303
|
+
*/
|
|
304
|
+
donts?: string[];
|
|
305
|
+
};
|
|
134
306
|
/**
|
|
135
307
|
* Brand voice configuration for audio/conversational experiences
|
|
136
308
|
*/
|
|
@@ -402,6 +574,10 @@ export interface ProductFilters {
|
|
|
402
574
|
*/
|
|
403
575
|
system?: string;
|
|
404
576
|
}[];
|
|
577
|
+
/**
|
|
578
|
+
* Filter to products supporting specific signals from data provider catalogs. Products must have the requested signals in their data_provider_signals and signal_targeting_allowed must be true (or all signals requested).
|
|
579
|
+
*/
|
|
580
|
+
signal_targeting?: SignalTargeting[];
|
|
405
581
|
[k: string]: unknown | undefined;
|
|
406
582
|
}
|
|
407
583
|
/**
|
|
@@ -551,6 +727,52 @@ export type CoBrandingRequirement = 'required' | 'optional' | 'none';
|
|
|
551
727
|
* Landing page requirements
|
|
552
728
|
*/
|
|
553
729
|
export type LandingPageRequirement = 'any' | 'retailer_site_only' | 'must_include_retailer';
|
|
730
|
+
/**
|
|
731
|
+
* Selects signals from a data provider's adagents.json catalog. Used for product definitions and agent authorization. Supports three selection patterns: all signals, specific IDs, or by tags.
|
|
732
|
+
*/
|
|
733
|
+
export type DataProviderSignalSelector = {
|
|
734
|
+
/**
|
|
735
|
+
* Domain where data provider's adagents.json is hosted (e.g., 'polk.com')
|
|
736
|
+
*/
|
|
737
|
+
data_provider_domain: string;
|
|
738
|
+
/**
|
|
739
|
+
* Discriminator indicating all signals from this data provider are included
|
|
740
|
+
*/
|
|
741
|
+
selection_type: 'all';
|
|
742
|
+
[k: string]: unknown | undefined;
|
|
743
|
+
} | {
|
|
744
|
+
/**
|
|
745
|
+
* Domain where data provider's adagents.json is hosted (e.g., 'polk.com')
|
|
746
|
+
*/
|
|
747
|
+
data_provider_domain: string;
|
|
748
|
+
/**
|
|
749
|
+
* Discriminator indicating selection by specific signal IDs
|
|
750
|
+
*/
|
|
751
|
+
selection_type: 'by_id';
|
|
752
|
+
/**
|
|
753
|
+
* Specific signal IDs from the data provider's catalog
|
|
754
|
+
*
|
|
755
|
+
* @minItems 1
|
|
756
|
+
*/
|
|
757
|
+
signal_ids: [string, ...string[]];
|
|
758
|
+
[k: string]: unknown | undefined;
|
|
759
|
+
} | {
|
|
760
|
+
/**
|
|
761
|
+
* Domain where data provider's adagents.json is hosted (e.g., 'polk.com')
|
|
762
|
+
*/
|
|
763
|
+
data_provider_domain: string;
|
|
764
|
+
/**
|
|
765
|
+
* Discriminator indicating selection by signal tags
|
|
766
|
+
*/
|
|
767
|
+
selection_type: 'by_tag';
|
|
768
|
+
/**
|
|
769
|
+
* Signal tags from the data provider's catalog. Selector covers all signals with these tags
|
|
770
|
+
*
|
|
771
|
+
* @minItems 1
|
|
772
|
+
*/
|
|
773
|
+
signal_tags: [string, ...string[]];
|
|
774
|
+
[k: string]: unknown | undefined;
|
|
775
|
+
};
|
|
554
776
|
/**
|
|
555
777
|
* Response payload for get_products task
|
|
556
778
|
*/
|
|
@@ -641,6 +863,14 @@ export interface Product {
|
|
|
641
863
|
* Whether buyers can filter this product to a subset of its publisher_properties. When false (default), the product is 'all or nothing' - buyers must accept all properties or the product is excluded from property_list filtering results.
|
|
642
864
|
*/
|
|
643
865
|
property_targeting_allowed?: boolean;
|
|
866
|
+
/**
|
|
867
|
+
* Data provider signals available for this product. Buyers fetch signal definitions from each data provider's adagents.json and can verify agent authorization.
|
|
868
|
+
*/
|
|
869
|
+
data_provider_signals?: DataProviderSignalSelector[];
|
|
870
|
+
/**
|
|
871
|
+
* 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.
|
|
872
|
+
*/
|
|
873
|
+
signal_targeting_allowed?: boolean;
|
|
644
874
|
/**
|
|
645
875
|
* Explanation of why this product matches the brief (only included when brief is provided)
|
|
646
876
|
*/
|
|
@@ -1416,10 +1646,6 @@ export interface ListCreativeFormatsRequest {
|
|
|
1416
1646
|
* Media type of this format - determines rendering method and asset requirements
|
|
1417
1647
|
*/
|
|
1418
1648
|
export type FormatIDParameter = 'dimensions' | 'duration';
|
|
1419
|
-
/**
|
|
1420
|
-
* Type of asset
|
|
1421
|
-
*/
|
|
1422
|
-
export type AssetContentType1 = 'image' | 'video' | 'audio' | 'text' | 'markdown' | 'html' | 'css' | 'javascript' | 'vast' | 'daast' | 'promoted_offerings' | 'url' | 'webhook';
|
|
1423
1649
|
/**
|
|
1424
1650
|
* Capabilities supported by creative agents for format handling
|
|
1425
1651
|
*/
|
|
@@ -1498,31 +1724,7 @@ export interface Format {
|
|
|
1498
1724
|
/**
|
|
1499
1725
|
* Array of all assets supported for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Use the 'required' boolean on each asset to indicate whether it's mandatory.
|
|
1500
1726
|
*/
|
|
1501
|
-
assets?: ({
|
|
1502
|
-
/**
|
|
1503
|
-
* Discriminator indicating this is an individual asset
|
|
1504
|
-
*/
|
|
1505
|
-
item_type: 'individual';
|
|
1506
|
-
/**
|
|
1507
|
-
* Unique identifier for this asset. Creative manifests MUST use this exact value as the key in the assets object.
|
|
1508
|
-
*/
|
|
1509
|
-
asset_id: string;
|
|
1510
|
-
asset_type: AssetContentType;
|
|
1511
|
-
/**
|
|
1512
|
-
* Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo', 'third_party_tracking'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1513
|
-
*/
|
|
1514
|
-
asset_role?: string;
|
|
1515
|
-
/**
|
|
1516
|
-
* Whether this asset is required (true) or optional (false). Required assets must be provided for a valid creative. Optional assets enhance the creative but are not mandatory.
|
|
1517
|
-
*/
|
|
1518
|
-
required: boolean;
|
|
1519
|
-
/**
|
|
1520
|
-
* Technical requirements for this asset (dimensions, file size, duration, etc.). For template formats, use parameters_from_format_id: true to indicate asset parameters must match the format_id parameters (width/height/unit and/or duration_ms).
|
|
1521
|
-
*/
|
|
1522
|
-
requirements?: {
|
|
1523
|
-
[k: string]: unknown | undefined;
|
|
1524
|
-
};
|
|
1525
|
-
} | {
|
|
1727
|
+
assets?: (BaseIndividualAsset | {
|
|
1526
1728
|
/**
|
|
1527
1729
|
* Discriminator indicating this is a repeatable asset group
|
|
1528
1730
|
*/
|
|
@@ -1546,27 +1748,7 @@ export interface Format {
|
|
|
1546
1748
|
/**
|
|
1547
1749
|
* Assets within each repetition of this group
|
|
1548
1750
|
*/
|
|
1549
|
-
assets:
|
|
1550
|
-
/**
|
|
1551
|
-
* Identifier for this asset within the group
|
|
1552
|
-
*/
|
|
1553
|
-
asset_id: string;
|
|
1554
|
-
asset_type: AssetContentType1;
|
|
1555
|
-
/**
|
|
1556
|
-
* Optional descriptive label for this asset's purpose. Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1557
|
-
*/
|
|
1558
|
-
asset_role?: string;
|
|
1559
|
-
/**
|
|
1560
|
-
* Whether this asset is required within each repetition of the group
|
|
1561
|
-
*/
|
|
1562
|
-
required: boolean;
|
|
1563
|
-
/**
|
|
1564
|
-
* Technical requirements for this asset. For template formats, use parameters_from_format_id: true to indicate asset parameters must match the format_id parameters (width/height/unit and/or duration_ms).
|
|
1565
|
-
*/
|
|
1566
|
-
requirements?: {
|
|
1567
|
-
[k: string]: unknown | undefined;
|
|
1568
|
-
};
|
|
1569
|
-
}[];
|
|
1751
|
+
assets: BaseGroupAsset[];
|
|
1570
1752
|
})[];
|
|
1571
1753
|
/**
|
|
1572
1754
|
* Delivery method specifications (e.g., hosted, VAST, third-party tags)
|
|
@@ -1613,6 +1795,41 @@ export interface Format {
|
|
|
1613
1795
|
/**
|
|
1614
1796
|
* Structured format identifier with agent URL and format name
|
|
1615
1797
|
*/
|
|
1798
|
+
export interface BaseIndividualAsset {
|
|
1799
|
+
/**
|
|
1800
|
+
* Discriminator indicating this is an individual asset
|
|
1801
|
+
*/
|
|
1802
|
+
item_type: 'individual';
|
|
1803
|
+
/**
|
|
1804
|
+
* Unique identifier for this asset. Creative manifests MUST use this exact value as the key in the assets object.
|
|
1805
|
+
*/
|
|
1806
|
+
asset_id: string;
|
|
1807
|
+
/**
|
|
1808
|
+
* Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo', 'third_party_tracking'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1809
|
+
*/
|
|
1810
|
+
asset_role?: string;
|
|
1811
|
+
/**
|
|
1812
|
+
* Whether this asset is required (true) or optional (false). Required assets must be provided for a valid creative. Optional assets enhance the creative but are not mandatory.
|
|
1813
|
+
*/
|
|
1814
|
+
required: boolean;
|
|
1815
|
+
}
|
|
1816
|
+
export interface BaseGroupAsset {
|
|
1817
|
+
/**
|
|
1818
|
+
* Identifier for this asset within the group
|
|
1819
|
+
*/
|
|
1820
|
+
asset_id: string;
|
|
1821
|
+
/**
|
|
1822
|
+
* Optional descriptive label for this asset's purpose. Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.
|
|
1823
|
+
*/
|
|
1824
|
+
asset_role?: string;
|
|
1825
|
+
/**
|
|
1826
|
+
* Whether this asset is required within each repetition of the group
|
|
1827
|
+
*/
|
|
1828
|
+
required: boolean;
|
|
1829
|
+
}
|
|
1830
|
+
/**
|
|
1831
|
+
* 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.
|
|
1832
|
+
*/
|
|
1616
1833
|
export interface FormatID3 {
|
|
1617
1834
|
/**
|
|
1618
1835
|
* 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)
|
|
@@ -1647,6 +1864,14 @@ export type Pacing = 'even' | 'asap' | 'front_loaded';
|
|
|
1647
1864
|
* Metro area classification system (e.g., 'nielsen_dma', 'uk_itl2')
|
|
1648
1865
|
*/
|
|
1649
1866
|
export type PostalCodeSystem = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode';
|
|
1867
|
+
/**
|
|
1868
|
+
* Methods for verifying user age for compliance. Does not include 'inferred' as it is not accepted for regulatory compliance.
|
|
1869
|
+
*/
|
|
1870
|
+
export type AgeVerificationMethod = 'facial_age_estimation' | 'id_document' | 'digital_id' | 'credit_card' | 'world_id';
|
|
1871
|
+
/**
|
|
1872
|
+
* Operating system platforms for device targeting. Browser values from Sec-CH-UA-Platform standard, extended for CTV.
|
|
1873
|
+
*/
|
|
1874
|
+
export type DevicePlatform = 'ios' | 'android' | 'windows' | 'macos' | 'linux' | 'chromeos' | 'tvos' | 'tizen' | 'webos' | 'fire_os' | 'roku_os' | 'unknown';
|
|
1650
1875
|
/**
|
|
1651
1876
|
* JavaScript module type
|
|
1652
1877
|
*/
|
|
@@ -1981,6 +2206,35 @@ export interface TargetingOverlay {
|
|
|
1981
2206
|
axe_exclude_segment?: string;
|
|
1982
2207
|
frequency_cap?: FrequencyCap;
|
|
1983
2208
|
property_list?: PropertyListReference;
|
|
2209
|
+
/**
|
|
2210
|
+
* Age restriction for compliance. Use for legal requirements (alcohol, gambling), not audience targeting.
|
|
2211
|
+
*/
|
|
2212
|
+
age_restriction?: {
|
|
2213
|
+
/**
|
|
2214
|
+
* Minimum age required
|
|
2215
|
+
*/
|
|
2216
|
+
min: number;
|
|
2217
|
+
/**
|
|
2218
|
+
* Whether verified age (not inferred) is required for compliance
|
|
2219
|
+
*/
|
|
2220
|
+
verification_required?: boolean;
|
|
2221
|
+
/**
|
|
2222
|
+
* Accepted verification methods. If omitted, any method the platform supports is acceptable.
|
|
2223
|
+
*/
|
|
2224
|
+
accepted_methods?: AgeVerificationMethod[];
|
|
2225
|
+
};
|
|
2226
|
+
/**
|
|
2227
|
+
* Restrict to specific platforms. Use for technical compatibility (app only works on iOS). Values from Sec-CH-UA-Platform standard, extended for CTV.
|
|
2228
|
+
*
|
|
2229
|
+
* @minItems 1
|
|
2230
|
+
*/
|
|
2231
|
+
device_platform?: [DevicePlatform, ...DevicePlatform[]];
|
|
2232
|
+
/**
|
|
2233
|
+
* Restrict to users with specific language preferences. ISO 639-1 codes (e.g., 'en', 'es', 'fr').
|
|
2234
|
+
*
|
|
2235
|
+
* @minItems 1
|
|
2236
|
+
*/
|
|
2237
|
+
language?: [string, ...string[]];
|
|
1984
2238
|
[k: string]: unknown | undefined;
|
|
1985
2239
|
}
|
|
1986
2240
|
/**
|
|
@@ -2596,7 +2850,7 @@ export interface Package {
|
|
|
2596
2850
|
[k: string]: unknown | undefined;
|
|
2597
2851
|
}
|
|
2598
2852
|
/**
|
|
2599
|
-
* Optional
|
|
2853
|
+
* Optional restriction overlays for media buys. Most targeting should be expressed in the brief and handled by the publisher. These fields are for functional restrictions: geographic (RCT testing, regulatory compliance), age verification (alcohol, gambling), device platform (app compatibility), and language (localization).
|
|
2600
2854
|
*/
|
|
2601
2855
|
export interface CreateMediaBuyError {
|
|
2602
2856
|
/**
|
|
@@ -4116,7 +4370,42 @@ export interface PreviewBatchResultError {
|
|
|
4116
4370
|
success?: false;
|
|
4117
4371
|
}
|
|
4118
4372
|
/**
|
|
4119
|
-
*
|
|
4373
|
+
* Request parameters for discovering signals. Use signal_spec for natural language discovery, signal_ids for exact lookups, or both (signal_ids take precedence for exact matches, signal_spec provides additional discovery context).
|
|
4374
|
+
*/
|
|
4375
|
+
export type GetSignalsRequest = {
|
|
4376
|
+
[k: string]: unknown | undefined;
|
|
4377
|
+
} & {
|
|
4378
|
+
/**
|
|
4379
|
+
* Natural language description of the desired signals. When used alone, enables semantic discovery. When combined with signal_ids, provides context for the agent but signal_ids matches are returned first.
|
|
4380
|
+
*/
|
|
4381
|
+
signal_spec?: string;
|
|
4382
|
+
/**
|
|
4383
|
+
* Specific signals to look up by data provider and ID. Returns exact matches from the data provider's catalog. Takes precedence over signal_spec when both are provided.
|
|
4384
|
+
*/
|
|
4385
|
+
signal_ids?: SignalID[];
|
|
4386
|
+
/**
|
|
4387
|
+
* Deployment targets where signals need to be activated
|
|
4388
|
+
*/
|
|
4389
|
+
deliver_to: {
|
|
4390
|
+
/**
|
|
4391
|
+
* List of deployment targets (DSPs, sales agents, etc.). If the authenticated caller matches one of these deployment targets, activation keys will be included in the response.
|
|
4392
|
+
*/
|
|
4393
|
+
deployments: Destination[];
|
|
4394
|
+
/**
|
|
4395
|
+
* Countries where signals will be used (ISO codes)
|
|
4396
|
+
*/
|
|
4397
|
+
countries: string[];
|
|
4398
|
+
};
|
|
4399
|
+
filters?: SignalFilters;
|
|
4400
|
+
/**
|
|
4401
|
+
* Maximum number of results to return
|
|
4402
|
+
*/
|
|
4403
|
+
max_results?: number;
|
|
4404
|
+
context?: ContextObject;
|
|
4405
|
+
ext?: ExtensionObject;
|
|
4406
|
+
};
|
|
4407
|
+
/**
|
|
4408
|
+
* Universal signal identifier. Uses 'source' as discriminator: 'catalog' for signals from a data provider's published catalog (verifiable), 'agent' for agent-native signals (not externally verifiable).
|
|
4120
4409
|
*/
|
|
4121
4410
|
export type Destination = {
|
|
4122
4411
|
/**
|
|
@@ -4151,35 +4440,6 @@ export type Destination = {
|
|
|
4151
4440
|
* Types of signal catalogs available for audience targeting
|
|
4152
4441
|
*/
|
|
4153
4442
|
export type SignalCatalogType = 'marketplace' | 'custom' | 'owned';
|
|
4154
|
-
/**
|
|
4155
|
-
* Request parameters for discovering signals based on description
|
|
4156
|
-
*/
|
|
4157
|
-
export interface GetSignalsRequest {
|
|
4158
|
-
/**
|
|
4159
|
-
* Natural language description of the desired signals
|
|
4160
|
-
*/
|
|
4161
|
-
signal_spec: string;
|
|
4162
|
-
/**
|
|
4163
|
-
* Deployment targets where signals need to be activated
|
|
4164
|
-
*/
|
|
4165
|
-
deliver_to: {
|
|
4166
|
-
/**
|
|
4167
|
-
* List of deployment targets (DSPs, sales agents, etc.). If the authenticated caller matches one of these deployment targets, activation keys will be included in the response.
|
|
4168
|
-
*/
|
|
4169
|
-
deployments: Destination[];
|
|
4170
|
-
/**
|
|
4171
|
-
* Countries where signals will be used (ISO codes)
|
|
4172
|
-
*/
|
|
4173
|
-
countries: string[];
|
|
4174
|
-
};
|
|
4175
|
-
filters?: SignalFilters;
|
|
4176
|
-
/**
|
|
4177
|
-
* Maximum number of results to return
|
|
4178
|
-
*/
|
|
4179
|
-
max_results?: number;
|
|
4180
|
-
context?: ContextObject;
|
|
4181
|
-
ext?: ExtensionObject;
|
|
4182
|
-
}
|
|
4183
4443
|
/**
|
|
4184
4444
|
* Filters to refine signal discovery results
|
|
4185
4445
|
*/
|
|
@@ -4206,7 +4466,11 @@ export interface SignalFilters {
|
|
|
4206
4466
|
* 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.
|
|
4207
4467
|
*/
|
|
4208
4468
|
/**
|
|
4209
|
-
*
|
|
4469
|
+
* Universal signal identifier referencing the data provider's catalog. Use this to verify authorization and look up signal definitions.
|
|
4470
|
+
*/
|
|
4471
|
+
export type SignalValueType = 'binary' | 'categorical' | 'numeric';
|
|
4472
|
+
/**
|
|
4473
|
+
* Catalog type of signal (marketplace, custom, owned)
|
|
4210
4474
|
*/
|
|
4211
4475
|
export type Deployment = {
|
|
4212
4476
|
/**
|
|
@@ -4327,8 +4591,9 @@ export interface GetSignalsResponse {
|
|
|
4327
4591
|
* Array of matching signals
|
|
4328
4592
|
*/
|
|
4329
4593
|
signals: {
|
|
4594
|
+
signal_id?: SignalID;
|
|
4330
4595
|
/**
|
|
4331
|
-
*
|
|
4596
|
+
* Opaque identifier used for activation. This is the signals agent's internal segment ID.
|
|
4332
4597
|
*/
|
|
4333
4598
|
signal_agent_segment_id: string;
|
|
4334
4599
|
/**
|
|
@@ -4339,9 +4604,10 @@ export interface GetSignalsResponse {
|
|
|
4339
4604
|
* Detailed signal description
|
|
4340
4605
|
*/
|
|
4341
4606
|
description: string;
|
|
4607
|
+
value_type?: SignalValueType;
|
|
4342
4608
|
signal_type: SignalCatalogType;
|
|
4343
4609
|
/**
|
|
4344
|
-
*
|
|
4610
|
+
* Human-readable name of the data provider
|
|
4345
4611
|
*/
|
|
4346
4612
|
data_provider: string;
|
|
4347
4613
|
/**
|
|
@@ -6594,7 +6860,7 @@ export interface GetAdCPCapabilitiesRequest {
|
|
|
6594
6860
|
* 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.
|
|
6595
6861
|
*/
|
|
6596
6862
|
/**
|
|
6597
|
-
*
|
|
6863
|
+
* Methods for verifying user age for compliance. Does not include 'inferred' as it is not accepted for regulatory compliance.
|
|
6598
6864
|
*/
|
|
6599
6865
|
export interface GetAdCPCapabilitiesResponse {
|
|
6600
6866
|
/**
|
|
@@ -6718,6 +6984,27 @@ export interface GetAdCPCapabilitiesResponse {
|
|
|
6718
6984
|
*/
|
|
6719
6985
|
au_postcode?: boolean;
|
|
6720
6986
|
};
|
|
6987
|
+
/**
|
|
6988
|
+
* Age restriction capabilities for compliance (alcohol, gambling)
|
|
6989
|
+
*/
|
|
6990
|
+
age_restriction?: {
|
|
6991
|
+
/**
|
|
6992
|
+
* Whether platform supports age restrictions
|
|
6993
|
+
*/
|
|
6994
|
+
supported?: boolean;
|
|
6995
|
+
/**
|
|
6996
|
+
* Age verification methods this platform supports
|
|
6997
|
+
*/
|
|
6998
|
+
verification_methods?: AgeVerificationMethod[];
|
|
6999
|
+
};
|
|
7000
|
+
/**
|
|
7001
|
+
* Whether platform supports device platform targeting (Sec-CH-UA-Platform values)
|
|
7002
|
+
*/
|
|
7003
|
+
device_platform?: boolean;
|
|
7004
|
+
/**
|
|
7005
|
+
* Whether platform supports language targeting (ISO 639-1 codes)
|
|
7006
|
+
*/
|
|
7007
|
+
language?: boolean;
|
|
6721
7008
|
};
|
|
6722
7009
|
};
|
|
6723
7010
|
/**
|
|
@@ -6747,13 +7034,21 @@ export interface GetAdCPCapabilitiesResponse {
|
|
|
6747
7034
|
};
|
|
6748
7035
|
};
|
|
6749
7036
|
/**
|
|
6750
|
-
* Signals protocol capabilities. Only present if signals is in supported_protocols.
|
|
7037
|
+
* Signals protocol capabilities. Only present if signals is in supported_protocols.
|
|
6751
7038
|
*/
|
|
6752
7039
|
signals?: {
|
|
7040
|
+
/**
|
|
7041
|
+
* Data provider domains this signals agent is authorized to resell. Buyers should fetch each data provider's adagents.json for signal catalog definitions and to verify authorization.
|
|
7042
|
+
*/
|
|
7043
|
+
data_provider_domains?: string[];
|
|
6753
7044
|
/**
|
|
6754
7045
|
* Optional signals features supported
|
|
6755
7046
|
*/
|
|
6756
7047
|
features?: {
|
|
7048
|
+
/**
|
|
7049
|
+
* Supports signals from data provider catalogs with structured signal_id references
|
|
7050
|
+
*/
|
|
7051
|
+
catalog_signals?: boolean;
|
|
6757
7052
|
[k: string]: boolean | undefined;
|
|
6758
7053
|
};
|
|
6759
7054
|
};
|