@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,1113 @@
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/account/sync-accounts-request.json",
4
+ "type": "object",
5
+ "allOf": [
6
+ {
7
+ "$ref": "#/$defs/external:core~1version-envelope.json"
8
+ }
9
+ ],
10
+ "x-mutates-state": true,
11
+ "properties": {
12
+ "idempotency_key": {
13
+ "type": "string",
14
+ "minLength": 16,
15
+ "maxLength": 255,
16
+ "pattern": "^[A-Za-z0-9_.:-]{16,255}$"
17
+ },
18
+ "accounts": {
19
+ "type": "array",
20
+ "items": {
21
+ "type": "object",
22
+ "properties": {
23
+ "account": {
24
+ "$ref": "#/$defs/external:core~1account-ref.json"
25
+ },
26
+ "revision": {
27
+ "type": "integer",
28
+ "minimum": 1
29
+ },
30
+ "operator_identity": {
31
+ "$ref": "#/$defs/external:core~1operator-identity.json"
32
+ },
33
+ "destination_billing_entity": {
34
+ "$ref": "#/$defs/external:core~1business-entity.json"
35
+ },
36
+ "brand": {
37
+ "$ref": "#/$defs/external:core~1brand-ref.json"
38
+ },
39
+ "operator": {
40
+ "type": "string",
41
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$"
42
+ },
43
+ "operator_unit": {
44
+ "$ref": "#/$defs/external:core~1operator-unit.json"
45
+ },
46
+ "currency": {
47
+ "type": "string",
48
+ "pattern": "^[A-Z]{3}$"
49
+ },
50
+ "timezone": {
51
+ "type": "string",
52
+ "minLength": 1
53
+ },
54
+ "billing": {
55
+ "$ref": "#/$defs/external:enums~1billing-party.json"
56
+ },
57
+ "billing_entity": {
58
+ "$ref": "#/$defs/external:core~1business-entity.json"
59
+ },
60
+ "payment_terms": {
61
+ "$ref": "#/$defs/external:enums~1payment-terms.json"
62
+ },
63
+ "sandbox": {
64
+ "type": "boolean"
65
+ },
66
+ "preferred_reporting_protocol": {
67
+ "$ref": "#/$defs/external:enums~1cloud-storage-protocol.json"
68
+ },
69
+ "notification_configs": {
70
+ "type": "array",
71
+ "items": {
72
+ "allOf": [
73
+ {
74
+ "$ref": "#/$defs/external:core~1notification-config.json"
75
+ },
76
+ {
77
+ "if": {
78
+ "required": [
79
+ "authentication"
80
+ ]
81
+ },
82
+ "then": {
83
+ "properties": {
84
+ "authentication": {
85
+ "required": [
86
+ "credentials"
87
+ ]
88
+ }
89
+ }
90
+ }
91
+ }
92
+ ]
93
+ },
94
+ "maxItems": 16
95
+ }
96
+ },
97
+ "oneOf": [
98
+ {
99
+ "required": [
100
+ "brand",
101
+ "operator",
102
+ "billing"
103
+ ],
104
+ "allOf": [
105
+ {
106
+ "not": {
107
+ "required": [
108
+ "account"
109
+ ]
110
+ }
111
+ },
112
+ {
113
+ "not": {
114
+ "required": [
115
+ "revision"
116
+ ]
117
+ }
118
+ },
119
+ {
120
+ "not": {
121
+ "required": [
122
+ "operator_identity"
123
+ ]
124
+ }
125
+ },
126
+ {
127
+ "not": {
128
+ "required": [
129
+ "destination_billing_entity"
130
+ ]
131
+ }
132
+ }
133
+ ]
134
+ },
135
+ {
136
+ "required": [
137
+ "account"
138
+ ],
139
+ "allOf": [
140
+ {
141
+ "not": {
142
+ "required": [
143
+ "brand"
144
+ ]
145
+ }
146
+ },
147
+ {
148
+ "not": {
149
+ "required": [
150
+ "operator"
151
+ ]
152
+ }
153
+ },
154
+ {
155
+ "not": {
156
+ "required": [
157
+ "operator_unit"
158
+ ]
159
+ }
160
+ },
161
+ {
162
+ "not": {
163
+ "required": [
164
+ "currency"
165
+ ]
166
+ }
167
+ },
168
+ {
169
+ "not": {
170
+ "required": [
171
+ "timezone"
172
+ ]
173
+ }
174
+ },
175
+ {
176
+ "not": {
177
+ "required": [
178
+ "billing"
179
+ ]
180
+ }
181
+ }
182
+ ]
183
+ }
184
+ ],
185
+ "additionalProperties": true,
186
+ "dependentRequired": {
187
+ "operator_identity": [
188
+ "revision"
189
+ ],
190
+ "destination_billing_entity": [
191
+ "operator_identity",
192
+ "revision"
193
+ ]
194
+ }
195
+ },
196
+ "maxItems": 1000
197
+ },
198
+ "delete_missing": {
199
+ "type": "boolean",
200
+ "default": false
201
+ },
202
+ "dry_run": {
203
+ "type": "boolean",
204
+ "default": false
205
+ },
206
+ "push_notification_config": {
207
+ "$ref": "#/$defs/external:core~1push-notification-config.json"
208
+ },
209
+ "context": {
210
+ "$ref": "#/$defs/external:core~1context.json"
211
+ },
212
+ "ext": {
213
+ "$ref": "#/$defs/external:core~1ext.json"
214
+ }
215
+ },
216
+ "required": [
217
+ "idempotency_key",
218
+ "accounts"
219
+ ],
220
+ "additionalProperties": true,
221
+ "$defs": {
222
+ "external:core/version-envelope.json": {
223
+ "type": "object",
224
+ "properties": {
225
+ "adcp_version": {
226
+ "type": "string",
227
+ "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[a-zA-Z0-9](?:[a-zA-Z0-9.-]*[a-zA-Z0-9])?)?$"
228
+ },
229
+ "adcp_major_version": {
230
+ "type": "integer",
231
+ "deprecated": true,
232
+ "minimum": 1,
233
+ "maximum": 99
234
+ }
235
+ }
236
+ },
237
+ "external:core/account-ref.json": {
238
+ "type": "object",
239
+ "oneOf": [
240
+ {
241
+ "properties": {
242
+ "account_id": {
243
+ "type": "string",
244
+ "x-entity": "account"
245
+ }
246
+ },
247
+ "required": [
248
+ "account_id"
249
+ ],
250
+ "additionalProperties": false
251
+ },
252
+ {
253
+ "properties": {
254
+ "brand": {
255
+ "$ref": "#/$defs/external:core~1brand-ref.json"
256
+ },
257
+ "operator": {
258
+ "type": "string",
259
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$",
260
+ "x-entity": "operator"
261
+ },
262
+ "operator_unit": {
263
+ "$ref": "#/$defs/external:core~1operator-unit.json"
264
+ },
265
+ "currency": {
266
+ "type": "string",
267
+ "pattern": "^[A-Z]{3}$"
268
+ },
269
+ "timezone": {
270
+ "type": "string",
271
+ "minLength": 1
272
+ },
273
+ "sandbox": {
274
+ "type": "boolean",
275
+ "default": false
276
+ }
277
+ },
278
+ "required": [
279
+ "brand",
280
+ "operator"
281
+ ],
282
+ "additionalProperties": false
283
+ }
284
+ ]
285
+ },
286
+ "external:core/brand-ref.json": {
287
+ "type": "object",
288
+ "properties": {
289
+ "domain": {
290
+ "type": "string",
291
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$"
292
+ },
293
+ "brand_id": {
294
+ "$ref": "#/$defs/external:core~1brand-id.json"
295
+ },
296
+ "countries": {
297
+ "type": "array",
298
+ "items": {
299
+ "type": "string",
300
+ "pattern": "^[A-Z]{2}$"
301
+ },
302
+ "minItems": 1,
303
+ "uniqueItems": true
304
+ },
305
+ "industries": {
306
+ "type": "array",
307
+ "items": {
308
+ "type": "string"
309
+ }
310
+ },
311
+ "data_subject_contestation": {
312
+ "type": "object",
313
+ "properties": {
314
+ "url": {
315
+ "type": "string",
316
+ "format": "uri",
317
+ "pattern": "^https://"
318
+ },
319
+ "email": {
320
+ "type": "string",
321
+ "format": "email"
322
+ },
323
+ "languages": {
324
+ "type": "array",
325
+ "items": {
326
+ "type": "string"
327
+ }
328
+ }
329
+ },
330
+ "anyOf": [
331
+ {
332
+ "required": [
333
+ "url"
334
+ ]
335
+ },
336
+ {
337
+ "required": [
338
+ "email"
339
+ ]
340
+ }
341
+ ],
342
+ "additionalProperties": false
343
+ },
344
+ "brand_kit_override": {
345
+ "type": "object",
346
+ "properties": {
347
+ "logo": {
348
+ "$ref": "#/$defs/external:core~1assets~1image-asset.json"
349
+ },
350
+ "colors": {
351
+ "type": "object",
352
+ "properties": {
353
+ "primary": {
354
+ "type": "string",
355
+ "pattern": "^#[0-9a-fA-F]{6}$"
356
+ },
357
+ "secondary": {
358
+ "type": "string",
359
+ "pattern": "^#[0-9a-fA-F]{6}$"
360
+ },
361
+ "accent": {
362
+ "type": "string",
363
+ "pattern": "^#[0-9a-fA-F]{6}$"
364
+ }
365
+ },
366
+ "additionalProperties": true
367
+ },
368
+ "voice": {
369
+ "type": "string"
370
+ },
371
+ "tagline": {
372
+ "type": "string"
373
+ }
374
+ },
375
+ "additionalProperties": true
376
+ }
377
+ },
378
+ "required": [
379
+ "domain"
380
+ ],
381
+ "additionalProperties": false
382
+ },
383
+ "external:core/brand-id.json": {
384
+ "type": "string",
385
+ "pattern": "^[a-z0-9_]+$",
386
+ "x-entity": "advertiser_brand"
387
+ },
388
+ "external:core/assets/image-asset.json": {
389
+ "type": "object",
390
+ "properties": {
391
+ "asset_type": {
392
+ "type": "string",
393
+ "const": "image"
394
+ },
395
+ "url": {
396
+ "type": "string",
397
+ "format": "uri"
398
+ },
399
+ "width": {
400
+ "type": "integer",
401
+ "minimum": 1
402
+ },
403
+ "height": {
404
+ "type": "integer",
405
+ "minimum": 1
406
+ },
407
+ "pixel_ratio": {
408
+ "type": "number",
409
+ "exclusiveMinimum": 0
410
+ },
411
+ "format": {
412
+ "type": "string"
413
+ },
414
+ "alt_text": {
415
+ "type": "string",
416
+ "x-accessibility": true
417
+ },
418
+ "provenance": {
419
+ "$ref": "#/$defs/external:core~1provenance.json"
420
+ }
421
+ },
422
+ "required": [
423
+ "asset_type",
424
+ "url",
425
+ "width",
426
+ "height"
427
+ ],
428
+ "additionalProperties": true
429
+ },
430
+ "external:core/provenance.json": {
431
+ "type": "object",
432
+ "properties": {
433
+ "digital_source_type": {
434
+ "$ref": "#/$defs/external:enums~1digital-source-type.json"
435
+ },
436
+ "synthetic_depiction": {
437
+ "type": "boolean"
438
+ },
439
+ "ai_tool": {
440
+ "type": "object",
441
+ "properties": {
442
+ "name": {
443
+ "type": "string"
444
+ },
445
+ "version": {
446
+ "type": "string"
447
+ },
448
+ "provider": {
449
+ "type": "string"
450
+ }
451
+ },
452
+ "required": [
453
+ "name"
454
+ ]
455
+ },
456
+ "human_oversight": {
457
+ "type": "string",
458
+ "enum": [
459
+ "none",
460
+ "prompt_only",
461
+ "selected",
462
+ "edited",
463
+ "directed"
464
+ ]
465
+ },
466
+ "declared_by": {
467
+ "type": "object",
468
+ "properties": {
469
+ "agent_url": {
470
+ "type": "string",
471
+ "format": "uri"
472
+ },
473
+ "role": {
474
+ "type": "string",
475
+ "enum": [
476
+ "creator",
477
+ "advertiser",
478
+ "agency",
479
+ "platform",
480
+ "tool"
481
+ ]
482
+ }
483
+ },
484
+ "required": [
485
+ "role"
486
+ ]
487
+ },
488
+ "declared_at": {
489
+ "type": "string",
490
+ "format": "date-time"
491
+ },
492
+ "created_time": {
493
+ "type": "string",
494
+ "format": "date-time"
495
+ },
496
+ "c2pa": {
497
+ "type": "object",
498
+ "properties": {
499
+ "manifest_url": {
500
+ "type": "string",
501
+ "format": "uri"
502
+ }
503
+ },
504
+ "required": [
505
+ "manifest_url"
506
+ ]
507
+ },
508
+ "embedded_provenance": {
509
+ "type": "array",
510
+ "minItems": 1,
511
+ "items": {
512
+ "type": "object",
513
+ "properties": {
514
+ "method": {
515
+ "$ref": "#/$defs/external:enums~1embedded-provenance-method.json"
516
+ },
517
+ "standard": {
518
+ "type": "string"
519
+ },
520
+ "provider": {
521
+ "type": "string"
522
+ },
523
+ "verify_agent": {
524
+ "type": "object",
525
+ "properties": {
526
+ "agent_url": {
527
+ "type": "string",
528
+ "format": "uri",
529
+ "pattern": "^https://"
530
+ },
531
+ "feature_id": {
532
+ "type": "string"
533
+ }
534
+ },
535
+ "required": [
536
+ "agent_url"
537
+ ],
538
+ "additionalProperties": false
539
+ },
540
+ "embedded_at": {
541
+ "type": "string",
542
+ "format": "date-time"
543
+ }
544
+ },
545
+ "required": [
546
+ "method",
547
+ "provider"
548
+ ]
549
+ }
550
+ },
551
+ "watermarks": {
552
+ "type": "array",
553
+ "minItems": 1,
554
+ "items": {
555
+ "type": "object",
556
+ "properties": {
557
+ "media_type": {
558
+ "$ref": "#/$defs/external:enums~1watermark-media-type.json"
559
+ },
560
+ "provider": {
561
+ "type": "string"
562
+ },
563
+ "verify_agent": {
564
+ "type": "object",
565
+ "properties": {
566
+ "agent_url": {
567
+ "type": "string",
568
+ "format": "uri",
569
+ "pattern": "^https://"
570
+ },
571
+ "feature_id": {
572
+ "type": "string"
573
+ }
574
+ },
575
+ "required": [
576
+ "agent_url"
577
+ ],
578
+ "additionalProperties": false
579
+ },
580
+ "c2pa_action": {
581
+ "$ref": "#/$defs/external:enums~1c2pa-watermark-action.json"
582
+ },
583
+ "embedded_at": {
584
+ "type": "string",
585
+ "format": "date-time"
586
+ }
587
+ },
588
+ "required": [
589
+ "media_type",
590
+ "provider"
591
+ ]
592
+ }
593
+ },
594
+ "disclosure": {
595
+ "type": "object",
596
+ "properties": {
597
+ "required": {
598
+ "type": "boolean"
599
+ },
600
+ "jurisdictions": {
601
+ "type": "array",
602
+ "items": {
603
+ "type": "object",
604
+ "properties": {
605
+ "country": {
606
+ "type": "string"
607
+ },
608
+ "region": {
609
+ "type": "string"
610
+ },
611
+ "regulation": {
612
+ "type": "string"
613
+ },
614
+ "label_text": {
615
+ "type": "string"
616
+ },
617
+ "render_guidance": {
618
+ "type": "object",
619
+ "minProperties": 1,
620
+ "properties": {
621
+ "persistence": {
622
+ "$ref": "#/$defs/external:enums~1disclosure-persistence.json"
623
+ },
624
+ "min_duration_ms": {
625
+ "type": "integer",
626
+ "minimum": 1
627
+ },
628
+ "positions": {
629
+ "type": "array",
630
+ "items": {
631
+ "$ref": "#/$defs/external:enums~1disclosure-position.json"
632
+ },
633
+ "minItems": 1,
634
+ "uniqueItems": true
635
+ },
636
+ "ext": {
637
+ "$ref": "#/$defs/external:core~1ext.json"
638
+ }
639
+ }
640
+ }
641
+ },
642
+ "required": [
643
+ "country",
644
+ "regulation"
645
+ ]
646
+ },
647
+ "minItems": 1
648
+ }
649
+ },
650
+ "required": [
651
+ "required"
652
+ ]
653
+ },
654
+ "verification": {
655
+ "type": "array",
656
+ "minItems": 1,
657
+ "items": {
658
+ "type": "object",
659
+ "properties": {
660
+ "verified_by": {
661
+ "type": "string"
662
+ },
663
+ "verified_time": {
664
+ "type": "string",
665
+ "format": "date-time"
666
+ },
667
+ "result": {
668
+ "type": "string",
669
+ "enum": [
670
+ "authentic",
671
+ "ai_generated",
672
+ "ai_modified",
673
+ "inconclusive"
674
+ ]
675
+ },
676
+ "confidence": {
677
+ "type": "number",
678
+ "minimum": 0,
679
+ "maximum": 1
680
+ },
681
+ "details_url": {
682
+ "type": "string",
683
+ "format": "uri"
684
+ }
685
+ },
686
+ "required": [
687
+ "verified_by",
688
+ "result"
689
+ ]
690
+ }
691
+ },
692
+ "ext": {
693
+ "$ref": "#/$defs/external:core~1ext.json"
694
+ }
695
+ }
696
+ },
697
+ "external:enums/digital-source-type.json": {
698
+ "type": "string",
699
+ "enum": [
700
+ "digital_capture",
701
+ "digital_creation",
702
+ "trained_algorithmic_media",
703
+ "composite_with_trained_algorithmic_media",
704
+ "algorithmic_media",
705
+ "composite_capture",
706
+ "composite_synthetic",
707
+ "human_edits",
708
+ "data_driven_media"
709
+ ]
710
+ },
711
+ "external:enums/embedded-provenance-method.json": {
712
+ "type": "string",
713
+ "enum": [
714
+ "manifest_wrapper",
715
+ "provenance_markers"
716
+ ]
717
+ },
718
+ "external:enums/watermark-media-type.json": {
719
+ "type": "string",
720
+ "enum": [
721
+ "audio",
722
+ "image",
723
+ "video",
724
+ "text"
725
+ ]
726
+ },
727
+ "external:enums/c2pa-watermark-action.json": {
728
+ "type": "string",
729
+ "enum": [
730
+ "c2pa.watermarked.bound",
731
+ "c2pa.watermarked.unbound"
732
+ ]
733
+ },
734
+ "external:enums/disclosure-persistence.json": {
735
+ "type": "string",
736
+ "enum": [
737
+ "continuous",
738
+ "initial",
739
+ "flexible"
740
+ ]
741
+ },
742
+ "external:enums/disclosure-position.json": {
743
+ "type": "string",
744
+ "enum": [
745
+ "prominent",
746
+ "footer",
747
+ "audio",
748
+ "subtitle",
749
+ "overlay",
750
+ "end_card",
751
+ "pre_roll",
752
+ "companion"
753
+ ]
754
+ },
755
+ "external:core/ext.json": {
756
+ "type": "object",
757
+ "additionalProperties": true
758
+ },
759
+ "external:core/operator-unit.json": {
760
+ "x-entity": "operator_unit",
761
+ "type": "object",
762
+ "properties": {
763
+ "id": {
764
+ "type": "string",
765
+ "minLength": 1,
766
+ "maxLength": 255,
767
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$"
768
+ },
769
+ "name": {
770
+ "type": "string",
771
+ "minLength": 1,
772
+ "maxLength": 200
773
+ }
774
+ },
775
+ "required": [
776
+ "id"
777
+ ],
778
+ "additionalProperties": false
779
+ },
780
+ "external:core/operator-identity.json": {
781
+ "type": "object",
782
+ "properties": {
783
+ "operator": {
784
+ "type": "string",
785
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$",
786
+ "x-entity": "operator"
787
+ },
788
+ "operator_unit": {
789
+ "$ref": "#/$defs/external:core~1operator-unit.json"
790
+ }
791
+ },
792
+ "required": [
793
+ "operator"
794
+ ],
795
+ "additionalProperties": false
796
+ },
797
+ "external:core/business-entity.json": {
798
+ "type": "object",
799
+ "properties": {
800
+ "legal_name": {
801
+ "type": "string",
802
+ "maxLength": 200
803
+ },
804
+ "vat_id": {
805
+ "type": "string",
806
+ "pattern": "^[A-Z]{2}[A-Z0-9]{2,13}$"
807
+ },
808
+ "tax_id": {
809
+ "type": "string",
810
+ "maxLength": 30
811
+ },
812
+ "registration_number": {
813
+ "type": "string",
814
+ "maxLength": 50
815
+ },
816
+ "address": {
817
+ "type": "object",
818
+ "properties": {
819
+ "street": {
820
+ "type": "string",
821
+ "maxLength": 200
822
+ },
823
+ "city": {
824
+ "type": "string",
825
+ "maxLength": 100
826
+ },
827
+ "postal_code": {
828
+ "type": "string",
829
+ "maxLength": 20
830
+ },
831
+ "region": {
832
+ "type": "string",
833
+ "maxLength": 100
834
+ },
835
+ "country": {
836
+ "type": "string",
837
+ "pattern": "^[A-Z]{2}$"
838
+ }
839
+ },
840
+ "required": [
841
+ "street",
842
+ "city",
843
+ "postal_code",
844
+ "country"
845
+ ],
846
+ "additionalProperties": false
847
+ },
848
+ "contacts": {
849
+ "type": "array",
850
+ "items": {
851
+ "type": "object",
852
+ "properties": {
853
+ "role": {
854
+ "type": "string",
855
+ "enum": [
856
+ "billing",
857
+ "legal",
858
+ "creative",
859
+ "general"
860
+ ]
861
+ },
862
+ "name": {
863
+ "type": "string",
864
+ "maxLength": 200
865
+ },
866
+ "email": {
867
+ "type": "string",
868
+ "format": "email",
869
+ "maxLength": 254
870
+ },
871
+ "phone": {
872
+ "type": "string",
873
+ "maxLength": 30
874
+ }
875
+ },
876
+ "required": [
877
+ "role"
878
+ ],
879
+ "additionalProperties": false
880
+ },
881
+ "maxItems": 10
882
+ },
883
+ "bank": {
884
+ "type": "object",
885
+ "writeOnly": true,
886
+ "properties": {
887
+ "account_holder": {
888
+ "type": "string",
889
+ "maxLength": 200
890
+ },
891
+ "iban": {
892
+ "type": "string",
893
+ "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}$"
894
+ },
895
+ "bic": {
896
+ "type": "string",
897
+ "pattern": "^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$"
898
+ },
899
+ "routing_number": {
900
+ "type": "string",
901
+ "maxLength": 30
902
+ },
903
+ "account_number": {
904
+ "type": "string",
905
+ "maxLength": 30
906
+ }
907
+ },
908
+ "required": [
909
+ "account_holder"
910
+ ],
911
+ "additionalProperties": false
912
+ },
913
+ "ext": {
914
+ "$ref": "#/$defs/external:core~1ext.json"
915
+ }
916
+ },
917
+ "required": [
918
+ "legal_name"
919
+ ],
920
+ "additionalProperties": false
921
+ },
922
+ "external:enums/billing-party.json": {
923
+ "type": "string",
924
+ "enum": [
925
+ "operator",
926
+ "agent",
927
+ "advertiser"
928
+ ]
929
+ },
930
+ "external:enums/payment-terms.json": {
931
+ "type": "string",
932
+ "enum": [
933
+ "net_15",
934
+ "net_30",
935
+ "net_45",
936
+ "net_60",
937
+ "net_90",
938
+ "prepay"
939
+ ]
940
+ },
941
+ "external:enums/cloud-storage-protocol.json": {
942
+ "type": "string",
943
+ "enum": [
944
+ "s3",
945
+ "gcs",
946
+ "azure_blob"
947
+ ]
948
+ },
949
+ "external:core/notification-config.json": {
950
+ "type": "object",
951
+ "properties": {
952
+ "subscriber_id": {
953
+ "type": "string",
954
+ "minLength": 1,
955
+ "maxLength": 64,
956
+ "pattern": "^[A-Za-z0-9_.:-]{1,64}$"
957
+ },
958
+ "url": {
959
+ "type": "string",
960
+ "format": "uri"
961
+ },
962
+ "event_types": {
963
+ "type": "array",
964
+ "items": {
965
+ "type": "string",
966
+ "enum": [
967
+ "creative.status_changed",
968
+ "creative.assignment_changed",
969
+ "indicators.changed",
970
+ "creative.purged",
971
+ "account.status_changed",
972
+ "product.created",
973
+ "product.updated",
974
+ "product.priced",
975
+ "product.removed",
976
+ "signal.created",
977
+ "signal.updated",
978
+ "signal.priced",
979
+ "signal.removed",
980
+ "wholesale_feed.bulk_change"
981
+ ]
982
+ },
983
+ "minItems": 1,
984
+ "uniqueItems": true
985
+ },
986
+ "product_payload_view": {
987
+ "type": "string",
988
+ "enum": [
989
+ "canonical",
990
+ "legacy"
991
+ ],
992
+ "default": "legacy"
993
+ },
994
+ "authentication": {
995
+ "type": "object",
996
+ "deprecated": true,
997
+ "properties": {
998
+ "schemes": {
999
+ "type": "array",
1000
+ "items": {
1001
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
1002
+ },
1003
+ "minItems": 1,
1004
+ "maxItems": 1
1005
+ },
1006
+ "credentials": {
1007
+ "type": "string",
1008
+ "minLength": 32
1009
+ }
1010
+ },
1011
+ "required": [
1012
+ "schemes"
1013
+ ],
1014
+ "additionalProperties": false
1015
+ },
1016
+ "active": {
1017
+ "type": "boolean",
1018
+ "default": true
1019
+ },
1020
+ "ext": {
1021
+ "$ref": "#/$defs/external:core~1ext.json"
1022
+ }
1023
+ },
1024
+ "required": [
1025
+ "subscriber_id",
1026
+ "url",
1027
+ "event_types"
1028
+ ],
1029
+ "allOf": [
1030
+ {
1031
+ "if": {
1032
+ "required": [
1033
+ "product_payload_view"
1034
+ ]
1035
+ },
1036
+ "then": {
1037
+ "properties": {
1038
+ "event_types": {
1039
+ "contains": {
1040
+ "enum": [
1041
+ "product.created",
1042
+ "product.updated",
1043
+ "product.priced",
1044
+ "product.removed"
1045
+ ]
1046
+ }
1047
+ }
1048
+ }
1049
+ }
1050
+ }
1051
+ ],
1052
+ "additionalProperties": false
1053
+ },
1054
+ "external:enums/auth-scheme.json": {
1055
+ "deprecated": true,
1056
+ "type": "string",
1057
+ "enum": [
1058
+ "Bearer",
1059
+ "HMAC-SHA256"
1060
+ ]
1061
+ },
1062
+ "external:core/push-notification-config.json": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "url": {
1066
+ "type": "string",
1067
+ "format": "uri"
1068
+ },
1069
+ "operation_id": {
1070
+ "type": "string",
1071
+ "minLength": 1,
1072
+ "maxLength": 255,
1073
+ "pattern": "^[A-Za-z0-9_.:-]{1,255}$"
1074
+ },
1075
+ "token": {
1076
+ "type": "string",
1077
+ "minLength": 16,
1078
+ "maxLength": 4096
1079
+ },
1080
+ "authentication": {
1081
+ "type": "object",
1082
+ "deprecated": true,
1083
+ "properties": {
1084
+ "schemes": {
1085
+ "type": "array",
1086
+ "items": {
1087
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
1088
+ },
1089
+ "minItems": 1,
1090
+ "maxItems": 1
1091
+ },
1092
+ "credentials": {
1093
+ "type": "string",
1094
+ "minLength": 32
1095
+ }
1096
+ },
1097
+ "required": [
1098
+ "schemes",
1099
+ "credentials"
1100
+ ],
1101
+ "additionalProperties": false
1102
+ }
1103
+ },
1104
+ "required": [
1105
+ "url"
1106
+ ]
1107
+ },
1108
+ "external:core/context.json": {
1109
+ "type": "object",
1110
+ "additionalProperties": true
1111
+ }
1112
+ }
1113
+ }