@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,3456 @@
1
+ {
2
+ "type": "object",
3
+ "allOf": [
4
+ {
5
+ "$ref": "#/$defs/external:core~1version-envelope.json"
6
+ },
7
+ {
8
+ "if": {
9
+ "properties": {
10
+ "delete_missing": {
11
+ "const": true
12
+ }
13
+ },
14
+ "required": [
15
+ "delete_missing"
16
+ ]
17
+ },
18
+ "then": {
19
+ "required": [
20
+ "creatives"
21
+ ]
22
+ }
23
+ },
24
+ {
25
+ "not": {
26
+ "required": [
27
+ "assignments",
28
+ "assignment_operations"
29
+ ]
30
+ }
31
+ },
32
+ {
33
+ "if": {
34
+ "required": [
35
+ "assignment_operations"
36
+ ]
37
+ },
38
+ "then": {
39
+ "properties": {
40
+ "validation_mode": {
41
+ "type": "string",
42
+ "const": "strict"
43
+ }
44
+ }
45
+ }
46
+ }
47
+ ],
48
+ "properties": {
49
+ "account": {
50
+ "$ref": "#/$defs/external:core~1account-ref.json"
51
+ },
52
+ "creatives": {
53
+ "type": "array",
54
+ "items": {
55
+ "allOf": [
56
+ {
57
+ "$ref": "#/$defs/external:core~1creative-asset.json"
58
+ },
59
+ {
60
+ "type": "object",
61
+ "properties": {
62
+ "localization": {
63
+ "anyOf": [
64
+ {
65
+ "$ref": "#/$defs/external:core~1creative-localization.json"
66
+ },
67
+ {
68
+ "type": "null"
69
+ }
70
+ ]
71
+ }
72
+ },
73
+ "additionalProperties": true
74
+ }
75
+ ]
76
+ }
77
+ },
78
+ "creative_ids": {
79
+ "type": "array",
80
+ "items": {
81
+ "type": "string"
82
+ }
83
+ },
84
+ "assignments": {
85
+ "type": "array",
86
+ "items": {
87
+ "type": "object",
88
+ "properties": {
89
+ "creative_id": {
90
+ "type": "string"
91
+ },
92
+ "package_id": {
93
+ "type": "string"
94
+ },
95
+ "weight": {
96
+ "type": "number"
97
+ },
98
+ "placement_ids": {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "string"
102
+ }
103
+ }
104
+ },
105
+ "required": [
106
+ "creative_id",
107
+ "package_id"
108
+ ]
109
+ }
110
+ },
111
+ "assignment_operations": {
112
+ "type": "array",
113
+ "items": {
114
+ "type": "object",
115
+ "discriminator": {
116
+ "propertyName": "operation"
117
+ },
118
+ "oneOf": [
119
+ {
120
+ "properties": {
121
+ "operation": {
122
+ "const": "assign"
123
+ },
124
+ "creative_id": {
125
+ "type": "string"
126
+ },
127
+ "package_id": {
128
+ "type": "string"
129
+ },
130
+ "weight": {
131
+ "type": "number"
132
+ },
133
+ "placement_ids": {
134
+ "type": "array",
135
+ "items": {
136
+ "type": "string"
137
+ }
138
+ }
139
+ },
140
+ "required": [
141
+ "operation",
142
+ "creative_id",
143
+ "package_id"
144
+ ]
145
+ },
146
+ {
147
+ "properties": {
148
+ "operation": {
149
+ "const": "unassign"
150
+ },
151
+ "creative_id": {
152
+ "type": "string"
153
+ },
154
+ "package_id": {
155
+ "type": "string"
156
+ }
157
+ },
158
+ "required": [
159
+ "operation",
160
+ "creative_id",
161
+ "package_id"
162
+ ]
163
+ },
164
+ {
165
+ "properties": {
166
+ "operation": {
167
+ "const": "replace"
168
+ },
169
+ "creative_id": {
170
+ "type": "string"
171
+ },
172
+ "replaces_creative_id": {
173
+ "type": "string"
174
+ },
175
+ "package_id": {
176
+ "type": "string"
177
+ },
178
+ "weight": {
179
+ "type": "number"
180
+ },
181
+ "placement_ids": {
182
+ "type": "array",
183
+ "items": {
184
+ "type": "string"
185
+ }
186
+ }
187
+ },
188
+ "required": [
189
+ "operation",
190
+ "creative_id",
191
+ "replaces_creative_id",
192
+ "package_id"
193
+ ]
194
+ }
195
+ ]
196
+ }
197
+ },
198
+ "idempotency_key": {
199
+ "type": "string"
200
+ },
201
+ "delete_missing": {
202
+ "type": "boolean"
203
+ },
204
+ "dry_run": {
205
+ "type": "boolean"
206
+ },
207
+ "validation_mode": {
208
+ "$ref": "#/$defs/external:enums~1validation-mode.json"
209
+ },
210
+ "push_notification_config": {
211
+ "$ref": "#/$defs/external:core~1push-notification-config.json"
212
+ },
213
+ "context": {
214
+ "$ref": "#/$defs/external:core~1context.json"
215
+ },
216
+ "ext": {
217
+ "$ref": "#/$defs/external:core~1ext.json"
218
+ }
219
+ },
220
+ "required": [
221
+ "idempotency_key",
222
+ "account"
223
+ ],
224
+ "anyOf": [
225
+ {
226
+ "required": [
227
+ "creatives"
228
+ ]
229
+ },
230
+ {
231
+ "required": [
232
+ "assignments"
233
+ ]
234
+ },
235
+ {
236
+ "required": [
237
+ "assignment_operations"
238
+ ]
239
+ }
240
+ ],
241
+ "additionalProperties": true,
242
+ "$defs": {
243
+ "external:core/version-envelope.json": {
244
+ "type": "object",
245
+ "properties": {
246
+ "adcp_version": {
247
+ "type": "string"
248
+ },
249
+ "adcp_major_version": {
250
+ "type": "integer"
251
+ }
252
+ }
253
+ },
254
+ "external:core/account-ref.json": {
255
+ "type": "object",
256
+ "oneOf": [
257
+ {
258
+ "properties": {
259
+ "account_id": {
260
+ "type": "string"
261
+ }
262
+ },
263
+ "required": [
264
+ "account_id"
265
+ ]
266
+ },
267
+ {
268
+ "properties": {
269
+ "brand": {
270
+ "$ref": "#/$defs/external:core~1brand-ref.json"
271
+ },
272
+ "operator": {
273
+ "type": "string"
274
+ },
275
+ "operator_unit": {
276
+ "$ref": "#/$defs/external:core~1operator-unit.json"
277
+ },
278
+ "currency": {
279
+ "type": "string"
280
+ },
281
+ "timezone": {
282
+ "type": "string"
283
+ },
284
+ "sandbox": {
285
+ "type": "boolean"
286
+ }
287
+ },
288
+ "required": [
289
+ "brand",
290
+ "operator"
291
+ ]
292
+ }
293
+ ]
294
+ },
295
+ "external:core/brand-ref.json": {
296
+ "type": "object",
297
+ "properties": {
298
+ "domain": {
299
+ "type": "string"
300
+ },
301
+ "brand_id": {
302
+ "$ref": "#/$defs/external:core~1brand-id.json"
303
+ },
304
+ "countries": {
305
+ "type": "array",
306
+ "items": {
307
+ "type": "string"
308
+ }
309
+ },
310
+ "industries": {
311
+ "type": "array",
312
+ "items": {
313
+ "type": "string"
314
+ }
315
+ },
316
+ "data_subject_contestation": {
317
+ "type": "object",
318
+ "properties": {
319
+ "url": {
320
+ "type": "string"
321
+ },
322
+ "email": {
323
+ "type": "string"
324
+ },
325
+ "languages": {
326
+ "type": "array",
327
+ "items": {
328
+ "type": "string"
329
+ }
330
+ }
331
+ },
332
+ "anyOf": [
333
+ {
334
+ "required": [
335
+ "url"
336
+ ]
337
+ },
338
+ {
339
+ "required": [
340
+ "email"
341
+ ]
342
+ }
343
+ ]
344
+ },
345
+ "brand_kit_override": {
346
+ "type": "object",
347
+ "properties": {
348
+ "logo": {
349
+ "$ref": "#/$defs/external:core~1assets~1image-asset.json"
350
+ },
351
+ "colors": {
352
+ "type": "object",
353
+ "properties": {
354
+ "primary": {
355
+ "type": "string"
356
+ },
357
+ "secondary": {
358
+ "type": "string"
359
+ },
360
+ "accent": {
361
+ "type": "string"
362
+ }
363
+ },
364
+ "additionalProperties": true
365
+ },
366
+ "voice": {
367
+ "type": "string"
368
+ },
369
+ "tagline": {
370
+ "type": "string"
371
+ }
372
+ },
373
+ "additionalProperties": true
374
+ }
375
+ },
376
+ "required": [
377
+ "domain"
378
+ ]
379
+ },
380
+ "external:core/brand-id.json": {
381
+ "type": "string"
382
+ },
383
+ "external:core/assets/image-asset.json": {
384
+ "type": "object",
385
+ "properties": {
386
+ "asset_type": {
387
+ "type": "string",
388
+ "const": "image"
389
+ },
390
+ "url": {
391
+ "type": "string"
392
+ },
393
+ "width": {
394
+ "type": "integer"
395
+ },
396
+ "height": {
397
+ "type": "integer"
398
+ },
399
+ "pixel_ratio": {
400
+ "type": "number"
401
+ },
402
+ "format": {
403
+ "type": "string"
404
+ },
405
+ "alt_text": {
406
+ "type": "string"
407
+ },
408
+ "provenance": {
409
+ "$ref": "#/$defs/external:core~1provenance.json"
410
+ }
411
+ },
412
+ "required": [
413
+ "asset_type",
414
+ "url",
415
+ "width",
416
+ "height"
417
+ ],
418
+ "additionalProperties": true
419
+ },
420
+ "external:core/provenance.json": {
421
+ "type": "object",
422
+ "properties": {
423
+ "digital_source_type": {
424
+ "$ref": "#/$defs/external:enums~1digital-source-type.json"
425
+ },
426
+ "synthetic_depiction": {
427
+ "type": "boolean"
428
+ },
429
+ "ai_tool": {
430
+ "type": "object",
431
+ "properties": {
432
+ "name": {
433
+ "type": "string"
434
+ },
435
+ "version": {
436
+ "type": "string"
437
+ },
438
+ "provider": {
439
+ "type": "string"
440
+ }
441
+ },
442
+ "required": [
443
+ "name"
444
+ ]
445
+ },
446
+ "human_oversight": {
447
+ "type": "string",
448
+ "enum": [
449
+ "none",
450
+ "prompt_only",
451
+ "selected",
452
+ "edited",
453
+ "directed"
454
+ ]
455
+ },
456
+ "declared_by": {
457
+ "type": "object",
458
+ "properties": {
459
+ "agent_url": {
460
+ "type": "string"
461
+ },
462
+ "role": {
463
+ "type": "string",
464
+ "enum": [
465
+ "creator",
466
+ "advertiser",
467
+ "agency",
468
+ "platform",
469
+ "tool"
470
+ ]
471
+ }
472
+ },
473
+ "required": [
474
+ "role"
475
+ ]
476
+ },
477
+ "declared_at": {
478
+ "type": "string"
479
+ },
480
+ "created_time": {
481
+ "type": "string"
482
+ },
483
+ "c2pa": {
484
+ "type": "object",
485
+ "properties": {
486
+ "manifest_url": {
487
+ "type": "string"
488
+ }
489
+ },
490
+ "required": [
491
+ "manifest_url"
492
+ ]
493
+ },
494
+ "embedded_provenance": {
495
+ "type": "array",
496
+ "items": {
497
+ "type": "object",
498
+ "properties": {
499
+ "method": {
500
+ "$ref": "#/$defs/external:enums~1embedded-provenance-method.json"
501
+ },
502
+ "standard": {
503
+ "type": "string"
504
+ },
505
+ "provider": {
506
+ "type": "string"
507
+ },
508
+ "verify_agent": {
509
+ "type": "object",
510
+ "properties": {
511
+ "agent_url": {
512
+ "type": "string"
513
+ },
514
+ "feature_id": {
515
+ "type": "string"
516
+ }
517
+ },
518
+ "required": [
519
+ "agent_url"
520
+ ]
521
+ },
522
+ "embedded_at": {
523
+ "type": "string"
524
+ }
525
+ },
526
+ "required": [
527
+ "method",
528
+ "provider"
529
+ ]
530
+ }
531
+ },
532
+ "watermarks": {
533
+ "type": "array",
534
+ "items": {
535
+ "type": "object",
536
+ "properties": {
537
+ "media_type": {
538
+ "$ref": "#/$defs/external:enums~1watermark-media-type.json"
539
+ },
540
+ "provider": {
541
+ "type": "string"
542
+ },
543
+ "verify_agent": {
544
+ "type": "object",
545
+ "properties": {
546
+ "agent_url": {
547
+ "type": "string"
548
+ },
549
+ "feature_id": {
550
+ "type": "string"
551
+ }
552
+ },
553
+ "required": [
554
+ "agent_url"
555
+ ]
556
+ },
557
+ "c2pa_action": {
558
+ "$ref": "#/$defs/external:enums~1c2pa-watermark-action.json"
559
+ },
560
+ "embedded_at": {
561
+ "type": "string"
562
+ }
563
+ },
564
+ "required": [
565
+ "media_type",
566
+ "provider"
567
+ ]
568
+ }
569
+ },
570
+ "disclosure": {
571
+ "type": "object",
572
+ "properties": {
573
+ "required": {
574
+ "type": "boolean"
575
+ },
576
+ "jurisdictions": {
577
+ "type": "array",
578
+ "items": {
579
+ "type": "object",
580
+ "properties": {
581
+ "country": {
582
+ "type": "string"
583
+ },
584
+ "region": {
585
+ "type": "string"
586
+ },
587
+ "regulation": {
588
+ "type": "string"
589
+ },
590
+ "label_text": {
591
+ "type": "string"
592
+ },
593
+ "render_guidance": {
594
+ "type": "object",
595
+ "properties": {
596
+ "persistence": {
597
+ "$ref": "#/$defs/external:enums~1disclosure-persistence.json"
598
+ },
599
+ "min_duration_ms": {
600
+ "type": "integer"
601
+ },
602
+ "positions": {
603
+ "type": "array",
604
+ "items": {
605
+ "$ref": "#/$defs/external:enums~1disclosure-position.json"
606
+ }
607
+ },
608
+ "ext": {
609
+ "$ref": "#/$defs/external:core~1ext.json"
610
+ }
611
+ }
612
+ }
613
+ },
614
+ "required": [
615
+ "country",
616
+ "regulation"
617
+ ]
618
+ }
619
+ }
620
+ },
621
+ "required": [
622
+ "required"
623
+ ]
624
+ },
625
+ "verification": {
626
+ "type": "array",
627
+ "items": {
628
+ "type": "object",
629
+ "properties": {
630
+ "verified_by": {
631
+ "type": "string"
632
+ },
633
+ "verified_time": {
634
+ "type": "string"
635
+ },
636
+ "result": {
637
+ "type": "string",
638
+ "enum": [
639
+ "authentic",
640
+ "ai_generated",
641
+ "ai_modified",
642
+ "inconclusive"
643
+ ]
644
+ },
645
+ "confidence": {
646
+ "type": "number"
647
+ },
648
+ "details_url": {
649
+ "type": "string"
650
+ }
651
+ },
652
+ "required": [
653
+ "verified_by",
654
+ "result"
655
+ ]
656
+ }
657
+ },
658
+ "ext": {
659
+ "$ref": "#/$defs/external:core~1ext.json"
660
+ }
661
+ }
662
+ },
663
+ "external:enums/digital-source-type.json": {
664
+ "type": "string",
665
+ "enum": [
666
+ "digital_capture",
667
+ "digital_creation",
668
+ "trained_algorithmic_media",
669
+ "composite_with_trained_algorithmic_media",
670
+ "algorithmic_media",
671
+ "composite_capture",
672
+ "composite_synthetic",
673
+ "human_edits",
674
+ "data_driven_media"
675
+ ]
676
+ },
677
+ "external:enums/embedded-provenance-method.json": {
678
+ "type": "string",
679
+ "enum": [
680
+ "manifest_wrapper",
681
+ "provenance_markers"
682
+ ]
683
+ },
684
+ "external:enums/watermark-media-type.json": {
685
+ "type": "string",
686
+ "enum": [
687
+ "audio",
688
+ "image",
689
+ "video",
690
+ "text"
691
+ ]
692
+ },
693
+ "external:enums/c2pa-watermark-action.json": {
694
+ "type": "string",
695
+ "enum": [
696
+ "c2pa.watermarked.bound",
697
+ "c2pa.watermarked.unbound"
698
+ ]
699
+ },
700
+ "external:enums/disclosure-persistence.json": {
701
+ "type": "string",
702
+ "enum": [
703
+ "continuous",
704
+ "initial",
705
+ "flexible"
706
+ ]
707
+ },
708
+ "external:enums/disclosure-position.json": {
709
+ "type": "string",
710
+ "enum": [
711
+ "prominent",
712
+ "footer",
713
+ "audio",
714
+ "subtitle",
715
+ "overlay",
716
+ "end_card",
717
+ "pre_roll",
718
+ "companion"
719
+ ]
720
+ },
721
+ "external:core/ext.json": {
722
+ "type": "object",
723
+ "additionalProperties": true
724
+ },
725
+ "external:core/operator-unit.json": {
726
+ "type": "object",
727
+ "properties": {
728
+ "id": {
729
+ "type": "string"
730
+ },
731
+ "name": {
732
+ "type": "string"
733
+ }
734
+ },
735
+ "required": [
736
+ "id"
737
+ ]
738
+ },
739
+ "external:core/creative-asset.json": {
740
+ "type": "object",
741
+ "properties": {
742
+ "creative_id": {
743
+ "type": "string"
744
+ },
745
+ "name": {
746
+ "type": "string"
747
+ },
748
+ "format_id": {
749
+ "$ref": "#/$defs/external:core~1format-id.json"
750
+ },
751
+ "format_kind": {
752
+ "$ref": "#/$defs/external:core~1canonical-format-kind.json"
753
+ },
754
+ "format_option_ref": {
755
+ "$ref": "#/$defs/external:core~1format-option-ref.json"
756
+ },
757
+ "assets": {
758
+ "type": "object",
759
+ "patternProperties": {
760
+ "^[a-z0-9_]+$": {
761
+ "oneOf": [
762
+ {
763
+ "$ref": "#/$defs/external:core~1assets~1asset-union.json"
764
+ },
765
+ {
766
+ "type": "array",
767
+ "items": {
768
+ "$ref": "#/$defs/external:core~1assets~1asset-union.json"
769
+ }
770
+ }
771
+ ]
772
+ }
773
+ },
774
+ "additionalProperties": true
775
+ },
776
+ "inputs": {
777
+ "type": "array",
778
+ "items": {
779
+ "type": "object",
780
+ "properties": {
781
+ "name": {
782
+ "type": "string"
783
+ },
784
+ "macros": {
785
+ "type": "object",
786
+ "additionalProperties": {
787
+ "type": "string"
788
+ }
789
+ },
790
+ "context_description": {
791
+ "type": "string"
792
+ }
793
+ },
794
+ "required": [
795
+ "name"
796
+ ],
797
+ "additionalProperties": true
798
+ }
799
+ },
800
+ "tags": {
801
+ "type": "array",
802
+ "items": {
803
+ "type": "string"
804
+ }
805
+ },
806
+ "status": {
807
+ "$ref": "#/$defs/external:enums~1creative-status.json"
808
+ },
809
+ "weight": {
810
+ "type": "number"
811
+ },
812
+ "placement_refs": {
813
+ "type": "array",
814
+ "items": {
815
+ "$ref": "#/$defs/external:core~1placement-ref.json"
816
+ }
817
+ },
818
+ "placement_ids": {
819
+ "type": "array",
820
+ "items": {
821
+ "type": "string"
822
+ }
823
+ },
824
+ "industry_identifiers": {
825
+ "type": "array",
826
+ "items": {
827
+ "$ref": "#/$defs/external:core~1industry-identifier.json"
828
+ }
829
+ },
830
+ "provenance": {
831
+ "$ref": "#/$defs/external:core~1provenance.json"
832
+ },
833
+ "rights": {
834
+ "type": "array",
835
+ "items": {
836
+ "$ref": "#/$defs/external:core~1rights-constraint.json"
837
+ }
838
+ }
839
+ },
840
+ "required": [
841
+ "creative_id",
842
+ "name",
843
+ "assets"
844
+ ],
845
+ "not": {
846
+ "anyOf": [
847
+ {
848
+ "required": [
849
+ "capability_id"
850
+ ]
851
+ },
852
+ {
853
+ "required": [
854
+ "capability_ref"
855
+ ]
856
+ }
857
+ ]
858
+ },
859
+ "oneOf": [
860
+ {
861
+ "required": [
862
+ "format_id"
863
+ ],
864
+ "not": {
865
+ "required": [
866
+ "format_kind"
867
+ ]
868
+ }
869
+ },
870
+ {
871
+ "required": [
872
+ "format_kind"
873
+ ],
874
+ "not": {
875
+ "required": [
876
+ "format_id"
877
+ ]
878
+ }
879
+ }
880
+ ],
881
+ "additionalProperties": true
882
+ },
883
+ "external:core/format-id.json": {
884
+ "type": "object",
885
+ "properties": {
886
+ "agent_url": {
887
+ "type": "string"
888
+ },
889
+ "id": {
890
+ "type": "string"
891
+ },
892
+ "width": {
893
+ "type": "integer"
894
+ },
895
+ "height": {
896
+ "type": "integer"
897
+ },
898
+ "duration_ms": {
899
+ "type": "number"
900
+ },
901
+ "pixel_ratio": {
902
+ "type": "number"
903
+ }
904
+ },
905
+ "required": [
906
+ "agent_url",
907
+ "id"
908
+ ],
909
+ "additionalProperties": true,
910
+ "dependentRequired": {
911
+ "width": [
912
+ "height"
913
+ ],
914
+ "height": [
915
+ "width"
916
+ ],
917
+ "pixel_ratio": [
918
+ "width",
919
+ "height"
920
+ ]
921
+ }
922
+ },
923
+ "external:core/canonical-format-kind.json": {
924
+ "type": "string",
925
+ "enum": [
926
+ "image",
927
+ "html5",
928
+ "display_tag",
929
+ "image_carousel",
930
+ "video_hosted",
931
+ "video_vast",
932
+ "audio_hosted",
933
+ "audio_daast",
934
+ "sponsored_placement",
935
+ "native_in_feed",
936
+ "responsive_creative",
937
+ "agent_placement",
938
+ "custom"
939
+ ]
940
+ },
941
+ "external:core/format-option-ref.json": {
942
+ "type": "object",
943
+ "discriminator": {
944
+ "propertyName": "scope"
945
+ },
946
+ "oneOf": [
947
+ {
948
+ "type": "object",
949
+ "properties": {
950
+ "scope": {
951
+ "type": "string",
952
+ "const": "publisher"
953
+ },
954
+ "publisher_domain": {
955
+ "type": "string"
956
+ },
957
+ "format_option_id": {
958
+ "type": "string"
959
+ }
960
+ },
961
+ "required": [
962
+ "scope",
963
+ "publisher_domain",
964
+ "format_option_id"
965
+ ],
966
+ "additionalProperties": true
967
+ },
968
+ {
969
+ "type": "object",
970
+ "properties": {
971
+ "scope": {
972
+ "type": "string",
973
+ "const": "product"
974
+ },
975
+ "format_option_id": {
976
+ "type": "string"
977
+ },
978
+ "publisher_domain": false
979
+ },
980
+ "required": [
981
+ "scope",
982
+ "format_option_id"
983
+ ],
984
+ "additionalProperties": true
985
+ }
986
+ ],
987
+ "additionalProperties": true
988
+ },
989
+ "external:core/assets/asset-union.json": {
990
+ "type": "object",
991
+ "oneOf": [
992
+ {
993
+ "$ref": "#/$defs/external:core~1assets~1image-asset.json"
994
+ },
995
+ {
996
+ "$ref": "#/$defs/external:core~1assets~1video-asset.json"
997
+ },
998
+ {
999
+ "$ref": "#/$defs/external:core~1assets~1audio-asset.json"
1000
+ },
1001
+ {
1002
+ "$ref": "#/$defs/external:core~1assets~1vast-asset.json"
1003
+ },
1004
+ {
1005
+ "$ref": "#/$defs/external:core~1assets~1text-asset.json"
1006
+ },
1007
+ {
1008
+ "$ref": "#/$defs/external:core~1assets~1url-asset.json"
1009
+ },
1010
+ {
1011
+ "$ref": "#/$defs/external:core~1assets~1html-asset.json"
1012
+ },
1013
+ {
1014
+ "$ref": "#/$defs/external:core~1assets~1javascript-asset.json"
1015
+ },
1016
+ {
1017
+ "$ref": "#/$defs/external:core~1assets~1zip-asset.json"
1018
+ },
1019
+ {
1020
+ "$ref": "#/$defs/external:core~1assets~1webhook-asset.json"
1021
+ },
1022
+ {
1023
+ "$ref": "#/$defs/external:core~1assets~1css-asset.json"
1024
+ },
1025
+ {
1026
+ "$ref": "#/$defs/external:core~1assets~1daast-asset.json"
1027
+ },
1028
+ {
1029
+ "$ref": "#/$defs/external:core~1assets~1markdown-asset.json"
1030
+ },
1031
+ {
1032
+ "$ref": "#/$defs/external:core~1assets~1brief-asset.json"
1033
+ },
1034
+ {
1035
+ "$ref": "#/$defs/external:core~1assets~1catalog-asset.json"
1036
+ },
1037
+ {
1038
+ "$ref": "#/$defs/external:core~1assets~1published-post-asset.json"
1039
+ },
1040
+ {
1041
+ "$ref": "#/$defs/external:core~1assets~1card-asset.json"
1042
+ },
1043
+ {
1044
+ "$ref": "#/$defs/external:core~1assets~1pixel-tracker-asset.json"
1045
+ },
1046
+ {
1047
+ "$ref": "#/$defs/external:core~1assets~1vast-tracker-asset.json"
1048
+ },
1049
+ {
1050
+ "$ref": "#/$defs/external:core~1assets~1daast-tracker-asset.json"
1051
+ }
1052
+ ],
1053
+ "discriminator": {
1054
+ "propertyName": "asset_type"
1055
+ }
1056
+ },
1057
+ "external:core/assets/video-asset.json": {
1058
+ "type": "object",
1059
+ "properties": {
1060
+ "asset_type": {
1061
+ "type": "string",
1062
+ "const": "video"
1063
+ },
1064
+ "url": {
1065
+ "type": "string"
1066
+ },
1067
+ "width": {
1068
+ "type": "integer"
1069
+ },
1070
+ "height": {
1071
+ "type": "integer"
1072
+ },
1073
+ "duration_ms": {
1074
+ "type": "integer"
1075
+ },
1076
+ "file_size_bytes": {
1077
+ "type": "integer"
1078
+ },
1079
+ "container_format": {
1080
+ "type": "string"
1081
+ },
1082
+ "video_codec": {
1083
+ "type": "string"
1084
+ },
1085
+ "video_bitrate_kbps": {
1086
+ "type": "integer"
1087
+ },
1088
+ "frame_rate": {
1089
+ "type": "string"
1090
+ },
1091
+ "frame_rate_type": {
1092
+ "$ref": "#/$defs/external:enums~1frame-rate-type.json"
1093
+ },
1094
+ "scan_type": {
1095
+ "$ref": "#/$defs/external:enums~1scan-type.json"
1096
+ },
1097
+ "color_space": {
1098
+ "type": "string",
1099
+ "enum": [
1100
+ "rec709",
1101
+ "rec2020",
1102
+ "rec2100",
1103
+ "srgb",
1104
+ "dci_p3"
1105
+ ]
1106
+ },
1107
+ "hdr_format": {
1108
+ "type": "string",
1109
+ "enum": [
1110
+ "sdr",
1111
+ "hdr10",
1112
+ "hdr10_plus",
1113
+ "hlg",
1114
+ "dolby_vision"
1115
+ ]
1116
+ },
1117
+ "chroma_subsampling": {
1118
+ "type": "string",
1119
+ "enum": [
1120
+ "4:2:0",
1121
+ "4:2:2",
1122
+ "4:4:4"
1123
+ ]
1124
+ },
1125
+ "video_bit_depth": {
1126
+ "type": "integer",
1127
+ "enum": [
1128
+ 8,
1129
+ 10,
1130
+ 12
1131
+ ]
1132
+ },
1133
+ "gop_interval_seconds": {
1134
+ "type": "number"
1135
+ },
1136
+ "gop_type": {
1137
+ "$ref": "#/$defs/external:enums~1gop-type.json"
1138
+ },
1139
+ "moov_atom_position": {
1140
+ "$ref": "#/$defs/external:enums~1moov-atom-position.json"
1141
+ },
1142
+ "has_audio": {
1143
+ "type": "boolean"
1144
+ },
1145
+ "audio_codec": {
1146
+ "type": "string"
1147
+ },
1148
+ "audio_sampling_rate_hz": {
1149
+ "type": "integer"
1150
+ },
1151
+ "audio_channels": {
1152
+ "$ref": "#/$defs/external:enums~1audio-channel-layout.json"
1153
+ },
1154
+ "audio_bit_depth": {
1155
+ "type": "integer",
1156
+ "enum": [
1157
+ 16,
1158
+ 24,
1159
+ 32
1160
+ ]
1161
+ },
1162
+ "audio_bitrate_kbps": {
1163
+ "type": "integer"
1164
+ },
1165
+ "audio_loudness_lufs": {
1166
+ "type": "number"
1167
+ },
1168
+ "audio_true_peak_dbfs": {
1169
+ "type": "number"
1170
+ },
1171
+ "captions_url": {
1172
+ "type": "string"
1173
+ },
1174
+ "transcript_url": {
1175
+ "type": "string"
1176
+ },
1177
+ "audio_description_url": {
1178
+ "type": "string"
1179
+ },
1180
+ "provenance": {
1181
+ "$ref": "#/$defs/external:core~1provenance.json"
1182
+ }
1183
+ },
1184
+ "required": [
1185
+ "asset_type",
1186
+ "url",
1187
+ "width",
1188
+ "height"
1189
+ ],
1190
+ "additionalProperties": true
1191
+ },
1192
+ "external:enums/frame-rate-type.json": {
1193
+ "type": "string",
1194
+ "enum": [
1195
+ "constant",
1196
+ "variable"
1197
+ ]
1198
+ },
1199
+ "external:enums/scan-type.json": {
1200
+ "type": "string",
1201
+ "enum": [
1202
+ "progressive",
1203
+ "interlaced"
1204
+ ]
1205
+ },
1206
+ "external:enums/gop-type.json": {
1207
+ "type": "string",
1208
+ "enum": [
1209
+ "closed",
1210
+ "open"
1211
+ ]
1212
+ },
1213
+ "external:enums/moov-atom-position.json": {
1214
+ "type": "string",
1215
+ "enum": [
1216
+ "start",
1217
+ "end"
1218
+ ]
1219
+ },
1220
+ "external:enums/audio-channel-layout.json": {
1221
+ "type": "string",
1222
+ "enum": [
1223
+ "mono",
1224
+ "stereo",
1225
+ "5.1",
1226
+ "7.1"
1227
+ ]
1228
+ },
1229
+ "external:core/assets/audio-asset.json": {
1230
+ "type": "object",
1231
+ "properties": {
1232
+ "asset_type": {
1233
+ "type": "string",
1234
+ "const": "audio"
1235
+ },
1236
+ "url": {
1237
+ "type": "string"
1238
+ },
1239
+ "duration_ms": {
1240
+ "type": "integer"
1241
+ },
1242
+ "file_size_bytes": {
1243
+ "type": "integer"
1244
+ },
1245
+ "container_format": {
1246
+ "type": "string"
1247
+ },
1248
+ "codec": {
1249
+ "type": "string"
1250
+ },
1251
+ "sampling_rate_hz": {
1252
+ "type": "integer"
1253
+ },
1254
+ "channels": {
1255
+ "$ref": "#/$defs/external:enums~1audio-channel-layout.json"
1256
+ },
1257
+ "bit_depth": {
1258
+ "type": "integer",
1259
+ "enum": [
1260
+ 16,
1261
+ 24,
1262
+ 32
1263
+ ]
1264
+ },
1265
+ "bitrate_kbps": {
1266
+ "type": "integer"
1267
+ },
1268
+ "loudness_lufs": {
1269
+ "type": "number"
1270
+ },
1271
+ "true_peak_dbfs": {
1272
+ "type": "number"
1273
+ },
1274
+ "transcript_url": {
1275
+ "type": "string"
1276
+ },
1277
+ "provenance": {
1278
+ "$ref": "#/$defs/external:core~1provenance.json"
1279
+ }
1280
+ },
1281
+ "required": [
1282
+ "asset_type",
1283
+ "url"
1284
+ ],
1285
+ "additionalProperties": true
1286
+ },
1287
+ "external:core/assets/vast-asset.json": {
1288
+ "type": "object",
1289
+ "properties": {
1290
+ "asset_type": {
1291
+ "type": "string",
1292
+ "const": "vast"
1293
+ },
1294
+ "vast_version": {
1295
+ "$ref": "#/$defs/external:enums~1vast-version.json"
1296
+ },
1297
+ "vpaid_enabled": {
1298
+ "type": "boolean"
1299
+ },
1300
+ "duration_ms": {
1301
+ "type": "integer"
1302
+ },
1303
+ "tracking_events": {
1304
+ "type": "array",
1305
+ "items": {
1306
+ "$ref": "#/$defs/external:enums~1vast-tracking-event.json"
1307
+ }
1308
+ },
1309
+ "captions_url": {
1310
+ "type": "string"
1311
+ },
1312
+ "audio_description_url": {
1313
+ "type": "string"
1314
+ },
1315
+ "provenance": {
1316
+ "$ref": "#/$defs/external:core~1provenance.json"
1317
+ }
1318
+ },
1319
+ "required": [
1320
+ "asset_type"
1321
+ ],
1322
+ "oneOf": [
1323
+ {
1324
+ "properties": {
1325
+ "delivery_type": {
1326
+ "type": "string",
1327
+ "const": "url"
1328
+ },
1329
+ "url": {
1330
+ "type": "string"
1331
+ }
1332
+ },
1333
+ "required": [
1334
+ "delivery_type",
1335
+ "url"
1336
+ ]
1337
+ },
1338
+ {
1339
+ "properties": {
1340
+ "delivery_type": {
1341
+ "type": "string",
1342
+ "const": "inline"
1343
+ },
1344
+ "content": {
1345
+ "type": "string"
1346
+ }
1347
+ },
1348
+ "required": [
1349
+ "delivery_type",
1350
+ "content"
1351
+ ]
1352
+ }
1353
+ ],
1354
+ "discriminator": {
1355
+ "propertyName": "delivery_type"
1356
+ },
1357
+ "additionalProperties": true
1358
+ },
1359
+ "external:enums/vast-version.json": {
1360
+ "type": "string",
1361
+ "enum": [
1362
+ "2.0",
1363
+ "3.0",
1364
+ "4.0",
1365
+ "4.1",
1366
+ "4.2",
1367
+ "4.3"
1368
+ ]
1369
+ },
1370
+ "external:enums/vast-tracking-event.json": {
1371
+ "type": "string",
1372
+ "enum": [
1373
+ "impression",
1374
+ "creativeView",
1375
+ "loaded",
1376
+ "start",
1377
+ "firstQuartile",
1378
+ "midpoint",
1379
+ "thirdQuartile",
1380
+ "complete",
1381
+ "mute",
1382
+ "unmute",
1383
+ "pause",
1384
+ "resume",
1385
+ "rewind",
1386
+ "skip",
1387
+ "playerExpand",
1388
+ "playerCollapse",
1389
+ "fullscreen",
1390
+ "exitFullscreen",
1391
+ "progress",
1392
+ "acceptInvitation",
1393
+ "adExpand",
1394
+ "adCollapse",
1395
+ "minimize",
1396
+ "overlayViewDuration",
1397
+ "otherAdInteraction",
1398
+ "interactiveStart",
1399
+ "clickTracking",
1400
+ "customClick",
1401
+ "close",
1402
+ "closeLinear",
1403
+ "error",
1404
+ "viewable",
1405
+ "notViewable",
1406
+ "viewUndetermined",
1407
+ "measurableImpression",
1408
+ "viewableImpression"
1409
+ ]
1410
+ },
1411
+ "external:core/assets/text-asset.json": {
1412
+ "type": "object",
1413
+ "properties": {
1414
+ "asset_type": {
1415
+ "type": "string",
1416
+ "const": "text"
1417
+ },
1418
+ "content": {
1419
+ "type": "string"
1420
+ },
1421
+ "language": {
1422
+ "type": "string"
1423
+ },
1424
+ "provenance": {
1425
+ "$ref": "#/$defs/external:core~1provenance.json"
1426
+ }
1427
+ },
1428
+ "required": [
1429
+ "asset_type",
1430
+ "content"
1431
+ ],
1432
+ "additionalProperties": true
1433
+ },
1434
+ "external:core/assets/url-asset.json": {
1435
+ "type": "object",
1436
+ "properties": {
1437
+ "asset_type": {
1438
+ "type": "string",
1439
+ "const": "url"
1440
+ },
1441
+ "url": {
1442
+ "type": "string"
1443
+ },
1444
+ "url_type": {
1445
+ "$ref": "#/$defs/external:enums~1url-asset-type.json"
1446
+ },
1447
+ "description": {
1448
+ "type": "string"
1449
+ },
1450
+ "provenance": {
1451
+ "$ref": "#/$defs/external:core~1provenance.json"
1452
+ }
1453
+ },
1454
+ "required": [
1455
+ "asset_type",
1456
+ "url"
1457
+ ],
1458
+ "additionalProperties": true
1459
+ },
1460
+ "external:enums/url-asset-type.json": {
1461
+ "type": "string",
1462
+ "enum": [
1463
+ "clickthrough",
1464
+ "tracker_pixel",
1465
+ "tracker_script"
1466
+ ]
1467
+ },
1468
+ "external:core/assets/html-asset.json": {
1469
+ "type": "object",
1470
+ "properties": {
1471
+ "asset_type": {
1472
+ "type": "string",
1473
+ "const": "html"
1474
+ },
1475
+ "content": {
1476
+ "type": "string"
1477
+ },
1478
+ "version": {
1479
+ "type": "string"
1480
+ },
1481
+ "accessibility": {
1482
+ "type": "object",
1483
+ "properties": {
1484
+ "alt_text": {
1485
+ "type": "string"
1486
+ },
1487
+ "keyboard_navigable": {
1488
+ "type": "boolean"
1489
+ },
1490
+ "motion_control": {
1491
+ "type": "boolean"
1492
+ },
1493
+ "screen_reader_tested": {
1494
+ "type": "boolean"
1495
+ }
1496
+ }
1497
+ },
1498
+ "provenance": {
1499
+ "$ref": "#/$defs/external:core~1provenance.json"
1500
+ }
1501
+ },
1502
+ "required": [
1503
+ "asset_type",
1504
+ "content"
1505
+ ],
1506
+ "additionalProperties": true
1507
+ },
1508
+ "external:core/assets/javascript-asset.json": {
1509
+ "type": "object",
1510
+ "properties": {
1511
+ "asset_type": {
1512
+ "type": "string",
1513
+ "const": "javascript"
1514
+ },
1515
+ "content": {
1516
+ "type": "string"
1517
+ },
1518
+ "module_type": {
1519
+ "$ref": "#/$defs/external:enums~1javascript-module-type.json"
1520
+ },
1521
+ "accessibility": {
1522
+ "type": "object",
1523
+ "properties": {
1524
+ "alt_text": {
1525
+ "type": "string"
1526
+ },
1527
+ "keyboard_navigable": {
1528
+ "type": "boolean"
1529
+ },
1530
+ "motion_control": {
1531
+ "type": "boolean"
1532
+ },
1533
+ "screen_reader_tested": {
1534
+ "type": "boolean"
1535
+ }
1536
+ }
1537
+ },
1538
+ "provenance": {
1539
+ "$ref": "#/$defs/external:core~1provenance.json"
1540
+ }
1541
+ },
1542
+ "required": [
1543
+ "asset_type",
1544
+ "content"
1545
+ ],
1546
+ "additionalProperties": true
1547
+ },
1548
+ "external:enums/javascript-module-type.json": {
1549
+ "type": "string",
1550
+ "enum": [
1551
+ "esm",
1552
+ "commonjs",
1553
+ "script"
1554
+ ]
1555
+ },
1556
+ "external:core/assets/zip-asset.json": {
1557
+ "type": "object",
1558
+ "properties": {
1559
+ "asset_type": {
1560
+ "type": "string",
1561
+ "const": "zip"
1562
+ },
1563
+ "url": {
1564
+ "type": "string"
1565
+ },
1566
+ "max_file_size_kb": {
1567
+ "type": "integer"
1568
+ },
1569
+ "entry_point": {
1570
+ "type": "string"
1571
+ },
1572
+ "allowed_inner_extensions": {
1573
+ "type": "array",
1574
+ "items": {
1575
+ "type": "string"
1576
+ }
1577
+ },
1578
+ "backup_image_url": {
1579
+ "type": "string"
1580
+ },
1581
+ "digest": {
1582
+ "type": "string"
1583
+ },
1584
+ "accessibility": {
1585
+ "type": "object",
1586
+ "properties": {
1587
+ "alt_text": {
1588
+ "type": "string"
1589
+ },
1590
+ "keyboard_navigable": {
1591
+ "type": "boolean"
1592
+ },
1593
+ "motion_control": {
1594
+ "type": "boolean"
1595
+ },
1596
+ "screen_reader_tested": {
1597
+ "type": "boolean"
1598
+ }
1599
+ }
1600
+ },
1601
+ "provenance": {
1602
+ "$ref": "#/$defs/external:core~1provenance.json"
1603
+ }
1604
+ },
1605
+ "required": [
1606
+ "asset_type",
1607
+ "url"
1608
+ ],
1609
+ "additionalProperties": true
1610
+ },
1611
+ "external:core/assets/webhook-asset.json": {
1612
+ "type": "object",
1613
+ "properties": {
1614
+ "asset_type": {
1615
+ "type": "string",
1616
+ "const": "webhook"
1617
+ },
1618
+ "url": {
1619
+ "type": "string"
1620
+ },
1621
+ "method": {
1622
+ "$ref": "#/$defs/external:enums~1http-method.json"
1623
+ },
1624
+ "timeout_ms": {
1625
+ "type": "integer"
1626
+ },
1627
+ "supported_macros": {
1628
+ "type": "array",
1629
+ "items": {
1630
+ "anyOf": [
1631
+ {
1632
+ "$ref": "#/$defs/external:enums~1universal-macro.json"
1633
+ },
1634
+ {
1635
+ "type": "string"
1636
+ }
1637
+ ]
1638
+ }
1639
+ },
1640
+ "required_macros": {
1641
+ "type": "array",
1642
+ "items": {
1643
+ "anyOf": [
1644
+ {
1645
+ "$ref": "#/$defs/external:enums~1universal-macro.json"
1646
+ },
1647
+ {
1648
+ "type": "string"
1649
+ }
1650
+ ]
1651
+ }
1652
+ },
1653
+ "response_type": {
1654
+ "$ref": "#/$defs/external:enums~1webhook-response-type.json"
1655
+ },
1656
+ "security": {
1657
+ "type": "object",
1658
+ "properties": {
1659
+ "method": {
1660
+ "$ref": "#/$defs/external:enums~1webhook-security-method.json"
1661
+ },
1662
+ "hmac_header": {
1663
+ "type": "string"
1664
+ },
1665
+ "api_key_header": {
1666
+ "type": "string"
1667
+ }
1668
+ },
1669
+ "required": [
1670
+ "method"
1671
+ ]
1672
+ },
1673
+ "provenance": {
1674
+ "$ref": "#/$defs/external:core~1provenance.json"
1675
+ }
1676
+ },
1677
+ "required": [
1678
+ "asset_type",
1679
+ "url",
1680
+ "response_type",
1681
+ "security"
1682
+ ],
1683
+ "additionalProperties": true
1684
+ },
1685
+ "external:enums/http-method.json": {
1686
+ "type": "string",
1687
+ "enum": [
1688
+ "GET",
1689
+ "POST"
1690
+ ]
1691
+ },
1692
+ "external:enums/universal-macro.json": {
1693
+ "type": "string",
1694
+ "enum": [
1695
+ "MEDIA_BUY_ID",
1696
+ "PACKAGE_ID",
1697
+ "CREATIVE_ID",
1698
+ "CACHEBUSTER",
1699
+ "TIMESTAMP",
1700
+ "CLICK_URL",
1701
+ "GDPR",
1702
+ "GDPR_CONSENT",
1703
+ "US_PRIVACY",
1704
+ "GPP_STRING",
1705
+ "GPP_SID",
1706
+ "IP_ADDRESS",
1707
+ "LIMIT_AD_TRACKING",
1708
+ "DEVICE_TYPE",
1709
+ "OS",
1710
+ "OS_VERSION",
1711
+ "DEVICE_MAKE",
1712
+ "DEVICE_MODEL",
1713
+ "USER_AGENT",
1714
+ "APP_BUNDLE",
1715
+ "APP_NAME",
1716
+ "COUNTRY",
1717
+ "REGION",
1718
+ "CITY",
1719
+ "ZIP",
1720
+ "DMA",
1721
+ "LAT",
1722
+ "LONG",
1723
+ "DEVICE_ID",
1724
+ "DEVICE_ID_TYPE",
1725
+ "DOMAIN",
1726
+ "PAGE_URL",
1727
+ "REFERRER",
1728
+ "KEYWORDS",
1729
+ "PLACEMENT_ID",
1730
+ "FOLD_POSITION",
1731
+ "AD_WIDTH",
1732
+ "AD_HEIGHT",
1733
+ "VIDEO_ID",
1734
+ "VIDEO_TITLE",
1735
+ "VIDEO_DURATION",
1736
+ "VIDEO_CATEGORY",
1737
+ "CONTENT_GENRE",
1738
+ "CONTENT_RATING",
1739
+ "PLAYER_WIDTH",
1740
+ "PLAYER_HEIGHT",
1741
+ "POD_POSITION",
1742
+ "POD_SIZE",
1743
+ "AD_BREAK_ID",
1744
+ "STATION_ID",
1745
+ "COLLECTION_NAME",
1746
+ "INSTALLMENT_ID",
1747
+ "AUDIO_DURATION",
1748
+ "TMPX",
1749
+ "IMPRESSION_ID",
1750
+ "AXEM",
1751
+ "CATALOG_ID",
1752
+ "SKU",
1753
+ "GTIN",
1754
+ "OFFERING_ID",
1755
+ "JOB_ID",
1756
+ "HOTEL_ID",
1757
+ "FLIGHT_ID",
1758
+ "VEHICLE_ID",
1759
+ "LISTING_ID",
1760
+ "STORE_ID",
1761
+ "PROGRAM_ID",
1762
+ "DESTINATION_ID",
1763
+ "CREATIVE_VARIANT_ID",
1764
+ "APP_ITEM_ID",
1765
+ "ITEM_NAME",
1766
+ "ITEM_DESCRIPTION",
1767
+ "ITEM_TAGLINE",
1768
+ "ITEM_PRICE",
1769
+ "ITEM_PRICE_CURRENCY"
1770
+ ]
1771
+ },
1772
+ "external:enums/webhook-response-type.json": {
1773
+ "type": "string",
1774
+ "enum": [
1775
+ "html",
1776
+ "json",
1777
+ "xml",
1778
+ "javascript"
1779
+ ]
1780
+ },
1781
+ "external:enums/webhook-security-method.json": {
1782
+ "type": "string",
1783
+ "enum": [
1784
+ "hmac_sha256",
1785
+ "api_key",
1786
+ "none"
1787
+ ]
1788
+ },
1789
+ "external:core/assets/css-asset.json": {
1790
+ "type": "object",
1791
+ "properties": {
1792
+ "asset_type": {
1793
+ "type": "string",
1794
+ "const": "css"
1795
+ },
1796
+ "content": {
1797
+ "type": "string"
1798
+ },
1799
+ "media": {
1800
+ "type": "string"
1801
+ },
1802
+ "provenance": {
1803
+ "$ref": "#/$defs/external:core~1provenance.json"
1804
+ }
1805
+ },
1806
+ "required": [
1807
+ "asset_type",
1808
+ "content"
1809
+ ],
1810
+ "additionalProperties": true
1811
+ },
1812
+ "external:core/assets/daast-asset.json": {
1813
+ "type": "object",
1814
+ "properties": {
1815
+ "asset_type": {
1816
+ "type": "string",
1817
+ "const": "daast"
1818
+ },
1819
+ "daast_version": {
1820
+ "$ref": "#/$defs/external:enums~1daast-version.json"
1821
+ },
1822
+ "duration_ms": {
1823
+ "type": "integer"
1824
+ },
1825
+ "tracking_events": {
1826
+ "type": "array",
1827
+ "items": {
1828
+ "$ref": "#/$defs/external:enums~1daast-tracking-event.json"
1829
+ }
1830
+ },
1831
+ "companion_ads": {
1832
+ "type": "boolean"
1833
+ },
1834
+ "transcript_url": {
1835
+ "type": "string"
1836
+ },
1837
+ "provenance": {
1838
+ "$ref": "#/$defs/external:core~1provenance.json"
1839
+ }
1840
+ },
1841
+ "required": [
1842
+ "asset_type"
1843
+ ],
1844
+ "oneOf": [
1845
+ {
1846
+ "properties": {
1847
+ "delivery_type": {
1848
+ "type": "string",
1849
+ "const": "url"
1850
+ },
1851
+ "url": {
1852
+ "type": "string"
1853
+ }
1854
+ },
1855
+ "required": [
1856
+ "delivery_type",
1857
+ "url"
1858
+ ]
1859
+ },
1860
+ {
1861
+ "properties": {
1862
+ "delivery_type": {
1863
+ "type": "string",
1864
+ "const": "inline"
1865
+ },
1866
+ "content": {
1867
+ "type": "string"
1868
+ }
1869
+ },
1870
+ "required": [
1871
+ "delivery_type",
1872
+ "content"
1873
+ ]
1874
+ }
1875
+ ],
1876
+ "discriminator": {
1877
+ "propertyName": "delivery_type"
1878
+ },
1879
+ "additionalProperties": true
1880
+ },
1881
+ "external:enums/daast-version.json": {
1882
+ "type": "string",
1883
+ "enum": [
1884
+ "1.0",
1885
+ "1.1"
1886
+ ]
1887
+ },
1888
+ "external:enums/daast-tracking-event.json": {
1889
+ "type": "string",
1890
+ "enum": [
1891
+ "impression",
1892
+ "creativeView",
1893
+ "start",
1894
+ "firstQuartile",
1895
+ "midpoint",
1896
+ "thirdQuartile",
1897
+ "complete",
1898
+ "mute",
1899
+ "unmute",
1900
+ "pause",
1901
+ "resume",
1902
+ "rewind",
1903
+ "skip",
1904
+ "progress",
1905
+ "clickTracking",
1906
+ "customClick",
1907
+ "close",
1908
+ "error",
1909
+ "viewable",
1910
+ "notViewable",
1911
+ "viewUndetermined",
1912
+ "measurableImpression",
1913
+ "viewableImpression"
1914
+ ]
1915
+ },
1916
+ "external:core/assets/markdown-asset.json": {
1917
+ "type": "object",
1918
+ "properties": {
1919
+ "asset_type": {
1920
+ "type": "string",
1921
+ "const": "markdown"
1922
+ },
1923
+ "content": {
1924
+ "type": "string"
1925
+ },
1926
+ "language": {
1927
+ "type": "string"
1928
+ },
1929
+ "markdown_flavor": {
1930
+ "$ref": "#/$defs/external:enums~1markdown-flavor.json"
1931
+ },
1932
+ "allow_raw_html": {
1933
+ "type": "boolean"
1934
+ }
1935
+ },
1936
+ "required": [
1937
+ "asset_type",
1938
+ "content"
1939
+ ],
1940
+ "additionalProperties": true
1941
+ },
1942
+ "external:enums/markdown-flavor.json": {
1943
+ "type": "string",
1944
+ "enum": [
1945
+ "commonmark",
1946
+ "gfm"
1947
+ ]
1948
+ },
1949
+ "external:core/assets/brief-asset.json": {
1950
+ "type": "object",
1951
+ "properties": {
1952
+ "asset_type": {
1953
+ "type": "string",
1954
+ "const": "brief"
1955
+ }
1956
+ },
1957
+ "required": [
1958
+ "asset_type"
1959
+ ],
1960
+ "allOf": [
1961
+ {
1962
+ "$ref": "#/$defs/external:core~1creative-brief.json"
1963
+ }
1964
+ ]
1965
+ },
1966
+ "external:core/creative-brief.json": {
1967
+ "type": "object",
1968
+ "properties": {
1969
+ "name": {
1970
+ "type": "string"
1971
+ },
1972
+ "objective": {
1973
+ "type": "string",
1974
+ "enum": [
1975
+ "awareness",
1976
+ "consideration",
1977
+ "conversion",
1978
+ "retention",
1979
+ "engagement"
1980
+ ]
1981
+ },
1982
+ "tone": {
1983
+ "type": "string"
1984
+ },
1985
+ "audience": {
1986
+ "type": "string"
1987
+ },
1988
+ "territory": {
1989
+ "type": "string"
1990
+ },
1991
+ "messaging": {
1992
+ "type": "object",
1993
+ "properties": {
1994
+ "headline": {
1995
+ "type": "string"
1996
+ },
1997
+ "tagline": {
1998
+ "type": "string"
1999
+ },
2000
+ "cta": {
2001
+ "type": "string"
2002
+ },
2003
+ "key_messages": {
2004
+ "type": "array",
2005
+ "items": {
2006
+ "type": "string"
2007
+ }
2008
+ }
2009
+ },
2010
+ "additionalProperties": true
2011
+ },
2012
+ "reference_assets": {
2013
+ "type": "array",
2014
+ "items": {
2015
+ "$ref": "#/$defs/external:core~1reference-asset.json"
2016
+ }
2017
+ },
2018
+ "compliance": {
2019
+ "type": "object",
2020
+ "properties": {
2021
+ "required_disclosures": {
2022
+ "type": "array",
2023
+ "items": {
2024
+ "type": "object",
2025
+ "properties": {
2026
+ "text": {
2027
+ "type": "string"
2028
+ },
2029
+ "position": {
2030
+ "$ref": "#/$defs/external:enums~1disclosure-position.json"
2031
+ },
2032
+ "jurisdictions": {
2033
+ "type": "array",
2034
+ "items": {
2035
+ "type": "string"
2036
+ }
2037
+ },
2038
+ "regulation": {
2039
+ "type": "string"
2040
+ },
2041
+ "min_duration_ms": {
2042
+ "type": "integer"
2043
+ },
2044
+ "language": {
2045
+ "type": "string"
2046
+ },
2047
+ "persistence": {
2048
+ "$ref": "#/$defs/external:enums~1disclosure-persistence.json"
2049
+ }
2050
+ },
2051
+ "required": [
2052
+ "text"
2053
+ ],
2054
+ "additionalProperties": true
2055
+ }
2056
+ },
2057
+ "prohibited_claims": {
2058
+ "type": "array",
2059
+ "items": {
2060
+ "type": "string"
2061
+ }
2062
+ }
2063
+ },
2064
+ "additionalProperties": true
2065
+ }
2066
+ },
2067
+ "required": [
2068
+ "name"
2069
+ ],
2070
+ "additionalProperties": true
2071
+ },
2072
+ "external:core/reference-asset.json": {
2073
+ "type": "object",
2074
+ "properties": {
2075
+ "url": {
2076
+ "type": "string"
2077
+ },
2078
+ "role": {
2079
+ "type": "string",
2080
+ "enum": [
2081
+ "style_reference",
2082
+ "product_shot",
2083
+ "mood_board",
2084
+ "example_creative",
2085
+ "logo",
2086
+ "strategy_doc",
2087
+ "storyboard"
2088
+ ]
2089
+ },
2090
+ "description": {
2091
+ "type": "string"
2092
+ }
2093
+ },
2094
+ "required": [
2095
+ "url",
2096
+ "role"
2097
+ ],
2098
+ "additionalProperties": true
2099
+ },
2100
+ "external:core/assets/catalog-asset.json": {
2101
+ "type": "object",
2102
+ "properties": {
2103
+ "asset_type": {
2104
+ "type": "string",
2105
+ "const": "catalog"
2106
+ }
2107
+ },
2108
+ "required": [
2109
+ "asset_type"
2110
+ ],
2111
+ "allOf": [
2112
+ {
2113
+ "$ref": "#/$defs/external:core~1catalog.json"
2114
+ }
2115
+ ]
2116
+ },
2117
+ "external:core/catalog.json": {
2118
+ "type": "object",
2119
+ "properties": {
2120
+ "catalog_id": {
2121
+ "type": "string"
2122
+ },
2123
+ "name": {
2124
+ "type": "string"
2125
+ },
2126
+ "type": {
2127
+ "$ref": "#/$defs/external:enums~1catalog-type.json"
2128
+ },
2129
+ "url": {
2130
+ "type": "string"
2131
+ },
2132
+ "feed_format": {
2133
+ "$ref": "#/$defs/external:enums~1feed-format.json"
2134
+ },
2135
+ "update_frequency": {
2136
+ "$ref": "#/$defs/external:enums~1update-frequency.json"
2137
+ },
2138
+ "items": {
2139
+ "type": "array",
2140
+ "items": {
2141
+ "type": "object"
2142
+ }
2143
+ },
2144
+ "ids": {
2145
+ "type": "array",
2146
+ "items": {
2147
+ "type": "string"
2148
+ }
2149
+ },
2150
+ "gtins": {
2151
+ "type": "array",
2152
+ "items": {
2153
+ "type": "string"
2154
+ }
2155
+ },
2156
+ "tags": {
2157
+ "type": "array",
2158
+ "items": {
2159
+ "type": "string"
2160
+ }
2161
+ },
2162
+ "category": {
2163
+ "type": "string"
2164
+ },
2165
+ "query": {
2166
+ "type": "string"
2167
+ },
2168
+ "conversion_events": {
2169
+ "type": "array",
2170
+ "items": {
2171
+ "$ref": "#/$defs/external:enums~1event-type.json"
2172
+ }
2173
+ },
2174
+ "content_id_type": {
2175
+ "$ref": "#/$defs/external:enums~1content-id-type.json"
2176
+ },
2177
+ "feed_field_mappings": {
2178
+ "type": "array",
2179
+ "items": {
2180
+ "$ref": "#/$defs/external:core~1catalog-field-mapping.json"
2181
+ }
2182
+ }
2183
+ },
2184
+ "required": [
2185
+ "type"
2186
+ ],
2187
+ "additionalProperties": true
2188
+ },
2189
+ "external:enums/catalog-type.json": {
2190
+ "type": "string",
2191
+ "enum": [
2192
+ "offering",
2193
+ "product",
2194
+ "inventory",
2195
+ "store",
2196
+ "promotion",
2197
+ "hotel",
2198
+ "flight",
2199
+ "job",
2200
+ "vehicle",
2201
+ "real_estate",
2202
+ "education",
2203
+ "destination",
2204
+ "app"
2205
+ ]
2206
+ },
2207
+ "external:enums/feed-format.json": {
2208
+ "type": "string",
2209
+ "enum": [
2210
+ "google_merchant_center",
2211
+ "facebook_catalog",
2212
+ "shopify",
2213
+ "linkedin_jobs",
2214
+ "tiktok_shop",
2215
+ "pinterest_catalog",
2216
+ "openai_product_feed",
2217
+ "custom"
2218
+ ]
2219
+ },
2220
+ "external:enums/update-frequency.json": {
2221
+ "type": "string",
2222
+ "enum": [
2223
+ "realtime",
2224
+ "hourly",
2225
+ "daily",
2226
+ "weekly"
2227
+ ]
2228
+ },
2229
+ "external:enums/event-type.json": {
2230
+ "type": "string",
2231
+ "enum": [
2232
+ "page_view",
2233
+ "view_content",
2234
+ "select_content",
2235
+ "select_item",
2236
+ "search",
2237
+ "share",
2238
+ "add_to_cart",
2239
+ "remove_from_cart",
2240
+ "viewed_cart",
2241
+ "add_to_wishlist",
2242
+ "initiate_checkout",
2243
+ "add_payment_info",
2244
+ "purchase",
2245
+ "refund",
2246
+ "lead",
2247
+ "qualify_lead",
2248
+ "close_convert_lead",
2249
+ "disqualify_lead",
2250
+ "complete_registration",
2251
+ "subscribe",
2252
+ "follow",
2253
+ "content_view",
2254
+ "watch_milestone",
2255
+ "start_trial",
2256
+ "app_install",
2257
+ "app_launch",
2258
+ "contact",
2259
+ "schedule",
2260
+ "donate",
2261
+ "submit_application",
2262
+ "custom"
2263
+ ]
2264
+ },
2265
+ "external:enums/content-id-type.json": {
2266
+ "type": "string",
2267
+ "enum": [
2268
+ "sku",
2269
+ "gtin",
2270
+ "offering_id",
2271
+ "job_id",
2272
+ "hotel_id",
2273
+ "flight_id",
2274
+ "vehicle_id",
2275
+ "listing_id",
2276
+ "store_id",
2277
+ "program_id",
2278
+ "destination_id",
2279
+ "app_id"
2280
+ ]
2281
+ },
2282
+ "external:core/catalog-field-mapping.json": {
2283
+ "type": "object",
2284
+ "properties": {
2285
+ "feed_field": {
2286
+ "type": "string"
2287
+ },
2288
+ "catalog_field": {
2289
+ "type": "string"
2290
+ },
2291
+ "asset_group_id": {
2292
+ "type": "string"
2293
+ },
2294
+ "value": {},
2295
+ "transform": {
2296
+ "type": "string",
2297
+ "enum": [
2298
+ "date",
2299
+ "divide",
2300
+ "boolean",
2301
+ "split"
2302
+ ]
2303
+ },
2304
+ "format": {
2305
+ "type": "string"
2306
+ },
2307
+ "timezone": {
2308
+ "type": "string"
2309
+ },
2310
+ "by": {
2311
+ "type": "number"
2312
+ },
2313
+ "separator": {
2314
+ "type": "string"
2315
+ },
2316
+ "default": {},
2317
+ "ext": {
2318
+ "$ref": "#/$defs/external:core~1ext.json"
2319
+ }
2320
+ },
2321
+ "allOf": [
2322
+ {
2323
+ "not": {
2324
+ "required": [
2325
+ "feed_field",
2326
+ "value"
2327
+ ]
2328
+ }
2329
+ },
2330
+ {
2331
+ "not": {
2332
+ "required": [
2333
+ "catalog_field",
2334
+ "asset_group_id"
2335
+ ]
2336
+ }
2337
+ }
2338
+ ],
2339
+ "additionalProperties": true
2340
+ },
2341
+ "external:core/assets/published-post-asset.json": {
2342
+ "type": "object",
2343
+ "properties": {
2344
+ "asset_type": {
2345
+ "type": "string",
2346
+ "const": "published_post"
2347
+ },
2348
+ "post_url": {
2349
+ "type": "string"
2350
+ },
2351
+ "platform": {
2352
+ "type": "string"
2353
+ },
2354
+ "platform_post_id": {
2355
+ "type": "string"
2356
+ },
2357
+ "identity_ref": {
2358
+ "type": "object",
2359
+ "properties": {
2360
+ "handle": {
2361
+ "type": "string"
2362
+ },
2363
+ "profile_url": {
2364
+ "type": "string"
2365
+ },
2366
+ "platform_identity_id": {
2367
+ "type": "string"
2368
+ }
2369
+ },
2370
+ "additionalProperties": true
2371
+ },
2372
+ "published_at": {
2373
+ "type": "string"
2374
+ },
2375
+ "reference_authorization": {
2376
+ "type": "object",
2377
+ "properties": {
2378
+ "status": {
2379
+ "type": "string",
2380
+ "enum": [
2381
+ "authorized",
2382
+ "pending",
2383
+ "expired",
2384
+ "revoked",
2385
+ "not_required",
2386
+ "unknown"
2387
+ ]
2388
+ },
2389
+ "checked_at": {
2390
+ "type": "string"
2391
+ },
2392
+ "expires_at": {
2393
+ "type": "string"
2394
+ },
2395
+ "authorization_url": {
2396
+ "type": "string"
2397
+ },
2398
+ "authorization_instructions": {
2399
+ "type": "string"
2400
+ }
2401
+ },
2402
+ "required": [
2403
+ "status"
2404
+ ],
2405
+ "additionalProperties": true
2406
+ },
2407
+ "provenance": {
2408
+ "$ref": "#/$defs/external:core~1provenance.json"
2409
+ }
2410
+ },
2411
+ "required": [
2412
+ "asset_type"
2413
+ ],
2414
+ "anyOf": [
2415
+ {
2416
+ "required": [
2417
+ "post_url"
2418
+ ]
2419
+ },
2420
+ {
2421
+ "required": [
2422
+ "platform_post_id"
2423
+ ]
2424
+ }
2425
+ ],
2426
+ "additionalProperties": true
2427
+ },
2428
+ "external:core/assets/card-asset.json": {
2429
+ "type": "object",
2430
+ "required": [
2431
+ "asset_type",
2432
+ "media"
2433
+ ],
2434
+ "properties": {
2435
+ "asset_type": {
2436
+ "type": "string",
2437
+ "const": "card"
2438
+ },
2439
+ "media": {
2440
+ "oneOf": [
2441
+ {
2442
+ "$ref": "#/$defs/external:core~1assets~1image-asset.json"
2443
+ },
2444
+ {
2445
+ "$ref": "#/$defs/external:core~1assets~1video-asset.json"
2446
+ }
2447
+ ],
2448
+ "discriminator": {
2449
+ "propertyName": "asset_type"
2450
+ }
2451
+ },
2452
+ "headline": {
2453
+ "type": "string"
2454
+ },
2455
+ "description": {
2456
+ "type": "string"
2457
+ },
2458
+ "cta": {
2459
+ "type": "string"
2460
+ },
2461
+ "landing_page_url": {
2462
+ "$ref": "#/$defs/external:core~1assets~1url-asset.json"
2463
+ },
2464
+ "platform_extensions": {
2465
+ "type": "array",
2466
+ "items": {
2467
+ "$ref": "#/$defs/external:core~1platform-extension-ref.json"
2468
+ }
2469
+ },
2470
+ "provenance": {
2471
+ "$ref": "#/$defs/external:core~1provenance.json"
2472
+ }
2473
+ },
2474
+ "additionalProperties": true
2475
+ },
2476
+ "external:core/platform-extension-ref.json": {
2477
+ "type": "object",
2478
+ "required": [
2479
+ "uri",
2480
+ "digest"
2481
+ ],
2482
+ "properties": {
2483
+ "uri": {
2484
+ "type": "string"
2485
+ },
2486
+ "digest": {
2487
+ "type": "string"
2488
+ }
2489
+ },
2490
+ "additionalProperties": true
2491
+ },
2492
+ "external:core/assets/pixel-tracker-asset.json": {
2493
+ "type": "object",
2494
+ "properties": {
2495
+ "asset_type": {
2496
+ "type": "string",
2497
+ "const": "pixel_tracker"
2498
+ },
2499
+ "event": {
2500
+ "type": "string",
2501
+ "enum": [
2502
+ "impression",
2503
+ "viewable_mrc_50",
2504
+ "viewable_mrc_100",
2505
+ "viewable_video_50",
2506
+ "audible_video_complete",
2507
+ "click",
2508
+ "custom"
2509
+ ]
2510
+ },
2511
+ "method": {
2512
+ "type": "string",
2513
+ "enum": [
2514
+ "img",
2515
+ "js"
2516
+ ]
2517
+ },
2518
+ "url": {
2519
+ "type": "string"
2520
+ },
2521
+ "custom_event_name": {
2522
+ "type": "string"
2523
+ },
2524
+ "provenance": {
2525
+ "$ref": "#/$defs/external:core~1provenance.json"
2526
+ }
2527
+ },
2528
+ "required": [
2529
+ "asset_type",
2530
+ "event",
2531
+ "url"
2532
+ ],
2533
+ "allOf": [
2534
+ {
2535
+ "if": {
2536
+ "properties": {
2537
+ "event": {
2538
+ "const": "custom"
2539
+ }
2540
+ },
2541
+ "required": [
2542
+ "event"
2543
+ ]
2544
+ },
2545
+ "then": {
2546
+ "required": [
2547
+ "custom_event_name"
2548
+ ]
2549
+ },
2550
+ "else": {
2551
+ "not": {
2552
+ "required": [
2553
+ "custom_event_name"
2554
+ ]
2555
+ }
2556
+ }
2557
+ }
2558
+ ],
2559
+ "additionalProperties": true
2560
+ },
2561
+ "external:core/assets/vast-tracker-asset.json": {
2562
+ "type": "object",
2563
+ "properties": {
2564
+ "asset_type": {
2565
+ "type": "string",
2566
+ "const": "vast_tracker"
2567
+ },
2568
+ "vast_event": {
2569
+ "allOf": [
2570
+ {
2571
+ "$ref": "#/$defs/external:enums~1vast-tracking-event.json"
2572
+ },
2573
+ {
2574
+ "not": {
2575
+ "enum": [
2576
+ "impression",
2577
+ "clickTracking",
2578
+ "customClick",
2579
+ "error",
2580
+ "viewable",
2581
+ "notViewable",
2582
+ "viewUndetermined",
2583
+ "measurableImpression",
2584
+ "viewableImpression"
2585
+ ]
2586
+ }
2587
+ }
2588
+ ]
2589
+ },
2590
+ "url": {
2591
+ "type": "string"
2592
+ },
2593
+ "offset": {
2594
+ "type": "string"
2595
+ },
2596
+ "target": {
2597
+ "type": "string",
2598
+ "enum": [
2599
+ "linear",
2600
+ "non_linear",
2601
+ "companion"
2602
+ ]
2603
+ },
2604
+ "provenance": {
2605
+ "$ref": "#/$defs/external:core~1provenance.json"
2606
+ }
2607
+ },
2608
+ "required": [
2609
+ "asset_type",
2610
+ "vast_event",
2611
+ "url"
2612
+ ],
2613
+ "allOf": [
2614
+ {
2615
+ "if": {
2616
+ "properties": {
2617
+ "vast_event": {
2618
+ "const": "progress"
2619
+ }
2620
+ },
2621
+ "required": [
2622
+ "vast_event"
2623
+ ]
2624
+ },
2625
+ "then": {
2626
+ "required": [
2627
+ "offset"
2628
+ ]
2629
+ }
2630
+ }
2631
+ ],
2632
+ "additionalProperties": true
2633
+ },
2634
+ "external:core/assets/daast-tracker-asset.json": {
2635
+ "type": "object",
2636
+ "properties": {
2637
+ "asset_type": {
2638
+ "type": "string",
2639
+ "const": "daast_tracker"
2640
+ },
2641
+ "daast_event": {
2642
+ "allOf": [
2643
+ {
2644
+ "$ref": "#/$defs/external:enums~1daast-tracking-event.json"
2645
+ },
2646
+ {
2647
+ "not": {
2648
+ "enum": [
2649
+ "impression",
2650
+ "clickTracking",
2651
+ "customClick",
2652
+ "error",
2653
+ "viewable",
2654
+ "notViewable",
2655
+ "viewUndetermined",
2656
+ "measurableImpression",
2657
+ "viewableImpression"
2658
+ ]
2659
+ }
2660
+ }
2661
+ ]
2662
+ },
2663
+ "url": {
2664
+ "type": "string"
2665
+ },
2666
+ "offset": {
2667
+ "type": "string"
2668
+ },
2669
+ "target": {
2670
+ "type": "string",
2671
+ "enum": [
2672
+ "linear",
2673
+ "companion"
2674
+ ]
2675
+ },
2676
+ "provenance": {
2677
+ "$ref": "#/$defs/external:core~1provenance.json"
2678
+ }
2679
+ },
2680
+ "required": [
2681
+ "asset_type",
2682
+ "daast_event",
2683
+ "url"
2684
+ ],
2685
+ "allOf": [
2686
+ {
2687
+ "if": {
2688
+ "properties": {
2689
+ "daast_event": {
2690
+ "const": "progress"
2691
+ }
2692
+ },
2693
+ "required": [
2694
+ "daast_event"
2695
+ ]
2696
+ },
2697
+ "then": {
2698
+ "required": [
2699
+ "offset"
2700
+ ]
2701
+ }
2702
+ }
2703
+ ],
2704
+ "additionalProperties": true
2705
+ },
2706
+ "external:enums/creative-status.json": {
2707
+ "type": "string",
2708
+ "enum": [
2709
+ "processing",
2710
+ "pending_review",
2711
+ "approved",
2712
+ "suspended",
2713
+ "rejected",
2714
+ "archived"
2715
+ ]
2716
+ },
2717
+ "external:core/placement-ref.json": {
2718
+ "type": "object",
2719
+ "properties": {
2720
+ "publisher_domain": {
2721
+ "type": "string"
2722
+ },
2723
+ "placement_id": {
2724
+ "type": "string"
2725
+ }
2726
+ },
2727
+ "required": [
2728
+ "placement_id"
2729
+ ],
2730
+ "additionalProperties": true
2731
+ },
2732
+ "external:core/industry-identifier.json": {
2733
+ "type": "object",
2734
+ "properties": {
2735
+ "type": {
2736
+ "$ref": "#/$defs/external:enums~1creative-identifier-type.json"
2737
+ },
2738
+ "value": {
2739
+ "type": "string"
2740
+ }
2741
+ },
2742
+ "required": [
2743
+ "type",
2744
+ "value"
2745
+ ],
2746
+ "additionalProperties": true
2747
+ },
2748
+ "external:enums/creative-identifier-type.json": {
2749
+ "type": "string",
2750
+ "enum": [
2751
+ "ad_id",
2752
+ "isci",
2753
+ "clearcast_clock",
2754
+ "idcrea"
2755
+ ]
2756
+ },
2757
+ "external:core/rights-constraint.json": {
2758
+ "type": "object",
2759
+ "properties": {
2760
+ "rights_id": {
2761
+ "type": "string"
2762
+ },
2763
+ "rights_agent": {
2764
+ "type": "object",
2765
+ "properties": {
2766
+ "url": {
2767
+ "type": "string"
2768
+ },
2769
+ "id": {
2770
+ "type": "string"
2771
+ }
2772
+ },
2773
+ "required": [
2774
+ "url",
2775
+ "id"
2776
+ ]
2777
+ },
2778
+ "rights_holder": {
2779
+ "$ref": "#/$defs/external:core~1brand-ref.json"
2780
+ },
2781
+ "valid_from": {
2782
+ "type": "string"
2783
+ },
2784
+ "valid_until": {
2785
+ "type": "string"
2786
+ },
2787
+ "uses": {
2788
+ "type": "array",
2789
+ "items": {
2790
+ "$ref": "#/$defs/external:enums~1right-use.json"
2791
+ }
2792
+ },
2793
+ "countries": {
2794
+ "type": "array",
2795
+ "items": {
2796
+ "type": "string"
2797
+ }
2798
+ },
2799
+ "excluded_countries": {
2800
+ "type": "array",
2801
+ "items": {
2802
+ "type": "string"
2803
+ }
2804
+ },
2805
+ "impression_cap": {
2806
+ "type": "integer"
2807
+ },
2808
+ "right_type": {
2809
+ "$ref": "#/$defs/external:enums~1right-type.json"
2810
+ },
2811
+ "approval_status": {
2812
+ "type": "string",
2813
+ "enum": [
2814
+ "pending",
2815
+ "approved",
2816
+ "rejected"
2817
+ ]
2818
+ },
2819
+ "grant_status": {
2820
+ "type": "string",
2821
+ "enum": [
2822
+ "active",
2823
+ "paused",
2824
+ "revoked"
2825
+ ]
2826
+ },
2827
+ "restrictions": {
2828
+ "type": "array",
2829
+ "items": {
2830
+ "type": "string"
2831
+ }
2832
+ },
2833
+ "disclosure": {
2834
+ "type": "object",
2835
+ "properties": {
2836
+ "required": {
2837
+ "type": "boolean"
2838
+ },
2839
+ "text": {
2840
+ "type": "string"
2841
+ }
2842
+ },
2843
+ "required": [
2844
+ "required"
2845
+ ],
2846
+ "allOf": [
2847
+ {
2848
+ "if": {
2849
+ "properties": {
2850
+ "required": {
2851
+ "const": true
2852
+ }
2853
+ },
2854
+ "required": [
2855
+ "required"
2856
+ ]
2857
+ },
2858
+ "then": {
2859
+ "required": [
2860
+ "text"
2861
+ ]
2862
+ }
2863
+ }
2864
+ ]
2865
+ },
2866
+ "creative_approval_required": {
2867
+ "type": "boolean"
2868
+ },
2869
+ "verification_url": {
2870
+ "type": "string"
2871
+ },
2872
+ "content_digest": {
2873
+ "type": "string"
2874
+ },
2875
+ "attestation_refs": {
2876
+ "type": "array",
2877
+ "items": {
2878
+ "allOf": [
2879
+ {
2880
+ "$ref": "#/$defs/external:core~1attestation-reference.json"
2881
+ },
2882
+ {
2883
+ "type": "object",
2884
+ "properties": {
2885
+ "issuer": {
2886
+ "type": "object",
2887
+ "properties": {
2888
+ "type": {
2889
+ "type": "string",
2890
+ "const": "brand"
2891
+ },
2892
+ "brand": {
2893
+ "$ref": "#/$defs/external:core~1brand-ref.json"
2894
+ }
2895
+ },
2896
+ "required": [
2897
+ "type",
2898
+ "brand"
2899
+ ]
2900
+ },
2901
+ "claim_type": {
2902
+ "type": "string",
2903
+ "const": "https://adcontextprotocol.org/claims/rights/grant"
2904
+ },
2905
+ "subject": {
2906
+ "type": "object",
2907
+ "properties": {
2908
+ "type": {
2909
+ "type": "string",
2910
+ "const": "resource"
2911
+ },
2912
+ "resource_type": {
2913
+ "type": "string",
2914
+ "const": "https://adcontextprotocol.org/claims/subjects/rights-grant"
2915
+ }
2916
+ },
2917
+ "required": [
2918
+ "type",
2919
+ "resource_type",
2920
+ "namespace",
2921
+ "id",
2922
+ "content_digest"
2923
+ ]
2924
+ }
2925
+ }
2926
+ }
2927
+ ]
2928
+ }
2929
+ },
2930
+ "ext": {
2931
+ "$ref": "#/$defs/external:core~1ext.json"
2932
+ }
2933
+ },
2934
+ "required": [
2935
+ "rights_id",
2936
+ "rights_agent",
2937
+ "uses"
2938
+ ],
2939
+ "allOf": [
2940
+ {
2941
+ "if": {
2942
+ "required": [
2943
+ "attestation_refs"
2944
+ ]
2945
+ },
2946
+ "then": {
2947
+ "required": [
2948
+ "rights_holder",
2949
+ "grant_status",
2950
+ "content_digest"
2951
+ ]
2952
+ }
2953
+ }
2954
+ ],
2955
+ "additionalProperties": true
2956
+ },
2957
+ "external:enums/right-use.json": {
2958
+ "type": "string",
2959
+ "enum": [
2960
+ "likeness",
2961
+ "voice",
2962
+ "name",
2963
+ "endorsement",
2964
+ "motion_capture",
2965
+ "signature",
2966
+ "catchphrase",
2967
+ "sync",
2968
+ "background_music",
2969
+ "editorial",
2970
+ "commercial",
2971
+ "ai_generated_image"
2972
+ ]
2973
+ },
2974
+ "external:enums/right-type.json": {
2975
+ "type": "string",
2976
+ "enum": [
2977
+ "talent",
2978
+ "character",
2979
+ "brand_ip",
2980
+ "music",
2981
+ "stock_media"
2982
+ ]
2983
+ },
2984
+ "external:core/attestation-reference.json": {
2985
+ "type": "object",
2986
+ "properties": {
2987
+ "issuer": {
2988
+ "$ref": "#/$defs/external:core~1attestation-issuer.json"
2989
+ },
2990
+ "claim_type": {
2991
+ "type": "string"
2992
+ },
2993
+ "subject": {
2994
+ "$ref": "#/$defs/external:core~1attestation-subject.json"
2995
+ },
2996
+ "locator": {
2997
+ "discriminator": {
2998
+ "propertyName": "type"
2999
+ },
3000
+ "oneOf": [
3001
+ {
3002
+ "type": "object",
3003
+ "properties": {
3004
+ "type": {
3005
+ "type": "string",
3006
+ "const": "credential_uri"
3007
+ },
3008
+ "credential_uri": {
3009
+ "type": "string"
3010
+ },
3011
+ "ext": {
3012
+ "$ref": "#/$defs/external:core~1ext.json"
3013
+ }
3014
+ },
3015
+ "required": [
3016
+ "type",
3017
+ "credential_uri"
3018
+ ]
3019
+ },
3020
+ {
3021
+ "type": "object",
3022
+ "properties": {
3023
+ "type": {
3024
+ "type": "string",
3025
+ "const": "issuer_credential_id"
3026
+ },
3027
+ "credential_id": {
3028
+ "type": "string"
3029
+ },
3030
+ "resolver_id": {
3031
+ "type": "string"
3032
+ },
3033
+ "ext": {
3034
+ "$ref": "#/$defs/external:core~1ext.json"
3035
+ }
3036
+ },
3037
+ "required": [
3038
+ "type",
3039
+ "credential_id",
3040
+ "resolver_id"
3041
+ ]
3042
+ }
3043
+ ]
3044
+ },
3045
+ "embedded_credential": {
3046
+ "type": "object",
3047
+ "properties": {
3048
+ "format": {
3049
+ "type": "string"
3050
+ },
3051
+ "value": {
3052
+ "type": [
3053
+ "object",
3054
+ "string"
3055
+ ]
3056
+ },
3057
+ "ext": {
3058
+ "$ref": "#/$defs/external:core~1ext.json"
3059
+ }
3060
+ },
3061
+ "required": [
3062
+ "format",
3063
+ "value"
3064
+ ]
3065
+ },
3066
+ "content_digest": {
3067
+ "type": "string"
3068
+ },
3069
+ "credential_version": {
3070
+ "type": "string"
3071
+ },
3072
+ "validity_hint": {
3073
+ "type": "object",
3074
+ "properties": {
3075
+ "not_before": {
3076
+ "type": "string"
3077
+ },
3078
+ "expires_at": {
3079
+ "type": "string"
3080
+ }
3081
+ }
3082
+ },
3083
+ "verify_agent": {
3084
+ "type": "object",
3085
+ "properties": {
3086
+ "agent_url": {
3087
+ "type": "string"
3088
+ }
3089
+ },
3090
+ "required": [
3091
+ "agent_url"
3092
+ ]
3093
+ },
3094
+ "ext": {
3095
+ "$ref": "#/$defs/external:core~1ext.json"
3096
+ }
3097
+ },
3098
+ "required": [
3099
+ "issuer",
3100
+ "claim_type",
3101
+ "subject"
3102
+ ],
3103
+ "anyOf": [
3104
+ {
3105
+ "required": [
3106
+ "locator"
3107
+ ]
3108
+ },
3109
+ {
3110
+ "required": [
3111
+ "embedded_credential"
3112
+ ]
3113
+ }
3114
+ ],
3115
+ "allOf": [
3116
+ {
3117
+ "if": {
3118
+ "required": [
3119
+ "locator",
3120
+ "embedded_credential"
3121
+ ]
3122
+ },
3123
+ "then": {
3124
+ "required": [
3125
+ "content_digest"
3126
+ ]
3127
+ }
3128
+ }
3129
+ ]
3130
+ },
3131
+ "external:core/attestation-issuer.json": {
3132
+ "discriminator": {
3133
+ "propertyName": "type"
3134
+ },
3135
+ "oneOf": [
3136
+ {
3137
+ "type": "object",
3138
+ "properties": {
3139
+ "type": {
3140
+ "type": "string",
3141
+ "const": "brand"
3142
+ },
3143
+ "brand": {
3144
+ "$ref": "#/$defs/external:core~1brand-ref.json"
3145
+ },
3146
+ "ext": {
3147
+ "$ref": "#/$defs/external:core~1ext.json"
3148
+ }
3149
+ },
3150
+ "required": [
3151
+ "type",
3152
+ "brand"
3153
+ ]
3154
+ },
3155
+ {
3156
+ "type": "object",
3157
+ "properties": {
3158
+ "type": {
3159
+ "type": "string",
3160
+ "const": "agent"
3161
+ },
3162
+ "agent_url": {
3163
+ "type": "string"
3164
+ },
3165
+ "ext": {
3166
+ "$ref": "#/$defs/external:core~1ext.json"
3167
+ }
3168
+ },
3169
+ "required": [
3170
+ "type",
3171
+ "agent_url"
3172
+ ]
3173
+ },
3174
+ {
3175
+ "type": "object",
3176
+ "properties": {
3177
+ "type": {
3178
+ "type": "string",
3179
+ "const": "origin"
3180
+ },
3181
+ "origin": {
3182
+ "type": "string"
3183
+ },
3184
+ "ext": {
3185
+ "$ref": "#/$defs/external:core~1ext.json"
3186
+ }
3187
+ },
3188
+ "required": [
3189
+ "type",
3190
+ "origin"
3191
+ ]
3192
+ }
3193
+ ]
3194
+ },
3195
+ "external:core/attestation-subject.json": {
3196
+ "discriminator": {
3197
+ "propertyName": "type"
3198
+ },
3199
+ "oneOf": [
3200
+ {
3201
+ "type": "object",
3202
+ "properties": {
3203
+ "type": {
3204
+ "type": "string",
3205
+ "const": "brand"
3206
+ },
3207
+ "brand": {
3208
+ "$ref": "#/$defs/external:core~1brand-ref.json"
3209
+ },
3210
+ "ext": {
3211
+ "$ref": "#/$defs/external:core~1ext.json"
3212
+ }
3213
+ },
3214
+ "required": [
3215
+ "type",
3216
+ "brand"
3217
+ ]
3218
+ },
3219
+ {
3220
+ "type": "object",
3221
+ "properties": {
3222
+ "type": {
3223
+ "type": "string",
3224
+ "const": "agent"
3225
+ },
3226
+ "agent_url": {
3227
+ "type": "string"
3228
+ },
3229
+ "ext": {
3230
+ "$ref": "#/$defs/external:core~1ext.json"
3231
+ }
3232
+ },
3233
+ "required": [
3234
+ "type",
3235
+ "agent_url"
3236
+ ]
3237
+ },
3238
+ {
3239
+ "type": "object",
3240
+ "properties": {
3241
+ "type": {
3242
+ "type": "string",
3243
+ "const": "resource"
3244
+ },
3245
+ "resource_type": {
3246
+ "type": "string"
3247
+ },
3248
+ "namespace": {
3249
+ "type": "string"
3250
+ },
3251
+ "id": {
3252
+ "type": "string"
3253
+ },
3254
+ "content_digest": {
3255
+ "type": "string"
3256
+ },
3257
+ "ext": {
3258
+ "$ref": "#/$defs/external:core~1ext.json"
3259
+ }
3260
+ },
3261
+ "required": [
3262
+ "type",
3263
+ "resource_type",
3264
+ "namespace",
3265
+ "id"
3266
+ ]
3267
+ }
3268
+ ]
3269
+ },
3270
+ "external:core/creative-localization.json": {
3271
+ "type": "object",
3272
+ "properties": {
3273
+ "source": {
3274
+ "type": "object",
3275
+ "properties": {
3276
+ "locale_variant_id": {
3277
+ "type": "string"
3278
+ },
3279
+ "locale": {
3280
+ "$ref": "#/$defs/external:core~1locale-tag.json"
3281
+ }
3282
+ },
3283
+ "required": [
3284
+ "locale_variant_id",
3285
+ "locale"
3286
+ ],
3287
+ "additionalProperties": true
3288
+ },
3289
+ "target_variants": {
3290
+ "type": "array",
3291
+ "items": {
3292
+ "type": "object",
3293
+ "properties": {
3294
+ "locale_variant_id": {
3295
+ "type": "string"
3296
+ },
3297
+ "locale": {
3298
+ "$ref": "#/$defs/external:core~1locale-tag.json"
3299
+ },
3300
+ "assets": {
3301
+ "type": "object",
3302
+ "patternProperties": {
3303
+ "^[a-z0-9_]+$": {
3304
+ "anyOf": [
3305
+ {
3306
+ "$ref": "#/$defs/external:core~1localized-creative-asset.json"
3307
+ },
3308
+ {
3309
+ "type": "array",
3310
+ "items": {
3311
+ "$ref": "#/$defs/external:core~1localized-creative-asset.json"
3312
+ }
3313
+ }
3314
+ ]
3315
+ }
3316
+ }
3317
+ }
3318
+ },
3319
+ "required": [
3320
+ "locale_variant_id",
3321
+ "locale",
3322
+ "assets"
3323
+ ],
3324
+ "not": {
3325
+ "required": [
3326
+ "translation_mode"
3327
+ ]
3328
+ },
3329
+ "additionalProperties": true
3330
+ }
3331
+ },
3332
+ "locale_fallbacks": {
3333
+ "type": "array",
3334
+ "items": {
3335
+ "type": "object",
3336
+ "properties": {
3337
+ "language_range": {
3338
+ "$ref": "#/$defs/external:core~1locale-tag.json"
3339
+ },
3340
+ "locale_variant_id": {
3341
+ "type": "string"
3342
+ }
3343
+ },
3344
+ "required": [
3345
+ "language_range",
3346
+ "locale_variant_id"
3347
+ ],
3348
+ "additionalProperties": true
3349
+ }
3350
+ },
3351
+ "default_locale_variant_id": {
3352
+ "type": "string"
3353
+ },
3354
+ "unmatched_locale_action": {
3355
+ "type": "string",
3356
+ "enum": [
3357
+ "serve_default",
3358
+ "do_not_serve"
3359
+ ]
3360
+ }
3361
+ },
3362
+ "required": [
3363
+ "source",
3364
+ "target_variants",
3365
+ "default_locale_variant_id",
3366
+ "unmatched_locale_action"
3367
+ ],
3368
+ "additionalProperties": true
3369
+ },
3370
+ "external:core/locale-tag.json": {
3371
+ "type": "string"
3372
+ },
3373
+ "external:core/localized-creative-asset.json": {
3374
+ "allOf": [
3375
+ {
3376
+ "$ref": "#/$defs/external:core~1assets~1asset-union.json"
3377
+ },
3378
+ {
3379
+ "if": {
3380
+ "properties": {
3381
+ "asset_type": {
3382
+ "enum": [
3383
+ "text",
3384
+ "markdown"
3385
+ ]
3386
+ }
3387
+ },
3388
+ "required": [
3389
+ "asset_type"
3390
+ ]
3391
+ },
3392
+ "then": {
3393
+ "properties": {
3394
+ "language": {
3395
+ "$ref": "#/$defs/external:core~1locale-tag.json"
3396
+ }
3397
+ }
3398
+ }
3399
+ }
3400
+ ]
3401
+ },
3402
+ "external:enums/validation-mode.json": {
3403
+ "type": "string",
3404
+ "enum": [
3405
+ "strict",
3406
+ "lenient"
3407
+ ]
3408
+ },
3409
+ "external:core/push-notification-config.json": {
3410
+ "type": "object",
3411
+ "properties": {
3412
+ "url": {
3413
+ "type": "string"
3414
+ },
3415
+ "operation_id": {
3416
+ "type": "string"
3417
+ },
3418
+ "token": {
3419
+ "type": "string"
3420
+ },
3421
+ "authentication": {
3422
+ "type": "object",
3423
+ "properties": {
3424
+ "schemes": {
3425
+ "type": "array",
3426
+ "items": {
3427
+ "$ref": "#/$defs/external:enums~1auth-scheme.json"
3428
+ }
3429
+ },
3430
+ "credentials": {
3431
+ "type": "string"
3432
+ }
3433
+ },
3434
+ "required": [
3435
+ "schemes",
3436
+ "credentials"
3437
+ ]
3438
+ }
3439
+ },
3440
+ "required": [
3441
+ "url"
3442
+ ]
3443
+ },
3444
+ "external:enums/auth-scheme.json": {
3445
+ "type": "string",
3446
+ "enum": [
3447
+ "Bearer",
3448
+ "HMAC-SHA256"
3449
+ ]
3450
+ },
3451
+ "external:core/context.json": {
3452
+ "type": "object",
3453
+ "additionalProperties": true
3454
+ }
3455
+ }
3456
+ }