@adcp/sdk 14.0.0-beta.0 → 14.0.0-beta.1

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.
Files changed (140) hide show
  1. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/get-account-financials-request.json +610 -0
  2. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/get-account-financials-response.json +1055 -0
  3. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/list-accounts-request.json +629 -0
  4. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/list-accounts-response.json +1558 -0
  5. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/report-usage-request.json +702 -0
  6. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/report-usage-response.json +309 -0
  7. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/sync-accounts-request.json +1113 -0
  8. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/sync-accounts-response.json +1567 -0
  9. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/sync-governance-request.json +662 -0
  10. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/account/sync-governance-response.json +921 -0
  11. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/creative/list-creatives-request.json +992 -0
  12. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/creative/list-creatives-response.json +5965 -0
  13. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/creative/sync-creatives-request.json +3936 -0
  14. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/creative/sync-creatives-response.json +3859 -0
  15. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/manifest.json +206 -0
  16. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/accept-proposal-request.json +601 -0
  17. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/accept-proposal-response.json +4799 -0
  18. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/buy-products-request.json +4107 -0
  19. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/buy-products-response.json +4799 -0
  20. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/control-media-buy-request.json +3365 -0
  21. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/control-media-buy-response.json +656 -0
  22. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/decline-proposals-request.json +334 -0
  23. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/decline-proposals-response.json +271 -0
  24. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/get-media-buy-delivery-request.json +1236 -0
  25. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/get-media-buy-delivery-response.json +2861 -0
  26. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/get-media-buys-request.json +678 -0
  27. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/get-media-buys-response.json +10861 -0
  28. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/list-products-request.json +4229 -0
  29. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/list-products-response.json +3824 -0
  30. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/log-event-request.json +421 -0
  31. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/log-event-response.json +394 -0
  32. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/media-buy-delivery-webhook-result.json +1366 -0
  33. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/provide-performance-feedback-request.json +884 -0
  34. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/provide-performance-feedback-response.json +422 -0
  35. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/refine-proposals-request.json +4335 -0
  36. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/refine-proposals-response.json +7328 -0
  37. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/request-proposals-request.json +4307 -0
  38. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/request-proposals-response.json +7105 -0
  39. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-audiences-request.json +760 -0
  40. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-audiences-response.json +541 -0
  41. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-catalogs-request.json +1142 -0
  42. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-catalogs-response.json +1153 -0
  43. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-event-sources-request.json +743 -0
  44. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/sync-event-sources-response.json +619 -0
  45. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/get-account-financials-request.json +544 -0
  46. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/list-accounts-request.json +557 -0
  47. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/report-usage-request.json +617 -0
  48. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/sync-accounts-request.json +984 -0
  49. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/account/sync-governance-request.json +581 -0
  50. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/creative/list-creatives-request.json +878 -0
  51. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/creative/sync-creatives-request.json +3456 -0
  52. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/manifest.json +175 -0
  53. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/accept-proposal-request.json +498 -0
  54. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/buy-products-request.json +3675 -0
  55. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/control-media-buy-request.json +3030 -0
  56. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/decline-proposals-request.json +282 -0
  57. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/get-media-buy-delivery-request.json +1136 -0
  58. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/get-media-buys-request.json +597 -0
  59. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/list-products-request.json +3780 -0
  60. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/log-event-request.json +386 -0
  61. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/provide-performance-feedback-request.json +784 -0
  62. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/refine-proposals-request.json +3878 -0
  63. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/request-proposals-request.json +3852 -0
  64. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/sync-audiences-request.json +682 -0
  65. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/sync-catalogs-request.json +1016 -0
  66. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/media-buy/sync-event-sources-request.json +660 -0
  67. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/protocol/get-adcp-capabilities-request.json +51 -0
  68. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/protocol/get-task-status-request.json +534 -0
  69. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/protocol/list-tasks-request.json +692 -0
  70. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/model-context/protocol/sync-agent-notification-configs-request.json +129 -0
  71. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/get-adcp-capabilities-request.json +58 -0
  72. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/get-adcp-capabilities-response.json +8069 -0
  73. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/get-task-status-request.json +601 -0
  74. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/get-task-status-response.json +612 -0
  75. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/list-tasks-request.json +775 -0
  76. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/list-tasks-response.json +483 -0
  77. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/sync-agent-notification-configs-request.json +155 -0
  78. package/dist/lib/schemas-data/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/protocol/sync-agent-notification-configs-response.json +382 -0
  79. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  80. package/dist/lib/server/create-adcp-server.d.mts +27 -0
  81. package/dist/lib/server/create-adcp-server.d.ts +27 -0
  82. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  83. package/dist/lib/server/create-adcp-server.js +120 -4
  84. package/dist/lib/server/create-adcp-server.js.map +1 -1
  85. package/dist/lib/server/create-adcp-server.mjs +121 -6
  86. package/dist/lib/server/create-adcp-server.mjs.map +1 -1
  87. package/dist/lib/server/decisioning/context.d.mts +6 -0
  88. package/dist/lib/server/decisioning/context.d.ts +6 -0
  89. package/dist/lib/server/decisioning/context.d.ts.map +1 -1
  90. package/dist/lib/server/decisioning/context.js.map +1 -1
  91. package/dist/lib/server/decisioning/index.d.mts +1 -1
  92. package/dist/lib/server/decisioning/index.d.ts +1 -1
  93. package/dist/lib/server/decisioning/index.d.ts.map +1 -1
  94. package/dist/lib/server/decisioning/index.js.map +1 -1
  95. package/dist/lib/server/decisioning/index.mjs.map +1 -1
  96. package/dist/lib/server/decisioning/platform.d.mts +21 -6
  97. package/dist/lib/server/decisioning/platform.d.ts +21 -6
  98. package/dist/lib/server/decisioning/platform.d.ts.map +1 -1
  99. package/dist/lib/server/decisioning/platform.js.map +1 -1
  100. package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
  101. package/dist/lib/server/decisioning/runtime/from-platform.js +201 -18
  102. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
  103. package/dist/lib/server/decisioning/runtime/from-platform.mjs +203 -19
  104. package/dist/lib/server/decisioning/runtime/from-platform.mjs.map +1 -1
  105. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -1
  106. package/dist/lib/server/decisioning/runtime/to-context.js +6 -0
  107. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -1
  108. package/dist/lib/server/decisioning/runtime/to-context.mjs +6 -0
  109. package/dist/lib/server/decisioning/runtime/to-context.mjs.map +1 -1
  110. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -1
  111. package/dist/lib/server/decisioning/runtime/validate-platform.js +35 -4
  112. package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -1
  113. package/dist/lib/server/decisioning/runtime/validate-platform.mjs +35 -4
  114. package/dist/lib/server/decisioning/runtime/validate-platform.mjs.map +1 -1
  115. package/dist/lib/server/decisioning/specialisms/sales.d.mts +39 -0
  116. package/dist/lib/server/decisioning/specialisms/sales.d.ts +39 -0
  117. package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -1
  118. package/dist/lib/server/decisioning/specialisms/sales.js.map +1 -1
  119. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  120. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  121. package/dist/lib/validation/schema-loader.d.mts +2 -0
  122. package/dist/lib/validation/schema-loader.d.ts +2 -0
  123. package/dist/lib/validation/schema-loader.d.ts.map +1 -1
  124. package/dist/lib/validation/schema-loader.js +31 -0
  125. package/dist/lib/validation/schema-loader.js.map +1 -1
  126. package/dist/lib/validation/schema-loader.mjs +30 -0
  127. package/dist/lib/validation/schema-loader.mjs.map +1 -1
  128. package/dist/lib/version.d.mts +3 -3
  129. package/dist/lib/version.d.ts +3 -3
  130. package/dist/lib/version.js +3 -3
  131. package/dist/lib/version.js.map +1 -1
  132. package/dist/lib/version.mjs +3 -3
  133. package/dist/lib/version.mjs.map +1 -1
  134. package/docs/guides/BUILD-AN-AGENT.md +10 -1
  135. package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +119 -0
  136. package/docs/llms.txt +1 -1
  137. package/docs/migration-12-to-14.md +8 -0
  138. package/docs/migration-13-to-14.md +30 -4
  139. package/docs/releases/14.0.0-beta.0.md +19 -1
  140. package/package.json +2 -1
@@ -0,0 +1,884 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://adcontextprotocol.org/schemas/3.2.0-beta.0/mcp/2026-07-28/profiles/media-buy/media-buy/provide-performance-feedback-request.json",
4
+ "type": "object",
5
+ "allOf": [
6
+ {
7
+ "$ref": "#/$defs/external:core~1version-envelope.json"
8
+ },
9
+ {
10
+ "$ref": "#/$defs/external:core~1performance-feedback-assertion.json"
11
+ }
12
+ ],
13
+ "x-mutates-state": true,
14
+ "properties": {
15
+ "idempotency_key": {
16
+ "type": "string",
17
+ "minLength": 16,
18
+ "maxLength": 255,
19
+ "pattern": "^[A-Za-z0-9_.:-]{16,255}$"
20
+ },
21
+ "context": {
22
+ "$ref": "#/$defs/external:core~1context.json"
23
+ },
24
+ "ext": {
25
+ "$ref": "#/$defs/external:core~1ext.json"
26
+ }
27
+ },
28
+ "required": [
29
+ "idempotency_key"
30
+ ],
31
+ "additionalProperties": true,
32
+ "$defs": {
33
+ "external:core/version-envelope.json": {
34
+ "type": "object",
35
+ "properties": {
36
+ "adcp_version": {
37
+ "type": "string",
38
+ "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[a-zA-Z0-9](?:[a-zA-Z0-9.-]*[a-zA-Z0-9])?)?$"
39
+ },
40
+ "adcp_major_version": {
41
+ "type": "integer",
42
+ "deprecated": true,
43
+ "minimum": 1,
44
+ "maximum": 99
45
+ }
46
+ }
47
+ },
48
+ "external:core/performance-feedback-assertion.json": {
49
+ "x-status": "experimental",
50
+ "type": "object",
51
+ "properties": {
52
+ "media_buy_id": {
53
+ "type": "string",
54
+ "minLength": 1,
55
+ "x-entity": "media_buy"
56
+ },
57
+ "package_id": {
58
+ "type": "string",
59
+ "minLength": 1,
60
+ "x-entity": "package"
61
+ },
62
+ "creative_id": {
63
+ "type": "string",
64
+ "minLength": 1,
65
+ "x-entity": "creative"
66
+ },
67
+ "measurement_period": {
68
+ "$ref": "#/$defs/external:core~1datetime-range.json"
69
+ },
70
+ "performance_index": {
71
+ "type": "number",
72
+ "minimum": 0
73
+ },
74
+ "baseline": {
75
+ "$ref": "#/$defs/external:enums~1performance-baseline.json",
76
+ "x-status": "experimental"
77
+ },
78
+ "metric": {
79
+ "$ref": "#/$defs/external:core~1performance-feedback-metric.json",
80
+ "x-status": "experimental"
81
+ },
82
+ "metric_type": {
83
+ "$ref": "#/$defs/external:enums~1metric-type.json",
84
+ "deprecated": true
85
+ },
86
+ "producer": {
87
+ "$ref": "#/$defs/external:core~1brand-ref.json",
88
+ "x-status": "experimental"
89
+ },
90
+ "vendor": {
91
+ "$ref": "#/$defs/external:core~1brand-ref.json",
92
+ "deprecated": true
93
+ },
94
+ "feedback_source": {
95
+ "$ref": "#/$defs/external:enums~1feedback-source.json"
96
+ },
97
+ "methodology": {
98
+ "type": "string",
99
+ "minLength": 1,
100
+ "maxLength": 100,
101
+ "x-status": "experimental"
102
+ },
103
+ "methodology_version": {
104
+ "type": "string",
105
+ "minLength": 1,
106
+ "maxLength": 100,
107
+ "x-status": "experimental"
108
+ },
109
+ "study_ref": {
110
+ "type": "string",
111
+ "minLength": 1,
112
+ "maxLength": 255,
113
+ "x-status": "experimental"
114
+ },
115
+ "evidence": {
116
+ "type": "object",
117
+ "x-status": "experimental",
118
+ "properties": {
119
+ "sample_size": {
120
+ "type": "integer",
121
+ "minimum": 1
122
+ },
123
+ "confidence_interval": {
124
+ "type": "object",
125
+ "properties": {
126
+ "lower": {
127
+ "type": "number"
128
+ },
129
+ "upper": {
130
+ "type": "number"
131
+ },
132
+ "level": {
133
+ "type": "number",
134
+ "exclusiveMinimum": 0,
135
+ "exclusiveMaximum": 1
136
+ }
137
+ },
138
+ "required": [
139
+ "lower",
140
+ "upper",
141
+ "level"
142
+ ],
143
+ "additionalProperties": false
144
+ }
145
+ },
146
+ "additionalProperties": false
147
+ },
148
+ "evidence_ref": {
149
+ "type": "string",
150
+ "format": "uri",
151
+ "x-status": "experimental"
152
+ },
153
+ "as_of": {
154
+ "type": "string",
155
+ "format": "date-time",
156
+ "x-status": "experimental"
157
+ },
158
+ "final": {
159
+ "type": "boolean",
160
+ "x-status": "experimental"
161
+ },
162
+ "supersedes_feedback_id": {
163
+ "type": "string",
164
+ "minLength": 1,
165
+ "x-status": "experimental"
166
+ }
167
+ },
168
+ "required": [
169
+ "media_buy_id",
170
+ "measurement_period",
171
+ "performance_index"
172
+ ],
173
+ "additionalProperties": true,
174
+ "dependentRequired": {
175
+ "methodology": [
176
+ "producer"
177
+ ],
178
+ "methodology_version": [
179
+ "producer"
180
+ ]
181
+ }
182
+ },
183
+ "external:core/datetime-range.json": {
184
+ "type": "object",
185
+ "properties": {
186
+ "start": {
187
+ "type": "string",
188
+ "format": "date-time"
189
+ },
190
+ "end": {
191
+ "type": "string",
192
+ "format": "date-time"
193
+ }
194
+ },
195
+ "required": [
196
+ "start",
197
+ "end"
198
+ ],
199
+ "additionalProperties": true
200
+ },
201
+ "external:enums/performance-baseline.json": {
202
+ "type": "string",
203
+ "enum": [
204
+ "campaign_target",
205
+ "control_group",
206
+ "seller_history",
207
+ "buyer_portfolio",
208
+ "market_benchmark",
209
+ "other"
210
+ ]
211
+ },
212
+ "external:core/performance-feedback-metric.json": {
213
+ "type": "object",
214
+ "discriminator": {
215
+ "propertyName": "scope"
216
+ },
217
+ "oneOf": [
218
+ {
219
+ "properties": {
220
+ "scope": {
221
+ "type": "string",
222
+ "const": "standard"
223
+ },
224
+ "metric_id": {
225
+ "$ref": "#/$defs/external:enums~1available-metric.json"
226
+ },
227
+ "qualifier": {
228
+ "type": "object",
229
+ "properties": {
230
+ "viewability_standard": {
231
+ "$ref": "#/$defs/external:enums~1viewability-standard.json"
232
+ },
233
+ "completion_source": {
234
+ "$ref": "#/$defs/external:enums~1completion-source.json"
235
+ },
236
+ "attribution_methodology": {
237
+ "$ref": "#/$defs/external:enums~1attribution-methodology.json"
238
+ },
239
+ "attribution_window": {
240
+ "$ref": "#/$defs/external:core~1duration.json"
241
+ },
242
+ "lift_dimension": {
243
+ "$ref": "#/$defs/external:enums~1lift-dimension.json"
244
+ }
245
+ },
246
+ "additionalProperties": false
247
+ }
248
+ },
249
+ "required": [
250
+ "scope",
251
+ "metric_id"
252
+ ],
253
+ "additionalProperties": false
254
+ },
255
+ {
256
+ "properties": {
257
+ "scope": {
258
+ "type": "string",
259
+ "const": "vendor"
260
+ },
261
+ "vendor": {
262
+ "$ref": "#/$defs/external:core~1brand-ref.json"
263
+ },
264
+ "metric_id": {
265
+ "$ref": "#/$defs/external:core~1vendor-metric-id.json"
266
+ }
267
+ },
268
+ "required": [
269
+ "scope",
270
+ "vendor",
271
+ "metric_id"
272
+ ],
273
+ "additionalProperties": false
274
+ }
275
+ ]
276
+ },
277
+ "external:enums/available-metric.json": {
278
+ "type": "string",
279
+ "enum": [
280
+ "impressions",
281
+ "spend",
282
+ "clicks",
283
+ "ctr",
284
+ "views",
285
+ "completed_views",
286
+ "completion_rate",
287
+ "conversions",
288
+ "conversion_value",
289
+ "commissionable_value",
290
+ "roas",
291
+ "cost_per_acquisition",
292
+ "new_to_brand_rate",
293
+ "leads",
294
+ "reach",
295
+ "frequency",
296
+ "grps",
297
+ "engagements",
298
+ "engagement_rate",
299
+ "follows",
300
+ "saves",
301
+ "profile_visits",
302
+ "viewability",
303
+ "quartile_data",
304
+ "dooh_metrics",
305
+ "cost_per_click",
306
+ "cost_per_completed_view",
307
+ "cpm",
308
+ "downloads",
309
+ "units_sold",
310
+ "new_to_brand_units",
311
+ "plays",
312
+ "incremental_sales_lift",
313
+ "brand_lift",
314
+ "foot_traffic",
315
+ "conversion_lift",
316
+ "brand_search_lift"
317
+ ]
318
+ },
319
+ "external:enums/viewability-standard.json": {
320
+ "type": "string",
321
+ "enum": [
322
+ "mrc",
323
+ "groupm"
324
+ ]
325
+ },
326
+ "external:enums/completion-source.json": {
327
+ "type": "string",
328
+ "enum": [
329
+ "seller_attested",
330
+ "vendor_attested"
331
+ ]
332
+ },
333
+ "external:enums/attribution-methodology.json": {
334
+ "type": "string",
335
+ "enum": [
336
+ "deterministic_purchase",
337
+ "probabilistic",
338
+ "panel_based",
339
+ "modeled"
340
+ ]
341
+ },
342
+ "external:core/duration.json": {
343
+ "type": "object",
344
+ "properties": {
345
+ "interval": {
346
+ "type": "integer",
347
+ "minimum": 1
348
+ },
349
+ "unit": {
350
+ "type": "string",
351
+ "enum": [
352
+ "seconds",
353
+ "minutes",
354
+ "hours",
355
+ "days",
356
+ "campaign"
357
+ ]
358
+ }
359
+ },
360
+ "required": [
361
+ "interval",
362
+ "unit"
363
+ ],
364
+ "additionalProperties": false
365
+ },
366
+ "external:enums/lift-dimension.json": {
367
+ "type": "string",
368
+ "enum": [
369
+ "awareness",
370
+ "consideration",
371
+ "favorability",
372
+ "purchase_intent",
373
+ "ad_recall"
374
+ ]
375
+ },
376
+ "external:core/brand-ref.json": {
377
+ "type": "object",
378
+ "properties": {
379
+ "domain": {
380
+ "type": "string",
381
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$"
382
+ },
383
+ "brand_id": {
384
+ "$ref": "#/$defs/external:core~1brand-id.json"
385
+ },
386
+ "countries": {
387
+ "type": "array",
388
+ "items": {
389
+ "type": "string",
390
+ "pattern": "^[A-Z]{2}$"
391
+ },
392
+ "minItems": 1,
393
+ "uniqueItems": true
394
+ },
395
+ "industries": {
396
+ "type": "array",
397
+ "items": {
398
+ "type": "string"
399
+ }
400
+ },
401
+ "data_subject_contestation": {
402
+ "type": "object",
403
+ "properties": {
404
+ "url": {
405
+ "type": "string",
406
+ "format": "uri",
407
+ "pattern": "^https://"
408
+ },
409
+ "email": {
410
+ "type": "string",
411
+ "format": "email"
412
+ },
413
+ "languages": {
414
+ "type": "array",
415
+ "items": {
416
+ "type": "string"
417
+ }
418
+ }
419
+ },
420
+ "anyOf": [
421
+ {
422
+ "required": [
423
+ "url"
424
+ ]
425
+ },
426
+ {
427
+ "required": [
428
+ "email"
429
+ ]
430
+ }
431
+ ],
432
+ "additionalProperties": false
433
+ },
434
+ "brand_kit_override": {
435
+ "type": "object",
436
+ "properties": {
437
+ "logo": {
438
+ "$ref": "#/$defs/external:core~1assets~1image-asset.json"
439
+ },
440
+ "colors": {
441
+ "type": "object",
442
+ "properties": {
443
+ "primary": {
444
+ "type": "string",
445
+ "pattern": "^#[0-9a-fA-F]{6}$"
446
+ },
447
+ "secondary": {
448
+ "type": "string",
449
+ "pattern": "^#[0-9a-fA-F]{6}$"
450
+ },
451
+ "accent": {
452
+ "type": "string",
453
+ "pattern": "^#[0-9a-fA-F]{6}$"
454
+ }
455
+ },
456
+ "additionalProperties": true
457
+ },
458
+ "voice": {
459
+ "type": "string"
460
+ },
461
+ "tagline": {
462
+ "type": "string"
463
+ }
464
+ },
465
+ "additionalProperties": true
466
+ }
467
+ },
468
+ "required": [
469
+ "domain"
470
+ ],
471
+ "additionalProperties": false
472
+ },
473
+ "external:core/brand-id.json": {
474
+ "type": "string",
475
+ "pattern": "^[a-z0-9_]+$",
476
+ "x-entity": "advertiser_brand"
477
+ },
478
+ "external:core/assets/image-asset.json": {
479
+ "type": "object",
480
+ "properties": {
481
+ "asset_type": {
482
+ "type": "string",
483
+ "const": "image"
484
+ },
485
+ "url": {
486
+ "type": "string",
487
+ "format": "uri"
488
+ },
489
+ "width": {
490
+ "type": "integer",
491
+ "minimum": 1
492
+ },
493
+ "height": {
494
+ "type": "integer",
495
+ "minimum": 1
496
+ },
497
+ "pixel_ratio": {
498
+ "type": "number",
499
+ "exclusiveMinimum": 0
500
+ },
501
+ "format": {
502
+ "type": "string"
503
+ },
504
+ "alt_text": {
505
+ "type": "string",
506
+ "x-accessibility": true
507
+ },
508
+ "provenance": {
509
+ "$ref": "#/$defs/external:core~1provenance.json"
510
+ }
511
+ },
512
+ "required": [
513
+ "asset_type",
514
+ "url",
515
+ "width",
516
+ "height"
517
+ ],
518
+ "additionalProperties": true
519
+ },
520
+ "external:core/provenance.json": {
521
+ "type": "object",
522
+ "properties": {
523
+ "digital_source_type": {
524
+ "$ref": "#/$defs/external:enums~1digital-source-type.json"
525
+ },
526
+ "synthetic_depiction": {
527
+ "type": "boolean"
528
+ },
529
+ "ai_tool": {
530
+ "type": "object",
531
+ "properties": {
532
+ "name": {
533
+ "type": "string"
534
+ },
535
+ "version": {
536
+ "type": "string"
537
+ },
538
+ "provider": {
539
+ "type": "string"
540
+ }
541
+ },
542
+ "required": [
543
+ "name"
544
+ ]
545
+ },
546
+ "human_oversight": {
547
+ "type": "string",
548
+ "enum": [
549
+ "none",
550
+ "prompt_only",
551
+ "selected",
552
+ "edited",
553
+ "directed"
554
+ ]
555
+ },
556
+ "declared_by": {
557
+ "type": "object",
558
+ "properties": {
559
+ "agent_url": {
560
+ "type": "string",
561
+ "format": "uri"
562
+ },
563
+ "role": {
564
+ "type": "string",
565
+ "enum": [
566
+ "creator",
567
+ "advertiser",
568
+ "agency",
569
+ "platform",
570
+ "tool"
571
+ ]
572
+ }
573
+ },
574
+ "required": [
575
+ "role"
576
+ ]
577
+ },
578
+ "declared_at": {
579
+ "type": "string",
580
+ "format": "date-time"
581
+ },
582
+ "created_time": {
583
+ "type": "string",
584
+ "format": "date-time"
585
+ },
586
+ "c2pa": {
587
+ "type": "object",
588
+ "properties": {
589
+ "manifest_url": {
590
+ "type": "string",
591
+ "format": "uri"
592
+ }
593
+ },
594
+ "required": [
595
+ "manifest_url"
596
+ ]
597
+ },
598
+ "embedded_provenance": {
599
+ "type": "array",
600
+ "minItems": 1,
601
+ "items": {
602
+ "type": "object",
603
+ "properties": {
604
+ "method": {
605
+ "$ref": "#/$defs/external:enums~1embedded-provenance-method.json"
606
+ },
607
+ "standard": {
608
+ "type": "string"
609
+ },
610
+ "provider": {
611
+ "type": "string"
612
+ },
613
+ "verify_agent": {
614
+ "type": "object",
615
+ "properties": {
616
+ "agent_url": {
617
+ "type": "string",
618
+ "format": "uri",
619
+ "pattern": "^https://"
620
+ },
621
+ "feature_id": {
622
+ "type": "string"
623
+ }
624
+ },
625
+ "required": [
626
+ "agent_url"
627
+ ],
628
+ "additionalProperties": false
629
+ },
630
+ "embedded_at": {
631
+ "type": "string",
632
+ "format": "date-time"
633
+ }
634
+ },
635
+ "required": [
636
+ "method",
637
+ "provider"
638
+ ]
639
+ }
640
+ },
641
+ "watermarks": {
642
+ "type": "array",
643
+ "minItems": 1,
644
+ "items": {
645
+ "type": "object",
646
+ "properties": {
647
+ "media_type": {
648
+ "$ref": "#/$defs/external:enums~1watermark-media-type.json"
649
+ },
650
+ "provider": {
651
+ "type": "string"
652
+ },
653
+ "verify_agent": {
654
+ "type": "object",
655
+ "properties": {
656
+ "agent_url": {
657
+ "type": "string",
658
+ "format": "uri",
659
+ "pattern": "^https://"
660
+ },
661
+ "feature_id": {
662
+ "type": "string"
663
+ }
664
+ },
665
+ "required": [
666
+ "agent_url"
667
+ ],
668
+ "additionalProperties": false
669
+ },
670
+ "c2pa_action": {
671
+ "$ref": "#/$defs/external:enums~1c2pa-watermark-action.json"
672
+ },
673
+ "embedded_at": {
674
+ "type": "string",
675
+ "format": "date-time"
676
+ }
677
+ },
678
+ "required": [
679
+ "media_type",
680
+ "provider"
681
+ ]
682
+ }
683
+ },
684
+ "disclosure": {
685
+ "type": "object",
686
+ "properties": {
687
+ "required": {
688
+ "type": "boolean"
689
+ },
690
+ "jurisdictions": {
691
+ "type": "array",
692
+ "items": {
693
+ "type": "object",
694
+ "properties": {
695
+ "country": {
696
+ "type": "string"
697
+ },
698
+ "region": {
699
+ "type": "string"
700
+ },
701
+ "regulation": {
702
+ "type": "string"
703
+ },
704
+ "label_text": {
705
+ "type": "string"
706
+ },
707
+ "render_guidance": {
708
+ "type": "object",
709
+ "minProperties": 1,
710
+ "properties": {
711
+ "persistence": {
712
+ "$ref": "#/$defs/external:enums~1disclosure-persistence.json"
713
+ },
714
+ "min_duration_ms": {
715
+ "type": "integer",
716
+ "minimum": 1
717
+ },
718
+ "positions": {
719
+ "type": "array",
720
+ "items": {
721
+ "$ref": "#/$defs/external:enums~1disclosure-position.json"
722
+ },
723
+ "minItems": 1,
724
+ "uniqueItems": true
725
+ },
726
+ "ext": {
727
+ "$ref": "#/$defs/external:core~1ext.json"
728
+ }
729
+ }
730
+ }
731
+ },
732
+ "required": [
733
+ "country",
734
+ "regulation"
735
+ ]
736
+ },
737
+ "minItems": 1
738
+ }
739
+ },
740
+ "required": [
741
+ "required"
742
+ ]
743
+ },
744
+ "verification": {
745
+ "type": "array",
746
+ "minItems": 1,
747
+ "items": {
748
+ "type": "object",
749
+ "properties": {
750
+ "verified_by": {
751
+ "type": "string"
752
+ },
753
+ "verified_time": {
754
+ "type": "string",
755
+ "format": "date-time"
756
+ },
757
+ "result": {
758
+ "type": "string",
759
+ "enum": [
760
+ "authentic",
761
+ "ai_generated",
762
+ "ai_modified",
763
+ "inconclusive"
764
+ ]
765
+ },
766
+ "confidence": {
767
+ "type": "number",
768
+ "minimum": 0,
769
+ "maximum": 1
770
+ },
771
+ "details_url": {
772
+ "type": "string",
773
+ "format": "uri"
774
+ }
775
+ },
776
+ "required": [
777
+ "verified_by",
778
+ "result"
779
+ ]
780
+ }
781
+ },
782
+ "ext": {
783
+ "$ref": "#/$defs/external:core~1ext.json"
784
+ }
785
+ }
786
+ },
787
+ "external:enums/digital-source-type.json": {
788
+ "type": "string",
789
+ "enum": [
790
+ "digital_capture",
791
+ "digital_creation",
792
+ "trained_algorithmic_media",
793
+ "composite_with_trained_algorithmic_media",
794
+ "algorithmic_media",
795
+ "composite_capture",
796
+ "composite_synthetic",
797
+ "human_edits",
798
+ "data_driven_media"
799
+ ]
800
+ },
801
+ "external:enums/embedded-provenance-method.json": {
802
+ "type": "string",
803
+ "enum": [
804
+ "manifest_wrapper",
805
+ "provenance_markers"
806
+ ]
807
+ },
808
+ "external:enums/watermark-media-type.json": {
809
+ "type": "string",
810
+ "enum": [
811
+ "audio",
812
+ "image",
813
+ "video",
814
+ "text"
815
+ ]
816
+ },
817
+ "external:enums/c2pa-watermark-action.json": {
818
+ "type": "string",
819
+ "enum": [
820
+ "c2pa.watermarked.bound",
821
+ "c2pa.watermarked.unbound"
822
+ ]
823
+ },
824
+ "external:enums/disclosure-persistence.json": {
825
+ "type": "string",
826
+ "enum": [
827
+ "continuous",
828
+ "initial",
829
+ "flexible"
830
+ ]
831
+ },
832
+ "external:enums/disclosure-position.json": {
833
+ "type": "string",
834
+ "enum": [
835
+ "prominent",
836
+ "footer",
837
+ "audio",
838
+ "subtitle",
839
+ "overlay",
840
+ "end_card",
841
+ "pre_roll",
842
+ "companion"
843
+ ]
844
+ },
845
+ "external:core/ext.json": {
846
+ "type": "object",
847
+ "additionalProperties": true
848
+ },
849
+ "external:core/vendor-metric-id.json": {
850
+ "type": "string",
851
+ "x-entity": "vendor_metric",
852
+ "minLength": 1,
853
+ "maxLength": 64,
854
+ "pattern": "^[a-z][a-z0-9_]*$"
855
+ },
856
+ "external:enums/metric-type.json": {
857
+ "deprecated": true,
858
+ "type": "string",
859
+ "enum": [
860
+ "overall_performance",
861
+ "conversion_rate",
862
+ "brand_lift",
863
+ "click_through_rate",
864
+ "completion_rate",
865
+ "viewability",
866
+ "brand_safety",
867
+ "cost_efficiency"
868
+ ]
869
+ },
870
+ "external:enums/feedback-source.json": {
871
+ "type": "string",
872
+ "enum": [
873
+ "buyer_attribution",
874
+ "third_party_measurement",
875
+ "platform_analytics",
876
+ "verification_partner"
877
+ ]
878
+ },
879
+ "external:core/context.json": {
880
+ "type": "object",
881
+ "additionalProperties": true
882
+ }
883
+ }
884
+ }