@schibsted/pulse-sdk 8.0.0-rc.6 → 8.0.0-rc.7

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 (27) hide show
  1. package/dist/cjs/Tracker.js +89 -26
  2. package/dist/cjs/tracker-proxy/consts.js +1 -0
  3. package/dist/cjs/version.js +1 -1
  4. package/dist/cjs/visibility-observer/index.js +9 -7
  5. package/dist/cjs/wrapper/types/event.js +5 -0
  6. package/dist/ejs/Tracker.js +90 -27
  7. package/dist/ejs/tracker-proxy/consts.js +1 -0
  8. package/dist/ejs/version.js +1 -1
  9. package/dist/ejs/visibility-observer/index.js +9 -7
  10. package/dist/ejs/wrapper/types/event.js +4 -1
  11. package/dist/types/Tracker.d.ts +39 -3
  12. package/dist/types/tracker-proxy/consts.d.ts +1 -1
  13. package/dist/types/version.d.ts +1 -1
  14. package/dist/types/visibility-observer/index.d.ts +6 -1
  15. package/dist/types/wrapper/types/event.d.ts +3 -1
  16. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders.js +5 -1
  17. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/guards.js +7 -0
  18. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/index.js +3 -0
  19. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders.js +5 -2
  20. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/guards.js +4 -0
  21. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/index.js +1 -0
  22. package/node_modules/@schibsted/tpaas-event-builder/dist/index.d.ts +782 -164
  23. package/node_modules/@schibsted/tpaas-event-builder/package.json +1 -1
  24. package/node_modules/@schibsted/tpaas-schemas/dist/cjs/constants.js +66 -57
  25. package/node_modules/@schibsted/tpaas-schemas/dist/ejs/constants.js +64 -55
  26. package/node_modules/@schibsted/tpaas-schemas/dist/index.d.ts +836 -219
  27. package/package.json +5 -5
@@ -6,112 +6,119 @@ export declare const AnonymousViewUIElement: {
6
6
  readonly object: {
7
7
  readonly objectType: "UIElement";
8
8
  };
9
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/AnonymousViewUIElement.json";
9
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/AnonymousViewUIElement.json";
10
10
  };
11
11
  export declare const CancelSubscription: {
12
12
  readonly eventType: "Cancel";
13
13
  readonly object: {
14
14
  readonly objectType: "Subscription";
15
15
  };
16
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/CancelSubscription.json";
16
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/CancelSubscription.json";
17
17
  };
18
18
  export declare const ChangePushNotificationSettings: {
19
19
  readonly eventType: "Change";
20
20
  readonly object: {
21
21
  readonly objectType: "PushNotificationSettings";
22
22
  };
23
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ChangePushNotificationSettings.json";
23
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ChangePushNotificationSettings.json";
24
24
  };
25
25
  export declare const CompletedHealthAction: {
26
26
  readonly eventType: "Completed";
27
27
  readonly object: {
28
28
  readonly objectType: "HealthAction";
29
29
  };
30
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/CompletedHealthAction.json";
30
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/CompletedHealthAction.json";
31
31
  };
32
32
  export declare const EngagementAudio: {
33
33
  readonly eventType: "Engagement";
34
34
  readonly object: {
35
35
  readonly objectType: "Audio";
36
36
  };
37
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementAudio.json";
37
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementAudio.json";
38
38
  };
39
39
  export declare const EngagementForm: {
40
40
  readonly eventType: "Engagement";
41
41
  readonly object: {
42
42
  readonly objectType: "Form";
43
43
  };
44
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementForm.json";
44
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementForm.json";
45
45
  };
46
46
  export declare const EngagementHealthUIElement: {
47
47
  readonly eventType: "Engagement";
48
48
  readonly object: {
49
49
  readonly objectType: "HealthUIElement";
50
50
  };
51
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementHealthUIElement.json";
51
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementHealthUIElement.json";
52
52
  };
53
53
  export declare const EngagementNotification: {
54
54
  readonly eventType: "Engagement";
55
55
  readonly object: {
56
56
  readonly objectType: "Notification";
57
57
  };
58
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementNotification.json";
58
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementNotification.json";
59
59
  };
60
60
  export declare const EngagementOffer: {
61
61
  readonly eventType: "Engagement";
62
62
  readonly object: {
63
63
  readonly objectType: "Offer";
64
64
  };
65
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementOffer.json";
65
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementOffer.json";
66
66
  };
67
67
  export declare const EngagementTeaser: {
68
68
  readonly eventType: "Engagement";
69
69
  readonly object: {
70
70
  readonly objectType: "Teaser";
71
71
  };
72
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementTeaser.json";
72
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementTeaser.json";
73
73
  };
74
74
  export declare const EngagementUIElement: {
75
75
  readonly eventType: "Engagement";
76
76
  readonly object: {
77
77
  readonly objectType: "UIElement";
78
78
  };
79
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementUIElement.json";
79
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementUIElement.json";
80
80
  };
81
81
  export declare const EngagementVideo: {
82
82
  readonly eventType: "Engagement";
83
83
  readonly object: {
84
84
  readonly objectType: "Video";
85
85
  };
86
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementVideo.json";
86
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementVideo.json";
87
87
  };
88
88
  export declare const EngagementVideoAd: {
89
89
  readonly eventType: "Engagement";
90
90
  readonly object: {
91
91
  readonly objectType: "VideoAd";
92
92
  };
93
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementVideoAd.json";
93
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementVideoAd.json";
94
94
  };
95
95
  export declare const EngagementWidget: {
96
96
  readonly eventType: "Engagement";
97
97
  readonly object: {
98
98
  readonly objectType: "Widget";
99
99
  };
100
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementWidget.json";
100
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/EngagementWidget.json";
101
+ };
102
+ export declare const ImpressionAdSlot: {
103
+ readonly eventType: "Impression";
104
+ readonly object: {
105
+ readonly objectType: "AdSlot";
106
+ };
107
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionAdSlot.json";
101
108
  };
102
109
  export declare const ImpressionForm: {
103
110
  readonly eventType: "Impression";
104
111
  readonly object: {
105
112
  readonly objectType: "Form";
106
113
  };
107
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionForm.json";
114
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionForm.json";
108
115
  };
109
116
  export declare const ImpressionHealthUIElement: {
110
117
  readonly eventType: "Impression";
111
118
  readonly object: {
112
119
  readonly objectType: "HealthUIElement";
113
120
  };
114
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionHealthUIElement.json";
121
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionHealthUIElement.json";
115
122
  };
116
123
  export declare const ImpressionNotification: {
117
124
  readonly eventType: "Impression";
@@ -119,266 +126,266 @@ export declare const ImpressionNotification: {
119
126
  readonly name: "PushNotification";
120
127
  readonly objectType: "Notification";
121
128
  };
122
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionNotification.json";
129
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionNotification.json";
123
130
  };
124
131
  export declare const ImpressionOffer: {
125
132
  readonly eventType: "Impression";
126
133
  readonly object: {
127
134
  readonly objectType: "Offer";
128
135
  };
129
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionOffer.json";
136
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionOffer.json";
130
137
  };
131
138
  export declare const ImpressionPlayer: {
132
139
  readonly eventType: "Impression";
133
140
  readonly object: {
134
141
  readonly objectType: "Player";
135
142
  };
136
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionPlayer.json";
143
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionPlayer.json";
137
144
  };
138
145
  export declare const ImpressionTeaser: {
139
146
  readonly eventType: "Impression";
140
147
  readonly object: {
141
148
  readonly objectType: "Teaser";
142
149
  };
143
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionTeaser.json";
150
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionTeaser.json";
144
151
  };
145
152
  export declare const ImpressionUIElement: {
146
153
  readonly eventType: "Impression";
147
154
  readonly object: {
148
155
  readonly objectType: "UIElement";
149
156
  };
150
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionUIElement.json";
157
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionUIElement.json";
151
158
  };
152
159
  export declare const ImpressionWidget: {
153
160
  readonly eventType: "Impression";
154
161
  readonly object: {
155
162
  readonly objectType: "Widget";
156
163
  };
157
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionWidget.json";
164
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ImpressionWidget.json";
158
165
  };
159
166
  export declare const InternalAccessDecision: {
160
167
  readonly eventType: "Internal";
161
168
  readonly object: {
162
169
  readonly objectType: "AccessDecision";
163
170
  };
164
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/InternalAccessDecision.json";
171
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/InternalAccessDecision.json";
165
172
  };
166
173
  export declare const InternalProbe: {
167
174
  readonly eventType: "Internal";
168
175
  readonly object: {
169
176
  readonly objectType: "Probe";
170
177
  };
171
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/InternalProbe.json";
178
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/InternalProbe.json";
172
179
  };
173
180
  export declare const LaunchApp: {
174
181
  readonly eventType: "Launch";
175
182
  readonly object: {
176
183
  readonly objectType: "App";
177
184
  };
178
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LaunchApp.json";
185
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LaunchApp.json";
179
186
  };
180
187
  export declare const LeaveArticle: {
181
188
  readonly eventType: "Leave";
182
189
  readonly object: {
183
190
  readonly objectType: "Article";
184
191
  };
185
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveArticle.json";
192
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveArticle.json";
186
193
  };
187
194
  export declare const LeaveAudioPage: {
188
195
  readonly eventType: "Leave";
189
196
  readonly object: {
190
197
  readonly objectType: "AudioPage";
191
198
  };
192
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveAudioPage.json";
199
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveAudioPage.json";
193
200
  };
194
201
  export declare const LeaveError: {
195
202
  readonly eventType: "Leave";
196
203
  readonly object: {
197
204
  readonly objectType: "Error";
198
205
  };
199
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveError.json";
206
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveError.json";
200
207
  };
201
208
  export declare const LeaveFrontpage: {
202
209
  readonly eventType: "Leave";
203
210
  readonly object: {
204
211
  readonly objectType: "Frontpage";
205
212
  };
206
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveFrontpage.json";
213
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveFrontpage.json";
207
214
  };
208
215
  export declare const LeaveLandingpage: {
209
216
  readonly eventType: "Leave";
210
217
  readonly object: {
211
218
  readonly objectType: "Landingpage";
212
219
  };
213
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveLandingpage.json";
220
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveLandingpage.json";
214
221
  };
215
222
  export declare const LeaveListing: {
216
223
  readonly eventType: "Leave";
217
224
  readonly object: {
218
225
  readonly objectType: "Listing";
219
226
  };
220
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveListing.json";
227
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveListing.json";
221
228
  };
222
229
  export declare const LeaveLockedArticle: {
223
230
  readonly eventType: "Leave";
224
231
  readonly object: {
225
232
  readonly objectType: "LockedArticle";
226
233
  };
227
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveLockedArticle.json";
234
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveLockedArticle.json";
228
235
  };
229
236
  export declare const LeaveLockedAudioPage: {
230
237
  readonly eventType: "Leave";
231
238
  readonly object: {
232
239
  readonly objectType: "LockedAudioPage";
233
240
  };
234
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveLockedAudioPage.json";
241
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveLockedAudioPage.json";
235
242
  };
236
243
  export declare const LeaveLockedVideoPage: {
237
244
  readonly eventType: "Leave";
238
245
  readonly object: {
239
246
  readonly objectType: "LockedVideoPage";
240
247
  };
241
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveLockedVideoPage.json";
248
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveLockedVideoPage.json";
242
249
  };
243
250
  export declare const LeavePage: {
244
251
  readonly eventType: "Leave";
245
252
  readonly object: {
246
253
  readonly objectType: "Page";
247
254
  };
248
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeavePage.json";
255
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeavePage.json";
249
256
  };
250
257
  export declare const LeaveSportsPage: {
251
258
  readonly eventType: "Leave";
252
259
  readonly object: {
253
260
  readonly objectType: "SportsPage";
254
261
  };
255
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveSportsPage.json";
262
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveSportsPage.json";
256
263
  };
257
264
  export declare const LeaveVideoPage: {
258
265
  readonly eventType: "Leave";
259
266
  readonly object: {
260
267
  readonly objectType: "VideoPage";
261
268
  };
262
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveVideoPage.json";
269
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveVideoPage.json";
263
270
  };
264
271
  export declare const LeaveWeather: {
265
272
  readonly eventType: "Leave";
266
273
  readonly object: {
267
274
  readonly objectType: "Weather";
268
275
  };
269
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveWeather.json";
276
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/LeaveWeather.json";
270
277
  };
271
278
  export declare const PurchaseSubscription: {
272
279
  readonly eventType: "Purchase";
273
280
  readonly object: {
274
281
  readonly objectType: "Subscription";
275
282
  };
276
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/PurchaseSubscription.json";
283
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/PurchaseSubscription.json";
277
284
  };
278
285
  export declare const ViewArticle: {
279
286
  readonly eventType: "View";
280
287
  readonly object: {
281
288
  readonly objectType: "Article";
282
289
  };
283
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewArticle.json";
290
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewArticle.json";
284
291
  };
285
292
  export declare const ViewAudioPage: {
286
293
  readonly eventType: "View";
287
294
  readonly object: {
288
295
  readonly objectType: "AudioPage";
289
296
  };
290
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewAudioPage.json";
297
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewAudioPage.json";
291
298
  };
292
299
  export declare const ViewError: {
293
300
  readonly eventType: "View";
294
301
  readonly object: {
295
302
  readonly objectType: "Error";
296
303
  };
297
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewError.json";
304
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewError.json";
298
305
  };
299
306
  export declare const ViewFrontpage: {
300
307
  readonly eventType: "View";
301
308
  readonly object: {
302
309
  readonly objectType: "Frontpage";
303
310
  };
304
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewFrontpage.json";
311
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewFrontpage.json";
305
312
  };
306
313
  export declare const ViewHealthPage: {
307
314
  readonly eventType: "View";
308
315
  readonly object: {
309
316
  readonly objectType: "HealthPage";
310
317
  };
311
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewHealthPage.json";
318
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewHealthPage.json";
312
319
  };
313
320
  export declare const ViewLandingpage: {
314
321
  readonly eventType: "View";
315
322
  readonly object: {
316
323
  readonly objectType: "Landingpage";
317
324
  };
318
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewLandingpage.json";
325
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewLandingpage.json";
319
326
  };
320
327
  export declare const ViewListing: {
321
328
  readonly eventType: "View";
322
329
  readonly object: {
323
330
  readonly objectType: "Listing";
324
331
  };
325
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewListing.json";
332
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewListing.json";
326
333
  };
327
334
  export declare const ViewLockedArticle: {
328
335
  readonly eventType: "View";
329
336
  readonly object: {
330
337
  readonly objectType: "LockedArticle";
331
338
  };
332
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewLockedArticle.json";
339
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewLockedArticle.json";
333
340
  };
334
341
  export declare const ViewLockedAudioPage: {
335
342
  readonly eventType: "View";
336
343
  readonly object: {
337
344
  readonly objectType: "LockedAudioPage";
338
345
  };
339
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewLockedAudioPage.json";
346
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewLockedAudioPage.json";
340
347
  };
341
348
  export declare const ViewLockedVideoPage: {
342
349
  readonly eventType: "View";
343
350
  readonly object: {
344
351
  readonly objectType: "LockedVideoPage";
345
352
  };
346
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewLockedVideoPage.json";
353
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewLockedVideoPage.json";
347
354
  };
348
355
  export declare const ViewPage: {
349
356
  readonly eventType: "View";
350
357
  readonly object: {
351
358
  readonly objectType: "Page";
352
359
  };
353
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewPage.json";
360
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewPage.json";
354
361
  };
355
362
  export declare const ViewSportsPage: {
356
363
  readonly eventType: "View";
357
364
  readonly object: {
358
365
  readonly objectType: "SportsPage";
359
366
  };
360
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewSportsPage.json";
367
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewSportsPage.json";
361
368
  };
362
369
  export declare const ViewTitle: {
363
370
  readonly eventType: "View";
364
371
  readonly object: {
365
372
  readonly objectType: "Title";
366
373
  };
367
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewTitle.json";
374
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewTitle.json";
368
375
  };
369
376
  export declare const ViewVideoPage: {
370
377
  readonly eventType: "View";
371
378
  readonly object: {
372
379
  readonly objectType: "VideoPage";
373
380
  };
374
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewVideoPage.json";
381
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewVideoPage.json";
375
382
  };
376
383
  export declare const ViewWeather: {
377
384
  readonly eventType: "View";
378
385
  readonly object: {
379
386
  readonly objectType: "Weather";
380
387
  };
381
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewWeather.json";
388
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.7.0/schemas/ViewWeather.json";
382
389
  };
383
390
  export declare const ADVERTISING_VALUES: readonly [
384
391
  "Accepted",
@@ -489,6 +496,15 @@ export declare const COLUMN_NAME_VALUES: readonly [
489
496
  "main",
490
497
  "aside"
491
498
  ];
499
+ export declare const FOLD_POSITION_VALUES: readonly [
500
+ "Above",
501
+ "Below",
502
+ "Unknown"
503
+ ];
504
+ export declare const PRIMARY_AXIS_VALUES: readonly [
505
+ "Horizontal",
506
+ "Vertical"
507
+ ];
492
508
  export declare const STAGE_VALUES: readonly [
493
509
  "Dev",
494
510
  "Test",
@@ -559,7 +575,7 @@ export declare const UTM_MEDIUM_VALUES: readonly [
559
575
  "Video",
560
576
  "Internal"
561
577
  ];
562
- export declare const CATALOG_VERSION: "2.6.0";
578
+ export declare const CATALOG_VERSION: "2.7.0";
563
579
  /* eslint-disable */
564
580
  /**
565
581
  * This file was automatically generated by json-schema-to-typescript.
@@ -576,10 +592,12 @@ export type IExperiments = {
576
592
  experimentSdrn: string;
577
593
  /**
578
594
  * The name of the experiment
595
+ * @example "login-ab-test"
579
596
  */
580
597
  name: string;
581
598
  /**
582
599
  * The name of the experimentation platform.
600
+ * @example "curate"
583
601
  */
584
602
  platform: string;
585
603
  /**
@@ -588,6 +606,7 @@ export type IExperiments = {
588
606
  testId?: string;
589
607
  /**
590
608
  * The level of the experiment variant.
609
+ * @example "control"
591
610
  */
592
611
  variant: string;
593
612
  }[];
@@ -611,6 +630,7 @@ export interface IPageRef {
611
630
  pageType?: "Article" | "AudioPage" | "Error" | "Frontpage" | "HealthPage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudioPage" | "LockedVideoPage" | "Login" | "Page" | "SportsPage" | "Title" | "VideoPage" | "Weather";
612
631
  /**
613
632
  * The URL of the page.
633
+ * @format uri
614
634
  */
615
635
  url?: string;
616
636
  }
@@ -626,22 +646,30 @@ export interface IPageRef {
626
646
  export interface IUtmTags {
627
647
  /**
628
648
  * The marketing campaign that brought the user to this page, if present.
649
+ * @pattern ^[a-zA-Z0-9-_]+$
650
+ * @example "fotball-league-25"
629
651
  */
630
652
  utmCampaign?: string;
631
653
  /**
632
654
  * The UIElement a user engaged with to be sent here.
655
+ * @pattern ^[a-zA-Z0-9-_]+$
656
+ * @example "viewNowButton"
633
657
  */
634
658
  utmContent?: string;
635
659
  /**
636
660
  * The channel that provided the traffic.
661
+ * @example "Social"
637
662
  */
638
663
  utmMedium?: "Organic" | "Cpc" | "Email" | "Social" | "Referral" | "Display" | "Affiliate" | "Video" | "Internal";
639
664
  /**
640
665
  * The domain the user came from.
666
+ * @example "https://vg.no"
641
667
  */
642
668
  utmSource?: string;
643
669
  /**
644
670
  * If paid medium: The keywords triggering the ad. Else: The keywords used by the search engine.
671
+ * @pattern ^[^+]+(?:\+[^+]+)*$
672
+ * @example "fotball+now+free"
645
673
  */
646
674
  utmTerms?: string;
647
675
  }
@@ -657,6 +685,7 @@ export interface IUtmTags {
657
685
  export interface IProvider {
658
686
  /**
659
687
  * The equivalent of .product for Apps
688
+ * @pattern ^[a-zA-Z0-9-_]+$
660
689
  */
661
690
  appProduct?: string;
662
691
  /**
@@ -665,22 +694,43 @@ export interface IProvider {
665
694
  appVersion?: string;
666
695
  /**
667
696
  * The name of the component. Used to contact owners of the event. This should be a recognized name within the product.
697
+ * @pattern ^[a-zA-Z0-9-_]+$
698
+ * @example "liveWidget"
668
699
  */
669
700
  component?: string;
670
701
  /**
671
702
  * The version of the component used.
703
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
704
+ * @example "2.3.4"
672
705
  */
673
706
  componentVersion?: string;
707
+ /**
708
+ * The group or owner of the provider, used for aggregates and benchmark reports.
709
+ * @pattern ^[a-z0-9-:]+$
710
+ * @example "schibsted:vg"
711
+ */
712
+ group?: string;
713
+ /**
714
+ * The name of the provider, used for readable reports and contact info.
715
+ * @pattern ^[a-z0-9-]+$
716
+ * @example "vestnytt"
717
+ */
718
+ name?: string;
674
719
  /**
675
720
  * The name of the product. Used to contact owners of the event. This should be a recognized name within the organization of the provider.
721
+ * @pattern ^[a-zA-Z0-9-_]+$
722
+ * @example "Feeds"
676
723
  */
677
724
  product?: string;
678
725
  /**
679
726
  * The providerID.
727
+ * @example "aftonbladet"
680
728
  */
681
729
  providerId: string;
682
730
  /**
683
731
  * The provider SDRN.
732
+ * @pattern ^sdrn:schibsted:client:[a-z][a-z0-9-]+$
733
+ * @example "sdrn:schibsted:client:aftonbladet"
684
734
  */
685
735
  providerSdrn: string;
686
736
  /**
@@ -689,6 +739,8 @@ export interface IProvider {
689
739
  stage: "Dev" | "Test" | "Pro";
690
740
  /**
691
741
  * Version of the product.
742
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
743
+ * @example "2.3.4"
692
744
  */
693
745
  version?: string;
694
746
  }
@@ -704,18 +756,22 @@ export interface IProvider {
704
756
  export interface ITime {
705
757
  /**
706
758
  * Timestamp at event creation (in UTC).
759
+ * @format date-time
707
760
  */
708
761
  createdAt: string;
709
762
  /**
710
763
  * Estimate of actual time of event creation. (UTC)
764
+ * @format date-time
711
765
  */
712
766
  publishedAt?: string;
713
767
  /**
714
768
  * Timestamp at event re-publish. (UTC)
769
+ * @format date-time
715
770
  */
716
771
  republishedAt?: string;
717
772
  /**
718
773
  * Timestamp at event transmission. (UTC, client-side)
774
+ * @format date-time
719
775
  */
720
776
  sentAt: string;
721
777
  }
@@ -731,6 +787,8 @@ export interface ITime {
731
787
  export interface ITracker {
732
788
  /**
733
789
  * If the auto-tracker was used, the version of the autotracker library.
790
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
791
+ * @example "2.3.4"
734
792
  */
735
793
  autoTrackerVersion?: string;
736
794
  /**
@@ -743,14 +801,19 @@ export interface ITracker {
743
801
  isHybrid: boolean;
744
802
  /**
745
803
  * The version of the proxy.
804
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
805
+ * @example "2.3.4"
746
806
  */
747
807
  proxyVersion?: string;
748
808
  /**
749
809
  * The SDK being used. If no SDK was used, use “backend”.
810
+ * @example "JS"
750
811
  */
751
812
  trackerType: "JS" | "IOS" | "Android" | "Backend";
752
813
  /**
753
814
  * The version of the tracker.
815
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
816
+ * @example "2.3.4"
754
817
  */
755
818
  version: string;
756
819
  }
@@ -760,10 +823,13 @@ export interface ITracker {
760
823
  export interface IAnonymousViewUIElement {
761
824
  /**
762
825
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
826
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
827
+ * @example "1.2.3"
763
828
  */
764
829
  catalogVersion: string;
765
830
  /**
766
831
  * The unique identifier for the event.
832
+ * @format uuid
767
833
  */
768
834
  eventId: string;
769
835
  /**
@@ -785,6 +851,7 @@ export interface IAnonymousViewUIElement {
785
851
  page: {
786
852
  /**
787
853
  * The pageviewID.
854
+ * @format uuid
788
855
  */
789
856
  pageviewId: string;
790
857
  referrer?: IPageRef;
@@ -793,6 +860,8 @@ export interface IAnonymousViewUIElement {
793
860
  provider: IProvider;
794
861
  /**
795
862
  * URL to the JSON schema for this event.
863
+ * @format uri
864
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
796
865
  */
797
866
  schema: string;
798
867
  time: ITime;
@@ -826,6 +895,8 @@ export interface IConsents {
826
895
  personalization: "Accepted" | "Rejected" | "Unknown";
827
896
  /**
828
897
  * The source of consent information
898
+ * @pattern ^[a-zA-Z-_]+$
899
+ * @example "cache"
829
900
  */
830
901
  source: string;
831
902
  }
@@ -841,18 +912,24 @@ export interface IConsents {
841
912
  export interface IUser {
842
913
  /**
843
914
  * True if the user has an active subscription
915
+ * @example true
844
916
  */
845
917
  hasAnySubscription: boolean;
846
918
  /**
847
919
  * The region of primary belonging
920
+ * @example "Norway"
848
921
  */
849
922
  region?: "Norway" | "Sweden" | "Finland";
850
923
  /**
851
924
  * The user ID.
925
+ * @pattern ^[a-zA-Z0-9-]+$
926
+ * @example "12345678"
852
927
  */
853
928
  userId: string;
854
929
  /**
855
930
  * The user SDRN.
931
+ * @pattern ^sdrn:[a-z.-]+:user:[a-zA-Z0-9-]+$
932
+ * @example "sdrn:schibsted:user:12345678"
856
933
  */
857
934
  userSdrn: string;
858
935
  }
@@ -862,6 +939,8 @@ export interface IUser {
862
939
  export interface ICancelSubscription {
863
940
  /**
864
941
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
942
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
943
+ * @example "1.2.3"
865
944
  */
866
945
  catalogVersion: string;
867
946
  consents?: IConsents;
@@ -872,11 +951,13 @@ export interface ICancelSubscription {
872
951
  deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
873
952
  /**
874
953
  * The environmentId.
954
+ * @pattern ^[0-9a-fA-F-]+$
875
955
  */
876
956
  environmentId: string;
877
957
  };
878
958
  /**
879
959
  * The unique identifier for the event.
960
+ * @format uuid
880
961
  */
881
962
  eventId: string;
882
963
  /**
@@ -887,6 +968,7 @@ export interface ICancelSubscription {
887
968
  object: {
888
969
  /**
889
970
  * Date specifying when the subscription is cancelled.
971
+ * @format date
890
972
  */
891
973
  cancelDate?: string;
892
974
  /**
@@ -899,6 +981,7 @@ export interface ICancelSubscription {
899
981
  cancelledBy?: string;
900
982
  /**
901
983
  * Date when access to the service was ends, meaning when the customer lose access.
984
+ * @format date
902
985
  */
903
986
  churnDate?: string;
904
987
  /**
@@ -911,6 +994,7 @@ export interface ICancelSubscription {
911
994
  fullPrice?: number;
912
995
  /**
913
996
  * The unique identifier of the subscription, which corresponds to subscription number in URS.
997
+ * @pattern ^sdrn:[a-zA-Z0-9-]+:subscription:[a-zA-Z0-9_-]+$
914
998
  */
915
999
  objectSdrn: string;
916
1000
  /**
@@ -937,6 +1021,8 @@ export interface ICancelSubscription {
937
1021
  provider: IProvider;
938
1022
  /**
939
1023
  * URL to the JSON schema for this event.
1024
+ * @format uri
1025
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
940
1026
  */
941
1027
  schema: string;
942
1028
  time: ITime;
@@ -955,18 +1041,22 @@ export interface ICancelSubscription {
955
1041
  export type IMetrics = {
956
1042
  /**
957
1043
  * A grouping key for the metric, e.g. curate’s blendId.
1044
+ * @example "front-ranker-v7"
958
1045
  */
959
1046
  key: string;
960
1047
  /**
961
1048
  * Name of the metric, e.g., "topKScore".
1049
+ * @example "topKScore"
962
1050
  */
963
1051
  name: string;
964
1052
  /**
965
1053
  * Source of the metric, e.g., "Curate".
1054
+ * @example "curate"
966
1055
  */
967
1056
  source: string;
968
1057
  /**
969
1058
  * The value of the template.
1059
+ * @example 42
970
1060
  */
971
1061
  value: number;
972
1062
  }[];
@@ -994,6 +1084,8 @@ export interface IDevice {
994
1084
  deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
995
1085
  /**
996
1086
  * The environmentId.
1087
+ * @pattern ^[0-9a-fA-F-]+$
1088
+ * @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
997
1089
  */
998
1090
  environmentId: string;
999
1091
  ipAddress?: string;
@@ -1003,10 +1095,12 @@ export interface IDevice {
1003
1095
  jweIds?: string;
1004
1096
  /**
1005
1097
  * Mobile only: The brand name of the device.
1098
+ * @example "Samsung"
1006
1099
  */
1007
1100
  mobileBrand?: string;
1008
1101
  /**
1009
1102
  * Mobile only: The model of the device.
1103
+ * @example "SM-S918B"
1010
1104
  */
1011
1105
  mobileModel?: string;
1012
1106
  /**
@@ -1019,6 +1113,7 @@ export interface IDevice {
1019
1113
  screenOrientation: "Portrait" | "Landscape";
1020
1114
  /**
1021
1115
  * The raw userAgent string, if it exists.
1116
+ * @example "Mozilla/5.0 (Linux; Android 13; SM-S918B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Mobile Safari/537.36"
1022
1117
  */
1023
1118
  userAgent?: string;
1024
1119
  /**
@@ -1042,14 +1137,19 @@ export interface ISession {
1042
1137
  isFirstEvent: boolean;
1043
1138
  /**
1044
1139
  * The sessionID.
1140
+ * @pattern ^[0-9a-f-]+$
1141
+ * @example "079bc17a-4ee8-42ab-a29f-2fbba4cd403f"
1045
1142
  */
1046
1143
  sessionId: string;
1047
1144
  /**
1048
1145
  * Timestamp of when the session started.
1146
+ * @format date-time
1049
1147
  */
1050
1148
  startTime: string;
1051
1149
  /**
1052
1150
  * The session ID on a partner domain (set via query parameter), else the current session ID. This value is used to connect cross-domain events such as behavior events to purchase events.
1151
+ * @pattern ^[0-9a-f-]+$
1152
+ * @example "079bc17a-4ee8-42ab-a29f-2fbba4cd403f"
1053
1153
  */
1054
1154
  xDomainId?: string;
1055
1155
  }
@@ -1059,12 +1159,15 @@ export interface ISession {
1059
1159
  export interface IChangePushNotificationSettings {
1060
1160
  /**
1061
1161
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1162
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1163
+ * @example "1.2.3"
1062
1164
  */
1063
1165
  catalogVersion: string;
1064
1166
  consents: IConsents;
1065
1167
  device: IDevice;
1066
1168
  /**
1067
1169
  * The unique identifier for the event.
1170
+ * @format uuid
1068
1171
  */
1069
1172
  eventId: string;
1070
1173
  /**
@@ -1090,6 +1193,8 @@ export interface IChangePushNotificationSettings {
1090
1193
  provider: IProvider;
1091
1194
  /**
1092
1195
  * URL to the JSON schema for this event.
1196
+ * @format uri
1197
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1093
1198
  */
1094
1199
  schema: string;
1095
1200
  session: ISession;
@@ -1132,6 +1237,7 @@ export interface IHealthOrigin {
1132
1237
  export interface IContent {
1133
1238
  /**
1134
1239
  * The access restriction placed on the content.
1240
+ * @example "Free"
1135
1241
  */
1136
1242
  accessLevel: "Free" | "Login" | "Meter" | "Paid";
1137
1243
  /**
@@ -1140,10 +1246,12 @@ export interface IContent {
1140
1246
  category: "Article" | "Audio" | "Video" | "Weather" | "Title" | "Other";
1141
1247
  /**
1142
1248
  * The identifier of the content.
1249
+ * @example "QMkj9q"
1143
1250
  */
1144
1251
  contentId: string;
1145
1252
  /**
1146
1253
  * The canonical title of the content.
1254
+ * @example "Norge vinner 3-0 mot Italia i VM-kvalifiseringen."
1147
1255
  */
1148
1256
  contentTitle: string;
1149
1257
  /**
@@ -1158,7 +1266,7 @@ export interface IContent {
1158
1266
  * A list of product features that give access to this content. (Uses OR, i.e., having one is enough for access.)
1159
1267
  */
1160
1268
  requiredProductFeatures?: string[];
1161
- tags: string[];
1269
+ tags?: string[];
1162
1270
  }
1163
1271
  /**
1164
1272
  * Tracking when a user completes health-related actions within a health application. This includes both simple actions (logged food, scanned barcode) and complex multi-step processes (started new program, achieved goals). Only used by Vektklubb/Wellobe.
@@ -1166,12 +1274,15 @@ export interface IContent {
1166
1274
  export interface ICompletedHealthAction {
1167
1275
  /**
1168
1276
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1277
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1278
+ * @example "1.2.3"
1169
1279
  */
1170
1280
  catalogVersion: string;
1171
1281
  consents: IConsents;
1172
1282
  device: IDevice;
1173
1283
  /**
1174
1284
  * The unique identifier for the event.
1285
+ * @format uuid
1175
1286
  */
1176
1287
  eventId: string;
1177
1288
  /**
@@ -1190,20 +1301,24 @@ export interface ICompletedHealthAction {
1190
1301
  actionType: "Logged" | "Scanned" | "Started" | "SetFilters" | "Added" | "Removed" | "Completed" | "Achieved" | "Saved" | "Deleted" | "Updated" | "Shared";
1191
1302
  /**
1192
1303
  * The health category this action relates to.
1304
+ * @example "nutrition"
1193
1305
  */
1194
1306
  category?: string;
1195
1307
  /**
1196
1308
  * Freeform custom properties with dynamic field names for health-specific action data.
1309
+ * @additionalProperties true
1197
1310
  */
1198
1311
  custom?: {
1199
1312
  [k: string]: unknown;
1200
1313
  };
1201
1314
  /**
1202
1315
  * The user intent or purpose of this event.
1316
+ * @example "edit daily note"
1203
1317
  */
1204
1318
  intent?: string;
1205
1319
  /**
1206
1320
  * The descriptive name of the action that was completed.
1321
+ * @example "Logged breakfast meal"
1207
1322
  */
1208
1323
  name?: string;
1209
1324
  /**
@@ -1224,6 +1339,7 @@ export interface ICompletedHealthAction {
1224
1339
  tags?: string[];
1225
1340
  /**
1226
1341
  * The title of the completion message or confirmation shown to the user.
1342
+ * @example "Barcode scanned successfully"
1227
1343
  */
1228
1344
  title?: string;
1229
1345
  };
@@ -1235,6 +1351,7 @@ export interface ICompletedHealthAction {
1235
1351
  info: IPageRef;
1236
1352
  /**
1237
1353
  * The pageviewID of the page where the action occurred.
1354
+ * @format uuid
1238
1355
  */
1239
1356
  pageviewId: string;
1240
1357
  referrer?: IPageRef;
@@ -1243,6 +1360,8 @@ export interface ICompletedHealthAction {
1243
1360
  provider: IProvider;
1244
1361
  /**
1245
1362
  * URL to the JSON schema for this event.
1363
+ * @format uri
1364
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1246
1365
  */
1247
1366
  schema: string;
1248
1367
  session: ISession;
@@ -1263,6 +1382,8 @@ export interface ICompletedHealthAction {
1263
1382
  export interface IEngagementAudio {
1264
1383
  /**
1265
1384
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1385
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1386
+ * @example "1.2.3"
1266
1387
  */
1267
1388
  catalogVersion: string;
1268
1389
  consents: IConsents;
@@ -1286,6 +1407,7 @@ export interface IEngagementAudio {
1286
1407
  };
1287
1408
  /**
1288
1409
  * The unique identifier for the event.
1410
+ * @format uuid
1289
1411
  */
1290
1412
  eventId: string;
1291
1413
  /**
@@ -1311,6 +1433,7 @@ export interface IEngagementAudio {
1311
1433
  playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1312
1434
  /**
1313
1435
  * The current playback speed
1436
+ * @exclusiveMinimum 0
1314
1437
  */
1315
1438
  playbackSpeed?: number;
1316
1439
  /**
@@ -1318,9 +1441,9 @@ export interface IEngagementAudio {
1318
1441
  */
1319
1442
  positionMs: number;
1320
1443
  /**
1321
- * The playback position in the audio where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position
1444
+ * The playback position in the audio where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position.
1322
1445
  */
1323
- prevPositionMs: string;
1446
+ prevPositionMs: number;
1324
1447
  /**
1325
1448
  * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
1326
1449
  */
@@ -1340,10 +1463,6 @@ export interface IEngagementAudio {
1340
1463
  * The editorial category of this audio
1341
1464
  */
1342
1465
  category: string;
1343
- /**
1344
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
1345
- */
1346
- containerName: string;
1347
1466
  /**
1348
1467
  * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
1349
1468
  */
@@ -1352,10 +1471,6 @@ export interface IEngagementAudio {
1352
1471
  * The size of the player.
1353
1472
  */
1354
1473
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
1355
- /**
1356
- * The UI surface or context from which the audio playback was initiated, such as the frontpage, an article embed, podcast-page or play-next etc
1357
- */
1358
- entryPoint: string;
1359
1474
  /**
1360
1475
  * Which episode
1361
1476
  */
@@ -1403,6 +1518,7 @@ export interface IEngagementAudio {
1403
1518
  podmeId?: string;
1404
1519
  /**
1405
1520
  * The position of the audio in the playlist.
1521
+ * @minimum 0
1406
1522
  */
1407
1523
  queuePosition?: number;
1408
1524
  /**
@@ -1428,14 +1544,23 @@ export interface IEngagementAudio {
1428
1544
  info: IPageRef;
1429
1545
  /**
1430
1546
  * The pageviewID.
1547
+ * @format uuid
1431
1548
  */
1432
1549
  pageviewId: string;
1433
1550
  referrer?: IPageRef;
1434
1551
  utm?: IUtmTags;
1435
1552
  };
1553
+ placement: {
1554
+ /**
1555
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
1556
+ */
1557
+ containerName: string;
1558
+ };
1436
1559
  provider: IProvider;
1437
1560
  /**
1438
1561
  * URL to the JSON schema for this event.
1562
+ * @format uri
1563
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1439
1564
  */
1440
1565
  schema: string;
1441
1566
  session: ISession;
@@ -1459,6 +1584,7 @@ export interface IEngagement {
1459
1584
  action: "Click" | "Scroll" | "Drag" | "Drop" | "DoubleClick";
1460
1585
  /**
1461
1586
  * The name of the UIElement being interacted with.
1587
+ * @example "AwesomeButton"
1462
1588
  */
1463
1589
  elementName: string;
1464
1590
  }
@@ -1468,6 +1594,8 @@ export interface IEngagement {
1468
1594
  export interface IEngagementForm {
1469
1595
  /**
1470
1596
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1597
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1598
+ * @example "1.2.3"
1471
1599
  */
1472
1600
  catalogVersion: string;
1473
1601
  consents: IConsents;
@@ -1475,6 +1603,7 @@ export interface IEngagementForm {
1475
1603
  engagement: IEngagement;
1476
1604
  /**
1477
1605
  * Event ID
1606
+ * @format uuid
1478
1607
  */
1479
1608
  eventId: string;
1480
1609
  /**
@@ -1483,10 +1612,6 @@ export interface IEngagementForm {
1483
1612
  eventType: "Engagement";
1484
1613
  experiments?: IExperiments;
1485
1614
  object: {
1486
- /**
1487
- * The closest parent container used for traffic attribution. When in doubt use “page”.
1488
- */
1489
- containerName: string;
1490
1615
  /**
1491
1616
  * The size of the component.
1492
1617
  */
@@ -1531,14 +1656,23 @@ export interface IEngagementForm {
1531
1656
  info: IPageRef;
1532
1657
  /**
1533
1658
  * The pageviewID.
1659
+ * @format uuid
1534
1660
  */
1535
1661
  pageviewId: string;
1536
1662
  referrer?: IPageRef;
1537
1663
  utm?: IUtmTags;
1538
1664
  };
1665
+ placement: {
1666
+ /**
1667
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
1668
+ */
1669
+ containerName: string;
1670
+ };
1539
1671
  provider: IProvider;
1540
1672
  /**
1541
1673
  * The schema of the event.
1674
+ * @format uri
1675
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1542
1676
  */
1543
1677
  schema: string;
1544
1678
  session: ISession;
@@ -1556,6 +1690,8 @@ export interface IEngagementForm {
1556
1690
  export interface IEngagementHealthUIElement {
1557
1691
  /**
1558
1692
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1693
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1694
+ * @example "1.2.3"
1559
1695
  */
1560
1696
  catalogVersion: string;
1561
1697
  consents: IConsents;
@@ -1563,6 +1699,7 @@ export interface IEngagementHealthUIElement {
1563
1699
  engagement: IEngagement;
1564
1700
  /**
1565
1701
  * The unique identifier for the event.
1702
+ * @format uuid
1566
1703
  */
1567
1704
  eventId: string;
1568
1705
  /**
@@ -1577,14 +1714,12 @@ export interface IEngagementHealthUIElement {
1577
1714
  object: {
1578
1715
  /**
1579
1716
  * The health category this UI element relates to.
1717
+ * @example "breakfast"
1580
1718
  */
1581
1719
  category?: string;
1582
- /**
1583
- * The closest parent container used for traffic attribution.
1584
- */
1585
- containerName: string;
1586
1720
  /**
1587
1721
  * Freeform custom properties with dynamic field names for health-specific UI engagement data.
1722
+ * @additionalProperties true
1588
1723
  */
1589
1724
  custom?: {
1590
1725
  [k: string]: unknown;
@@ -1595,14 +1730,17 @@ export interface IEngagementHealthUIElement {
1595
1730
  elementSize: "XS" | "S" | "M" | "L" | "XL";
1596
1731
  /**
1597
1732
  * The text content of the UI element.
1733
+ * @example "Scan Barcode"
1598
1734
  */
1599
1735
  elementText?: string;
1600
1736
  /**
1601
1737
  * The user intent or purpose of this event.
1738
+ * @example "log calories"
1602
1739
  */
1603
1740
  intent?: string;
1604
1741
  /**
1605
1742
  * The name of the UI element.
1743
+ * @example "Grilled Chicken Recipe"
1606
1744
  */
1607
1745
  name: string;
1608
1746
  /**
@@ -1627,14 +1765,24 @@ export interface IEngagementHealthUIElement {
1627
1765
  info: IPageRef;
1628
1766
  /**
1629
1767
  * The pageviewID of the parent page.
1768
+ * @format uuid
1630
1769
  */
1631
1770
  pageviewId: string;
1632
1771
  referrer?: IPageRef;
1633
1772
  utm?: IUtmTags;
1634
1773
  };
1774
+ placement: {
1775
+ /**
1776
+ * The closest parent container used for traffic attribution.
1777
+ * @example "recipes"
1778
+ */
1779
+ containerName: string;
1780
+ };
1635
1781
  provider: IProvider;
1636
1782
  /**
1637
1783
  * URL to the JSON schema for this event.
1784
+ * @format uri
1785
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1638
1786
  */
1639
1787
  schema: string;
1640
1788
  session: ISession;
@@ -1655,6 +1803,8 @@ export interface IEngagementHealthUIElement {
1655
1803
  export interface IEngagementNotification {
1656
1804
  /**
1657
1805
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1806
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1807
+ * @example "1.2.3"
1658
1808
  */
1659
1809
  catalogVersion: string;
1660
1810
  consents: IConsents;
@@ -1662,6 +1812,7 @@ export interface IEngagementNotification {
1662
1812
  engagement: IEngagement;
1663
1813
  /**
1664
1814
  * Schema ID
1815
+ * @format uuid
1665
1816
  */
1666
1817
  eventId: string;
1667
1818
  /**
@@ -1710,6 +1861,8 @@ export interface IEngagementNotification {
1710
1861
  provider: IProvider;
1711
1862
  /**
1712
1863
  * The schema of the event.
1864
+ * @format uri
1865
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1713
1866
  */
1714
1867
  schema: string;
1715
1868
  session: ISession;
@@ -1727,6 +1880,8 @@ export interface IEngagementNotification {
1727
1880
  export interface IEngagementOffer {
1728
1881
  /**
1729
1882
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1883
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1884
+ * @example "1.2.3"
1730
1885
  */
1731
1886
  catalogVersion: string;
1732
1887
  consents: IConsents;
@@ -1734,6 +1889,7 @@ export interface IEngagementOffer {
1734
1889
  engagement: IEngagement;
1735
1890
  /**
1736
1891
  * Event ID
1892
+ * @format uuid
1737
1893
  */
1738
1894
  eventId: string;
1739
1895
  /**
@@ -1744,12 +1900,9 @@ export interface IEngagementOffer {
1744
1900
  object: {
1745
1901
  /**
1746
1902
  * The campaign associated with this offer.
1903
+ * @example "summer-sale"
1747
1904
  */
1748
1905
  campaign: string;
1749
- /**
1750
- * The closest parent container used for traffic attribution. When in doubt use “page”.
1751
- */
1752
- containerName?: string;
1753
1906
  /**
1754
1907
  * The size of the component.
1755
1908
  */
@@ -1771,10 +1924,6 @@ export interface IEngagementOffer {
1771
1924
  */
1772
1925
  objectType: "Offer";
1773
1926
  offerCodes?: string[];
1774
- /**
1775
- * The position where this offer was placed.
1776
- */
1777
- offerPlacement: string;
1778
1927
  /**
1779
1928
  * The variant/layout of the offer.
1780
1929
  */
@@ -1785,14 +1934,27 @@ export interface IEngagementOffer {
1785
1934
  info: IPageRef;
1786
1935
  /**
1787
1936
  * The pageviewID.
1937
+ * @format uuid
1788
1938
  */
1789
1939
  pageviewId: string;
1790
1940
  referrer?: IPageRef;
1791
1941
  utm?: IUtmTags;
1792
1942
  };
1943
+ placement: {
1944
+ /**
1945
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
1946
+ */
1947
+ containerName?: string;
1948
+ /**
1949
+ * The position where this offer was placed.
1950
+ */
1951
+ offerPlacement: string;
1952
+ };
1793
1953
  provider: IProvider;
1794
1954
  /**
1795
1955
  * The schema of the event.
1956
+ * @format uri
1957
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1796
1958
  */
1797
1959
  schema: string;
1798
1960
  session: ISession;
@@ -1815,6 +1977,10 @@ export interface IEngagementOffer {
1815
1977
  */
1816
1978
  export interface IPlacement {
1817
1979
  columnName: "main" | "aside";
1980
+ /**
1981
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
1982
+ */
1983
+ containerName: string;
1818
1984
  /**
1819
1985
  * The context in which the recommendation was made.
1820
1986
  */
@@ -1823,13 +1989,23 @@ export interface IPlacement {
1823
1989
  * The source of the impression/engagement.
1824
1990
  */
1825
1991
  curateSource?: string;
1992
+ /**
1993
+ * Indicator if the player was visible at pageload (“above”) or if the user had to scroll to it (“below”).
1994
+ */
1995
+ foldPosition: "Above" | "Below" | "Unknown";
1826
1996
  positionInBundle: number;
1997
+ /**
1998
+ * The parent’s primary direction along which components are laid out.
1999
+ */
2000
+ primaryAxis: "Horizontal" | "Vertical";
1827
2001
  /**
1828
2002
  * The position of this component along the primary axis.
2003
+ * @minimum 1
1829
2004
  */
1830
2005
  primaryPosition: number;
1831
2006
  /**
1832
2007
  * The position of this component along the secondary axis.
2008
+ * @minimum 1
1833
2009
  */
1834
2010
  secondaryPosition: number;
1835
2011
  source?: string;
@@ -1840,6 +2016,8 @@ export interface IPlacement {
1840
2016
  export interface IEngagementTeaser {
1841
2017
  /**
1842
2018
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2019
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2020
+ * @example "1.2.3"
1843
2021
  */
1844
2022
  catalogVersion: string;
1845
2023
  consents: IConsents;
@@ -1847,6 +2025,7 @@ export interface IEngagementTeaser {
1847
2025
  engagement: IEngagement;
1848
2026
  /**
1849
2027
  * Event ID
2028
+ * @format uuid
1850
2029
  */
1851
2030
  eventId: string;
1852
2031
  /**
@@ -1856,10 +2035,6 @@ export interface IEngagementTeaser {
1856
2035
  experiments?: IExperiments;
1857
2036
  metrics?: IMetrics;
1858
2037
  object: {
1859
- /**
1860
- * The closest parent container used for traffic attribution. When in doubt use “page”.
1861
- */
1862
- containerName: string;
1863
2038
  /**
1864
2039
  * The engine producing this teaser. Use “editorial” for manually curated item.
1865
2040
  */
@@ -1888,10 +2063,6 @@ export interface IEngagementTeaser {
1888
2063
  * The type of the component.
1889
2064
  */
1890
2065
  objectType: "Teaser";
1891
- /**
1892
- * The parent’s primary direction along which components are laid out.
1893
- */
1894
- primaryAxis: "Horizontal" | "Vertical";
1895
2066
  /**
1896
2067
  * The title of the teaser.
1897
2068
  */
@@ -1902,6 +2073,7 @@ export interface IEngagementTeaser {
1902
2073
  info: IPageRef;
1903
2074
  /**
1904
2075
  * The pageviewID.
2076
+ * @format uuid
1905
2077
  */
1906
2078
  pageviewId: string;
1907
2079
  referrer?: IPageRef;
@@ -1911,6 +2083,8 @@ export interface IEngagementTeaser {
1911
2083
  provider: IProvider;
1912
2084
  /**
1913
2085
  * The schema of the event.
2086
+ * @format uri
2087
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1914
2088
  */
1915
2089
  schema: string;
1916
2090
  session: ISession;
@@ -1928,6 +2102,8 @@ export interface IEngagementTeaser {
1928
2102
  export interface IEngagementUIElement {
1929
2103
  /**
1930
2104
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2105
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2106
+ * @example "1.2.3"
1931
2107
  */
1932
2108
  catalogVersion: string;
1933
2109
  consents: IConsents;
@@ -1935,6 +2111,7 @@ export interface IEngagementUIElement {
1935
2111
  engagement: IEngagement;
1936
2112
  /**
1937
2113
  * Event ID
2114
+ * @format uuid
1938
2115
  */
1939
2116
  eventId: string;
1940
2117
  /**
@@ -1943,10 +2120,6 @@ export interface IEngagementUIElement {
1943
2120
  eventType: "Engagement";
1944
2121
  experiments?: IExperiments;
1945
2122
  object: {
1946
- /**
1947
- * The closest parent container used for traffic attribution. When in doubt use “page”.
1948
- */
1949
- containerName: string;
1950
2123
  /**
1951
2124
  * The size of the component.
1952
2125
  */
@@ -1981,14 +2154,23 @@ export interface IEngagementUIElement {
1981
2154
  info: IPageRef;
1982
2155
  /**
1983
2156
  * The pageviewID.
2157
+ * @format uuid
1984
2158
  */
1985
2159
  pageviewId: string;
1986
2160
  referrer?: IPageRef;
1987
2161
  utm?: IUtmTags;
1988
2162
  };
2163
+ placement: {
2164
+ /**
2165
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
2166
+ */
2167
+ containerName: string;
2168
+ };
1989
2169
  provider: IProvider;
1990
2170
  /**
1991
2171
  * The schema of the event.
2172
+ * @format uri
2173
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1992
2174
  */
1993
2175
  schema: string;
1994
2176
  session: ISession;
@@ -2006,6 +2188,8 @@ export interface IEngagementUIElement {
2006
2188
  export interface IEngagementVideo {
2007
2189
  /**
2008
2190
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2191
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2192
+ * @example "1.2.3"
2009
2193
  */
2010
2194
  catalogVersion: string;
2011
2195
  consents: IConsents;
@@ -2029,6 +2213,7 @@ export interface IEngagementVideo {
2029
2213
  };
2030
2214
  /**
2031
2215
  * The unique identifier for the event.
2216
+ * @format uuid
2032
2217
  */
2033
2218
  eventId: string;
2034
2219
  /**
@@ -2058,6 +2243,7 @@ export interface IEngagementVideo {
2058
2243
  playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
2059
2244
  /**
2060
2245
  * The current playback speed.
2246
+ * @exclusiveMinimum 0
2061
2247
  */
2062
2248
  playbackSpeed?: number;
2063
2249
  /**
@@ -2081,9 +2267,9 @@ export interface IEngagementVideo {
2081
2267
  */
2082
2268
  seekToMs?: number;
2083
2269
  /**
2084
- * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
2270
+ * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc
2085
2271
  */
2086
- viewTimeMs: number;
2272
+ viewtimeMs: number;
2087
2273
  };
2088
2274
  metrics?: IMetrics;
2089
2275
  object: {
@@ -2095,10 +2281,6 @@ export interface IEngagementVideo {
2095
2281
  * The editorial category of this video
2096
2282
  */
2097
2283
  category: string;
2098
- /**
2099
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2100
- */
2101
- containerName: string;
2102
2284
  /**
2103
2285
  * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
2104
2286
  */
@@ -2107,10 +2289,6 @@ export interface IEngagementVideo {
2107
2289
  * The size of the player.
2108
2290
  */
2109
2291
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
2110
- /**
2111
- * The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc
2112
- */
2113
- entryPoint: string;
2114
2292
  /**
2115
2293
  * Which episode
2116
2294
  */
@@ -2169,6 +2347,7 @@ export interface IEngagementVideo {
2169
2347
  playlistId?: string;
2170
2348
  /**
2171
2349
  * The position of the video in the playlist.
2350
+ * @minimum 0
2172
2351
  */
2173
2352
  queuePosition?: number;
2174
2353
  /**
@@ -2194,14 +2373,23 @@ export interface IEngagementVideo {
2194
2373
  info: IPageRef;
2195
2374
  /**
2196
2375
  * The pageviewID.
2376
+ * @format uuid
2197
2377
  */
2198
2378
  pageviewId: string;
2199
2379
  referrer?: IPageRef;
2200
2380
  utm?: IUtmTags;
2201
2381
  };
2382
+ placement: {
2383
+ /**
2384
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2385
+ */
2386
+ containerName: string;
2387
+ };
2202
2388
  provider: IProvider;
2203
2389
  /**
2204
2390
  * URL to the JSON schema for this event.
2391
+ * @format uri
2392
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2205
2393
  */
2206
2394
  schema: string;
2207
2395
  session: ISession;
@@ -2218,6 +2406,8 @@ export interface IEngagementVideo {
2218
2406
  export interface IEngagementVideoAd {
2219
2407
  /**
2220
2408
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2409
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2410
+ * @example "1.2.3"
2221
2411
  */
2222
2412
  catalogVersion: string;
2223
2413
  consents: IConsents;
@@ -2241,6 +2431,7 @@ export interface IEngagementVideoAd {
2241
2431
  };
2242
2432
  /**
2243
2433
  * The unique identifier for the event.
2434
+ * @format uuid
2244
2435
  */
2245
2436
  eventId: string;
2246
2437
  /**
@@ -2291,10 +2482,6 @@ export interface IEngagementVideoAd {
2291
2482
  * Indicates where the ad appears in the playback sequence (e.g. preroll, midroll, postroll, overlay). Describes the ad position relative to the video, not the ad’s creative type.
2292
2483
  */
2293
2484
  adSlot: "Preroll" | "Midroll" | "Postroll" | "Overlay";
2294
- /**
2295
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2296
- */
2297
- containerName: string;
2298
2485
  /**
2299
2486
  * The identifier of the asset the ad belongs to.
2300
2487
  */
@@ -2325,14 +2512,23 @@ export interface IEngagementVideoAd {
2325
2512
  info: IPageRef;
2326
2513
  /**
2327
2514
  * The pageviewID.
2515
+ * @format uuid
2328
2516
  */
2329
2517
  pageviewId: string;
2330
2518
  referrer?: IPageRef;
2331
2519
  utm?: IUtmTags;
2332
2520
  };
2521
+ placement: {
2522
+ /**
2523
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2524
+ */
2525
+ containerName: string;
2526
+ };
2333
2527
  provider: IProvider;
2334
2528
  /**
2335
2529
  * URL to the JSON schema for this event.
2530
+ * @format uri
2531
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2336
2532
  */
2337
2533
  schema: string;
2338
2534
  session: ISession;
@@ -2349,6 +2545,8 @@ export interface IEngagementVideoAd {
2349
2545
  export interface IEngagementWidget {
2350
2546
  /**
2351
2547
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2548
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2549
+ * @example "1.2.3"
2352
2550
  */
2353
2551
  catalogVersion: string;
2354
2552
  consents: IConsents;
@@ -2356,6 +2554,7 @@ export interface IEngagementWidget {
2356
2554
  engagement: IEngagement;
2357
2555
  /**
2358
2556
  * Event ID
2557
+ * @format uuid
2359
2558
  */
2360
2559
  eventId: string;
2361
2560
  /**
@@ -2363,11 +2562,8 @@ export interface IEngagementWidget {
2363
2562
  */
2364
2563
  eventType: "Engagement";
2365
2564
  experiments?: IExperiments;
2565
+ metrics?: IMetrics;
2366
2566
  object: {
2367
- /**
2368
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2369
- */
2370
- containerName?: string;
2371
2567
  /**
2372
2568
  * The size of the component.
2373
2569
  */
@@ -2388,16 +2584,13 @@ export interface IEngagementWidget {
2388
2584
  * The type of the component.
2389
2585
  */
2390
2586
  objectType: "Widget";
2391
- /**
2392
- * The parent’s primary direction along which components are laid out.
2393
- */
2394
- primaryAxis?: "Horizontal" | "Vertical";
2395
2587
  };
2396
2588
  page: {
2397
2589
  content?: IContent;
2398
2590
  info: IPageRef;
2399
2591
  /**
2400
2592
  * The pageviewID.
2593
+ * @format uuid
2401
2594
  */
2402
2595
  pageviewId: string;
2403
2596
  referrer?: IPageRef;
@@ -2407,6 +2600,8 @@ export interface IEngagementWidget {
2407
2600
  provider: IProvider;
2408
2601
  /**
2409
2602
  * The schema of the event.
2603
+ * @format uri
2604
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2410
2605
  */
2411
2606
  schema: string;
2412
2607
  session: ISession;
@@ -2419,17 +2614,20 @@ export interface IEngagementWidget {
2419
2614
  user?: IUser;
2420
2615
  }
2421
2616
  /**
2422
- * A form field to collect declared data.
2617
+ * A space where an advertisement can be served.
2423
2618
  */
2424
- export interface IImpressionForm {
2619
+ export interface IImpressionAdSlot {
2425
2620
  /**
2426
2621
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2622
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2623
+ * @example "1.2.3"
2427
2624
  */
2428
2625
  catalogVersion: string;
2429
2626
  consents: IConsents;
2430
2627
  device: IDevice;
2431
2628
  /**
2432
2629
  * The unique identifier for the event.
2630
+ * @format uuid
2433
2631
  */
2434
2632
  eventId: string;
2435
2633
  /**
@@ -2437,11 +2635,80 @@ export interface IImpressionForm {
2437
2635
  */
2438
2636
  eventType: "Impression";
2439
2637
  experiments?: IExperiments;
2638
+ metrics?: IMetrics;
2440
2639
  object: {
2441
2640
  /**
2442
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2641
+ * Ad product name used by SMS.
2443
2642
  */
2444
- containerName: string;
2643
+ adFormat: string;
2644
+ /**
2645
+ * The size of the component.
2646
+ */
2647
+ elementSize: "XS" | "S" | "M" | "L" | "XL";
2648
+ /**
2649
+ * The name of the component.
2650
+ */
2651
+ name: string;
2652
+ /**
2653
+ * The unique ID for this component.
2654
+ */
2655
+ objectId: string;
2656
+ /**
2657
+ * The unique SDRN for this component.
2658
+ */
2659
+ objectSdrn: string;
2660
+ /**
2661
+ * The type of the object.
2662
+ */
2663
+ objectType: "AdSlot";
2664
+ };
2665
+ page: {
2666
+ content?: IContent;
2667
+ info: IPageRef;
2668
+ /**
2669
+ * The pageviewID.
2670
+ * @format uuid
2671
+ */
2672
+ pageviewId: string;
2673
+ referrer?: IPageRef;
2674
+ utm?: IUtmTags;
2675
+ };
2676
+ placement: IPlacement;
2677
+ provider: IProvider;
2678
+ /**
2679
+ * URL to the JSON schema for this event.
2680
+ * @format uri
2681
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2682
+ */
2683
+ schema: string;
2684
+ session: ISession;
2685
+ time: ITime;
2686
+ tracker: ITracker;
2687
+ user?: IUser;
2688
+ }
2689
+ /**
2690
+ * A form field to collect declared data.
2691
+ */
2692
+ export interface IImpressionForm {
2693
+ /**
2694
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2695
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2696
+ * @example "1.2.3"
2697
+ */
2698
+ catalogVersion: string;
2699
+ consents: IConsents;
2700
+ device: IDevice;
2701
+ /**
2702
+ * The unique identifier for the event.
2703
+ * @format uuid
2704
+ */
2705
+ eventId: string;
2706
+ /**
2707
+ * The type of the event.
2708
+ */
2709
+ eventType: "Impression";
2710
+ experiments?: IExperiments;
2711
+ object: {
2445
2712
  /**
2446
2713
  * The size of the component.
2447
2714
  */
@@ -2464,10 +2731,6 @@ export interface IImpressionForm {
2464
2731
  */
2465
2732
  required: boolean;
2466
2733
  }[];
2467
- /**
2468
- * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
2469
- */
2470
- foldPosition: "Above" | "Below" | "Unknown";
2471
2734
  /**
2472
2735
  * The name of the component.
2473
2736
  */
@@ -2490,14 +2753,27 @@ export interface IImpressionForm {
2490
2753
  info: IPageRef;
2491
2754
  /**
2492
2755
  * The pageviewID.
2756
+ * @format uuid
2493
2757
  */
2494
2758
  pageviewId: string;
2495
2759
  referrer?: IPageRef;
2496
2760
  utm?: IUtmTags;
2497
2761
  };
2762
+ placement: {
2763
+ /**
2764
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
2765
+ */
2766
+ containerName: string;
2767
+ /**
2768
+ * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
2769
+ */
2770
+ foldPosition: "Above" | "Below" | "Unknown";
2771
+ };
2498
2772
  provider: IProvider;
2499
2773
  /**
2500
2774
  * URL to the JSON schema for this event.
2775
+ * @format uri
2776
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2501
2777
  */
2502
2778
  schema: string;
2503
2779
  session: ISession;
@@ -2515,12 +2791,15 @@ export interface IImpressionForm {
2515
2791
  export interface IImpressionHealthUIElement {
2516
2792
  /**
2517
2793
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2794
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2795
+ * @example "1.2.3"
2518
2796
  */
2519
2797
  catalogVersion: string;
2520
2798
  consents: IConsents;
2521
2799
  device: IDevice;
2522
2800
  /**
2523
2801
  * The unique identifier for the event.
2802
+ * @format uuid
2524
2803
  */
2525
2804
  eventId: string;
2526
2805
  /**
@@ -2535,18 +2814,17 @@ export interface IImpressionHealthUIElement {
2535
2814
  object: {
2536
2815
  /**
2537
2816
  * The health category this content relates to.
2817
+ * @example "breakfast"
2538
2818
  */
2539
2819
  category?: string;
2540
- /**
2541
- * The parent container or page section where this content appears.
2542
- */
2543
- containerName?: string;
2544
2820
  /**
2545
2821
  * The specific type of health content being viewed.
2822
+ * @example "modal"
2546
2823
  */
2547
2824
  contentType: string;
2548
2825
  /**
2549
2826
  * Freeform custom properties with dynamic field names for health-specific data.
2827
+ * @additionalProperties true
2550
2828
  */
2551
2829
  custom?: {
2552
2830
  [k: string]: unknown;
@@ -2555,16 +2833,14 @@ export interface IImpressionHealthUIElement {
2555
2833
  * The size of the content element.
2556
2834
  */
2557
2835
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
2558
- /**
2559
- * Position relative to the fold or if it's an overlay element.
2560
- */
2561
- foldPosition?: "Above" | "Below" | "Overlay" | "Unknown";
2562
2836
  /**
2563
2837
  * The user intent or purpose of this event.
2838
+ * @example "log calories"
2564
2839
  */
2565
2840
  intent?: string;
2566
2841
  /**
2567
2842
  * The name/title of the health content element.
2843
+ * @example "Question quiz"
2568
2844
  */
2569
2845
  name: string;
2570
2846
  /**
@@ -2592,14 +2868,28 @@ export interface IImpressionHealthUIElement {
2592
2868
  info: IPageRef;
2593
2869
  /**
2594
2870
  * The pageviewID of the parent page.
2871
+ * @format uuid
2595
2872
  */
2596
2873
  pageviewId: string;
2597
2874
  referrer?: IPageRef;
2598
2875
  utm?: IUtmTags;
2599
2876
  };
2877
+ placement?: {
2878
+ /**
2879
+ * The parent container or page section where this content appears.
2880
+ * @example "Logbook"
2881
+ */
2882
+ containerName?: string;
2883
+ /**
2884
+ * Position relative to the fold or if it's an overlay element.
2885
+ */
2886
+ foldPosition?: "Above" | "Below" | "Overlay" | "Unknown";
2887
+ };
2600
2888
  provider: IProvider;
2601
2889
  /**
2602
2890
  * URL to the JSON schema for this event.
2891
+ * @format uri
2892
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2603
2893
  */
2604
2894
  schema: string;
2605
2895
  session: ISession;
@@ -2620,12 +2910,15 @@ export interface IImpressionHealthUIElement {
2620
2910
  export interface IImpressionNotification {
2621
2911
  /**
2622
2912
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2913
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2914
+ * @example "1.2.3"
2623
2915
  */
2624
2916
  catalogVersion: string;
2625
2917
  consents: IConsents;
2626
2918
  device: IDevice;
2627
2919
  /**
2628
2920
  * The unique identifier for the event.
2921
+ * @format uuid
2629
2922
  */
2630
2923
  eventId: string;
2631
2924
  /**
@@ -2672,6 +2965,8 @@ export interface IImpressionNotification {
2672
2965
  provider: IProvider;
2673
2966
  /**
2674
2967
  * URL to the JSON schema for this event.
2968
+ * @format uri
2969
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2675
2970
  */
2676
2971
  schema: string;
2677
2972
  session: ISession;
@@ -2689,12 +2984,15 @@ export interface IImpressionNotification {
2689
2984
  export interface IImpressionOffer {
2690
2985
  /**
2691
2986
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2987
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2988
+ * @example "1.2.3"
2692
2989
  */
2693
2990
  catalogVersion: string;
2694
2991
  consents: IConsents;
2695
2992
  device: IDevice;
2696
2993
  /**
2697
2994
  * The unique identifier for the event.
2995
+ * @format uuid
2698
2996
  */
2699
2997
  eventId: string;
2700
2998
  /**
@@ -2705,20 +3003,13 @@ export interface IImpressionOffer {
2705
3003
  object: {
2706
3004
  /**
2707
3005
  * The campaign associated with this offer.
3006
+ * @example "summer-sale"
2708
3007
  */
2709
3008
  campaign: string;
2710
- /**
2711
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2712
- */
2713
- containerName: string;
2714
3009
  /**
2715
3010
  * The size of the component.
2716
3011
  */
2717
3012
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
2718
- /**
2719
- * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
2720
- */
2721
- foldPosition: "Above" | "Below" | "Unknown";
2722
3013
  /**
2723
3014
  * The name of the component.
2724
3015
  */
@@ -2736,10 +3027,6 @@ export interface IImpressionOffer {
2736
3027
  */
2737
3028
  objectType: "Offer";
2738
3029
  offerCodes: string[];
2739
- /**
2740
- * The position where this offer was placed.
2741
- */
2742
- offerPlacement: string;
2743
3030
  /**
2744
3031
  * The variant/layout of the offer.
2745
3032
  */
@@ -2750,14 +3037,31 @@ export interface IImpressionOffer {
2750
3037
  info: IPageRef;
2751
3038
  /**
2752
3039
  * The pageviewID.
3040
+ * @format uuid
2753
3041
  */
2754
3042
  pageviewId: string;
2755
3043
  referrer?: IPageRef;
2756
3044
  utm?: IUtmTags;
2757
3045
  };
3046
+ placement: {
3047
+ /**
3048
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
3049
+ */
3050
+ containerName: string;
3051
+ /**
3052
+ * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
3053
+ */
3054
+ foldPosition: "Above" | "Below" | "Unknown";
3055
+ /**
3056
+ * The position where this offer was placed.
3057
+ */
3058
+ offerPlacement: string;
3059
+ };
2758
3060
  provider: IProvider;
2759
3061
  /**
2760
3062
  * URL to the JSON schema for this event.
3063
+ * @format uri
3064
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2761
3065
  */
2762
3066
  schema: string;
2763
3067
  session: ISession;
@@ -2775,12 +3079,15 @@ export interface IImpressionOffer {
2775
3079
  export interface IImpressionPlayer {
2776
3080
  /**
2777
3081
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3082
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3083
+ * @example "1.2.3"
2778
3084
  */
2779
3085
  catalogVersion: string;
2780
3086
  consents: IConsents;
2781
3087
  device: IDevice;
2782
3088
  /**
2783
3089
  * The unique identifier for the event.
3090
+ * @format uuid
2784
3091
  */
2785
3092
  eventId: string;
2786
3093
  /**
@@ -2790,18 +3097,10 @@ export interface IImpressionPlayer {
2790
3097
  experiments?: IExperiments;
2791
3098
  metrics?: IMetrics;
2792
3099
  object: {
2793
- /**
2794
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type)
2795
- */
2796
- containerName: string;
2797
3100
  /**
2798
3101
  * The size of the player.
2799
3102
  */
2800
3103
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
2801
- /**
2802
- * Indicator if the player was visible at pageload (“above”) or if the user had to scroll to it (“below”).
2803
- */
2804
- foldPosition: "Above" | "Below" | "Unknown";
2805
3104
  /**
2806
3105
  * The unique ID of the embedded asset (not ads from Xandr) ready to play in the player.
2807
3106
  */
@@ -2836,6 +3135,7 @@ export interface IImpressionPlayer {
2836
3135
  info: IPageRef;
2837
3136
  /**
2838
3137
  * The pageviewID.
3138
+ * @format uuid
2839
3139
  */
2840
3140
  pageviewId: string;
2841
3141
  referrer?: IPageRef;
@@ -2845,6 +3145,8 @@ export interface IImpressionPlayer {
2845
3145
  provider: IProvider;
2846
3146
  /**
2847
3147
  * URL to the JSON schema for this event.
3148
+ * @format uri
3149
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2848
3150
  */
2849
3151
  schema: string;
2850
3152
  session: ISession;
@@ -2858,12 +3160,15 @@ export interface IImpressionPlayer {
2858
3160
  export interface IImpressionTeaser {
2859
3161
  /**
2860
3162
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3163
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3164
+ * @example "1.2.3"
2861
3165
  */
2862
3166
  catalogVersion: string;
2863
3167
  consents: IConsents;
2864
3168
  device: IDevice;
2865
3169
  /**
2866
3170
  * The unique identifier for the event.
3171
+ * @format uuid
2867
3172
  */
2868
3173
  eventId: string;
2869
3174
  /**
@@ -2873,10 +3178,6 @@ export interface IImpressionTeaser {
2873
3178
  experiments?: IExperiments;
2874
3179
  metrics?: IMetrics;
2875
3180
  object: {
2876
- /**
2877
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2878
- */
2879
- containerName: string;
2880
3181
  /**
2881
3182
  * The engine producing this teaser. Use “editorial” for manually curated item.
2882
3183
  */
@@ -2889,10 +3190,6 @@ export interface IImpressionTeaser {
2889
3190
  * The size of the component.
2890
3191
  */
2891
3192
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
2892
- /**
2893
- * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
2894
- */
2895
- foldPosition: "Above" | "Below" | "Unknown";
2896
3193
  /**
2897
3194
  * The name of the component.
2898
3195
  */
@@ -2909,10 +3206,6 @@ export interface IImpressionTeaser {
2909
3206
  * The type of the object.
2910
3207
  */
2911
3208
  objectType: "Teaser";
2912
- /**
2913
- * The parent’s primary direction along which components are laid out.
2914
- */
2915
- primaryAxis: "Horizontal" | "Vertical";
2916
3209
  /**
2917
3210
  * The title of the teaser.
2918
3211
  */
@@ -2923,6 +3216,7 @@ export interface IImpressionTeaser {
2923
3216
  info: IPageRef;
2924
3217
  /**
2925
3218
  * The pageviewID.
3219
+ * @format uuid
2926
3220
  */
2927
3221
  pageviewId: string;
2928
3222
  referrer?: IPageRef;
@@ -2932,6 +3226,8 @@ export interface IImpressionTeaser {
2932
3226
  provider: IProvider;
2933
3227
  /**
2934
3228
  * URL to the JSON schema for this event.
3229
+ * @format uri
3230
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2935
3231
  */
2936
3232
  schema: string;
2937
3233
  session: ISession;
@@ -2949,12 +3245,15 @@ export interface IImpressionTeaser {
2949
3245
  export interface IImpressionUIElement {
2950
3246
  /**
2951
3247
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3248
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3249
+ * @example "1.2.3"
2952
3250
  */
2953
3251
  catalogVersion: string;
2954
3252
  consents: IConsents;
2955
3253
  device: IDevice;
2956
3254
  /**
2957
3255
  * The unique identifier for the event.
3256
+ * @format uuid
2958
3257
  */
2959
3258
  eventId: string;
2960
3259
  /**
@@ -2963,10 +3262,6 @@ export interface IImpressionUIElement {
2963
3262
  eventType: "Impression";
2964
3263
  experiments?: IExperiments;
2965
3264
  object: {
2966
- /**
2967
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2968
- */
2969
- containerName: string;
2970
3265
  /**
2971
3266
  * The size of the component.
2972
3267
  */
@@ -2979,10 +3274,6 @@ export interface IImpressionUIElement {
2979
3274
  * The type of UIElement (div, span, a, …).
2980
3275
  */
2981
3276
  elementType: string;
2982
- /**
2983
- * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
2984
- */
2985
- foldPosition: "Above" | "Below" | "Unknown";
2986
3277
  /**
2987
3278
  * The name of the component.
2988
3279
  */
@@ -3009,14 +3300,27 @@ export interface IImpressionUIElement {
3009
3300
  info: IPageRef;
3010
3301
  /**
3011
3302
  * The pageviewID.
3303
+ * @format uuid
3012
3304
  */
3013
3305
  pageviewId: string;
3014
3306
  referrer?: IPageRef;
3015
3307
  utm?: IUtmTags;
3016
3308
  };
3309
+ placement: {
3310
+ /**
3311
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
3312
+ */
3313
+ containerName: string;
3314
+ /**
3315
+ * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
3316
+ */
3317
+ foldPosition: "Above" | "Below" | "Unknown";
3318
+ };
3017
3319
  provider: IProvider;
3018
3320
  /**
3019
3321
  * URL to the JSON schema for this event.
3322
+ * @format uri
3323
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3020
3324
  */
3021
3325
  schema: string;
3022
3326
  session: ISession;
@@ -3034,12 +3338,15 @@ export interface IImpressionUIElement {
3034
3338
  export interface IImpressionWidget {
3035
3339
  /**
3036
3340
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3341
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3342
+ * @example "1.2.3"
3037
3343
  */
3038
3344
  catalogVersion: string;
3039
3345
  consents: IConsents;
3040
3346
  device: IDevice;
3041
3347
  /**
3042
3348
  * The unique identifier for the event.
3349
+ * @format uuid
3043
3350
  */
3044
3351
  eventId: string;
3045
3352
  /**
@@ -3049,18 +3356,10 @@ export interface IImpressionWidget {
3049
3356
  experiments?: IExperiments;
3050
3357
  metrics?: IMetrics;
3051
3358
  object: {
3052
- /**
3053
- * The closest parent container used for traffic attribution. When in doubt use “page”.
3054
- */
3055
- containerName: string;
3056
3359
  /**
3057
3360
  * The size of the component.
3058
3361
  */
3059
3362
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
3060
- /**
3061
- * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
3062
- */
3063
- foldPosition: "Above" | "Below" | "Unknown";
3064
3363
  /**
3065
3364
  * The name of the component.
3066
3365
  */
@@ -3077,16 +3376,13 @@ export interface IImpressionWidget {
3077
3376
  * The type of the object.
3078
3377
  */
3079
3378
  objectType: "Widget";
3080
- /**
3081
- * The parent’s primary direction along which components are laid out.
3082
- */
3083
- primaryAxis: "Horizontal" | "Vertical";
3084
3379
  };
3085
3380
  page: {
3086
3381
  content?: IContent;
3087
3382
  info: IPageRef;
3088
3383
  /**
3089
3384
  * The pageviewID.
3385
+ * @format uuid
3090
3386
  */
3091
3387
  pageviewId: string;
3092
3388
  referrer?: IPageRef;
@@ -3096,6 +3392,8 @@ export interface IImpressionWidget {
3096
3392
  provider: IProvider;
3097
3393
  /**
3098
3394
  * URL to the JSON schema for this event.
3395
+ * @format uri
3396
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3099
3397
  */
3100
3398
  schema: string;
3101
3399
  session: ISession;
@@ -3113,6 +3411,8 @@ export interface IImpressionWidget {
3113
3411
  export interface IInternalAccessDecision {
3114
3412
  /**
3115
3413
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3414
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3415
+ * @example "1.2.3"
3116
3416
  */
3117
3417
  catalogVersion: string;
3118
3418
  consents: IConsents;
@@ -3140,6 +3440,7 @@ export interface IInternalAccessDecision {
3140
3440
  };
3141
3441
  /**
3142
3442
  * The unique identifier for the event.
3443
+ * @format uuid
3143
3444
  */
3144
3445
  eventId: string;
3145
3446
  /**
@@ -3163,6 +3464,10 @@ export interface IInternalAccessDecision {
3163
3464
  config: {
3164
3465
  armId: string;
3165
3466
  version: string;
3467
+ /**
3468
+ * @minimum 0
3469
+ * @maximum 1
3470
+ */
3166
3471
  weight: number;
3167
3472
  }[];
3168
3473
  /**
@@ -3171,15 +3476,18 @@ export interface IInternalAccessDecision {
3171
3476
  configId: string;
3172
3477
  /**
3173
3478
  * End time of the arm assignment in UTC.
3479
+ * @format date-time
3174
3480
  */
3175
3481
  endAt: string;
3176
3482
  /**
3177
3483
  * Start time of the arm assignment in UTC.
3484
+ * @format date-time
3178
3485
  */
3179
3486
  startAt: string;
3180
3487
  };
3181
3488
  /**
3182
3489
  * When the decision system created the decision in UTC.
3490
+ * @format date-time
3183
3491
  */
3184
3492
  decidedAt: string;
3185
3493
  /**
@@ -3197,10 +3505,11 @@ export interface IInternalAccessDecision {
3197
3505
  /**
3198
3506
  * Categorization of how the decision was made.
3199
3507
  */
3200
- decisionType: "RCT" | "Policy" | "Replay" | "Fallback";
3508
+ decisionType: "Policy" | "Replay" | "Fallback";
3201
3509
  episode: {
3202
3510
  /**
3203
3511
  * End time of the episode in UTC.
3512
+ * @format date-time
3204
3513
  */
3205
3514
  endAt: string;
3206
3515
  /**
@@ -3209,6 +3518,7 @@ export interface IInternalAccessDecision {
3209
3518
  episodeId: string;
3210
3519
  /**
3211
3520
  * Start time of the episode in UTC.
3521
+ * @format date-time
3212
3522
  */
3213
3523
  startAt: string;
3214
3524
  };
@@ -3227,6 +3537,8 @@ export interface IInternalAccessDecision {
3227
3537
  provider: IProvider;
3228
3538
  /**
3229
3539
  * URL to the JSON schema for this event.
3540
+ * @format uri
3541
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3230
3542
  */
3231
3543
  schema: string;
3232
3544
  target: {
@@ -3269,10 +3581,13 @@ export interface IInternalAccessDecision {
3269
3581
  export interface IInternalProbe {
3270
3582
  /**
3271
3583
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3584
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3585
+ * @example "1.2.3"
3272
3586
  */
3273
3587
  catalogVersion: string;
3274
3588
  /**
3275
3589
  * The unique identifier for the event.
3590
+ * @format uuid
3276
3591
  */
3277
3592
  eventId: string;
3278
3593
  /**
@@ -3288,6 +3603,8 @@ export interface IInternalProbe {
3288
3603
  provider: IProvider;
3289
3604
  /**
3290
3605
  * URL to the JSON schema for this event.
3606
+ * @format uri
3607
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3291
3608
  */
3292
3609
  schema: string;
3293
3610
  /**
@@ -3306,12 +3623,15 @@ export interface IInternalProbe {
3306
3623
  export interface ILaunchApp {
3307
3624
  /**
3308
3625
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3626
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3627
+ * @example "1.2.3"
3309
3628
  */
3310
3629
  catalogVersion: string;
3311
3630
  consents: IConsents;
3312
3631
  device: IDevice;
3313
3632
  /**
3314
3633
  * The unique identifier for the event.
3634
+ * @format uuid
3315
3635
  */
3316
3636
  eventId: string;
3317
3637
  /**
@@ -3321,6 +3641,9 @@ export interface ILaunchApp {
3321
3641
  experiments?: IExperiments;
3322
3642
  metrics?: IMetrics;
3323
3643
  object: {
3644
+ /**
3645
+ * @additionalProperties true
3646
+ */
3324
3647
  custom: {
3325
3648
  [k: string]: unknown;
3326
3649
  };
@@ -3332,6 +3655,8 @@ export interface ILaunchApp {
3332
3655
  provider: IProvider;
3333
3656
  /**
3334
3657
  * URL to the JSON schema for this event.
3658
+ * @format uri
3659
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3335
3660
  */
3336
3661
  schema: string;
3337
3662
  session: ISession;
@@ -3351,14 +3676,18 @@ export interface ILaunchApp {
3351
3676
  export interface ILeave {
3352
3677
  /**
3353
3678
  * The total active time a user spends on the page in milliseconds. Active implies a timespan of less than 30 sec since triggering one of the following browser events(On web): 'mousedown', 'mousemove', 'keydown', 'scroll', 'touchstart'.
3679
+ * @exclusiveMinimum 0
3354
3680
  */
3355
3681
  activityDurationMs: number;
3356
3682
  /**
3357
3683
  * The total time the user spent on the page in milliseconds.
3684
+ * @exclusiveMinimum 0
3358
3685
  */
3359
3686
  durationMs: number;
3360
3687
  /**
3361
3688
  * The maximum relative scroll position of the article when the user leaves it.
3689
+ * @minimum 0
3690
+ * @maximum 1
3362
3691
  */
3363
3692
  maxObjectViewPercentage: number;
3364
3693
  /**
@@ -3367,10 +3696,14 @@ export interface ILeave {
3367
3696
  maxPageScrollPosition: number;
3368
3697
  /**
3369
3698
  * The maximum relative scroll position of the page when the user leaves it.
3699
+ * @minimum 0
3700
+ * @maximum 1
3370
3701
  */
3371
3702
  maxPageViewPercentage: number;
3372
3703
  /**
3373
3704
  * The relative scroll position of the article when the user leaves it.
3705
+ * @minimum 0
3706
+ * @maximum 1
3374
3707
  */
3375
3708
  objectViewPercentage: number;
3376
3709
  /**
@@ -3379,6 +3712,8 @@ export interface ILeave {
3379
3712
  pageScrollPosition: number;
3380
3713
  /**
3381
3714
  * The relative scroll position of the page when the user leaves it.
3715
+ * @minimum 0
3716
+ * @maximum 1
3382
3717
  */
3383
3718
  pageViewPercentage: number;
3384
3719
  }
@@ -3388,12 +3723,15 @@ export interface ILeave {
3388
3723
  export interface ILeaveArticle {
3389
3724
  /**
3390
3725
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3726
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3727
+ * @example "1.2.3"
3391
3728
  */
3392
3729
  catalogVersion: string;
3393
3730
  consents: IConsents;
3394
3731
  device: IDevice;
3395
3732
  /**
3396
3733
  * Event ID
3734
+ * @format uuid
3397
3735
  */
3398
3736
  eventId: string;
3399
3737
  /**
@@ -3402,7 +3740,9 @@ export interface ILeaveArticle {
3402
3740
  eventType: "Leave";
3403
3741
  experiments?: IExperiments;
3404
3742
  leave: ILeave;
3743
+ metrics?: IMetrics;
3405
3744
  object: {
3745
+ authors: string[];
3406
3746
  /**
3407
3747
  * The editorial category of this article.
3408
3748
  */
@@ -3413,10 +3753,12 @@ export interface ILeaveArticle {
3413
3753
  isStacked: boolean;
3414
3754
  /**
3415
3755
  * The publication date of this version of the article.
3756
+ * @format date-time
3416
3757
  */
3417
3758
  lastUpdatedDate: string;
3418
3759
  /**
3419
3760
  * The newsroom that published the article.
3761
+ * @example "vg"
3420
3762
  */
3421
3763
  newsroom: string;
3422
3764
  /**
@@ -3433,20 +3775,35 @@ export interface ILeaveArticle {
3433
3775
  objectType: "Article";
3434
3776
  /**
3435
3777
  * The publication date of the article.
3778
+ * @format date-time
3436
3779
  */
3437
3780
  publicationDate: string;
3781
+ /**
3782
+ * The name of the company that sponsored the article. Empty if the article was not sponsored.
3783
+ */
3784
+ sponsor?: string;
3438
3785
  /**
3439
3786
  * The title of the page.
3440
3787
  */
3441
3788
  title: string;
3789
+ /**
3790
+ * Url of the article top or when missing article main image.
3791
+ */
3792
+ topImageUrl?: string;
3442
3793
  /**
3443
3794
  * The type of article.
3444
3795
  */
3445
3796
  variant: "Article" | "LiveArticle" | "Special";
3446
3797
  /**
3447
3798
  * The version counter of the article.
3799
+ * @minimum 0
3448
3800
  */
3449
3801
  versionCounter: number;
3802
+ /**
3803
+ * The number of words in this version of the article.
3804
+ * @exclusiveMinimum 0
3805
+ */
3806
+ wordCount: number;
3450
3807
  };
3451
3808
  page: {
3452
3809
  content: IContent;
@@ -3457,6 +3814,7 @@ export interface ILeaveArticle {
3457
3814
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
3458
3815
  /**
3459
3816
  * The pageviewID.
3817
+ * @format uuid
3460
3818
  */
3461
3819
  pageviewId: string;
3462
3820
  referrer?: IPageRef;
@@ -3465,6 +3823,8 @@ export interface ILeaveArticle {
3465
3823
  provider: IProvider;
3466
3824
  /**
3467
3825
  * The schema of the event.
3826
+ * @format uri
3827
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3468
3828
  */
3469
3829
  schema: string;
3470
3830
  session: ISession;
@@ -3481,6 +3841,7 @@ export interface ILeaveArticle {
3481
3841
  export interface ILeaveAudio {
3482
3842
  /**
3483
3843
  * The total active time a user spends on the page in milliseconds. Active implies a timespan of less than 30 sec since triggering one of the following browser events(On web): 'mousedown', 'mousemove', 'keydown', 'scroll', 'touchstart'.
3844
+ * @exclusiveMinimum 0
3484
3845
  */
3485
3846
  activityDurationMs: number;
3486
3847
  /**
@@ -3493,6 +3854,7 @@ export interface ILeaveAudio {
3493
3854
  audioStarted: number;
3494
3855
  /**
3495
3856
  * The total time the user spent on the page in milliseconds.
3857
+ * @exclusiveMinimum 0
3496
3858
  */
3497
3859
  durationMs: number;
3498
3860
  /**
@@ -3501,6 +3863,8 @@ export interface ILeaveAudio {
3501
3863
  maxPlaylistPosition?: number;
3502
3864
  /**
3503
3865
  * How far the user came into the playlist shown in percentage.
3866
+ * @minimum 0
3867
+ * @maximum 1
3504
3868
  */
3505
3869
  playlistPositionPercentage?: number;
3506
3870
  }
@@ -3510,12 +3874,15 @@ export interface ILeaveAudio {
3510
3874
  export interface ILeaveAudioPage {
3511
3875
  /**
3512
3876
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3877
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3878
+ * @example "1.2.3"
3513
3879
  */
3514
3880
  catalogVersion: string;
3515
3881
  consents: IConsents;
3516
3882
  device: IDevice;
3517
3883
  /**
3518
3884
  * The unique identifier for the event.
3885
+ * @format uuid
3519
3886
  */
3520
3887
  eventId: string;
3521
3888
  /**
@@ -3554,6 +3921,7 @@ export interface ILeaveAudioPage {
3554
3921
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3555
3922
  /**
3556
3923
  * The pageviewID.
3924
+ * @format uuid
3557
3925
  */
3558
3926
  pageviewId: string;
3559
3927
  referrer?: IPageRef;
@@ -3562,6 +3930,8 @@ export interface ILeaveAudioPage {
3562
3930
  provider: IProvider;
3563
3931
  /**
3564
3932
  * URL to the JSON schema for this event.
3933
+ * @format uri
3934
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3565
3935
  */
3566
3936
  schema: string;
3567
3937
  session: ISession;
@@ -3575,12 +3945,15 @@ export interface ILeaveAudioPage {
3575
3945
  export interface ILeaveError {
3576
3946
  /**
3577
3947
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3948
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3949
+ * @example "1.2.3"
3578
3950
  */
3579
3951
  catalogVersion: string;
3580
3952
  consents: IConsents;
3581
3953
  device: IDevice;
3582
3954
  /**
3583
3955
  * Event ID
3956
+ * @format uuid
3584
3957
  */
3585
3958
  eventId: string;
3586
3959
  /**
@@ -3596,10 +3969,12 @@ export interface ILeaveError {
3596
3969
  category?: string;
3597
3970
  /**
3598
3971
  * The response code of the page.
3972
+ * @example 418
3599
3973
  */
3600
3974
  errorCode: number;
3601
3975
  /**
3602
3976
  * The error message.
3977
+ * @example "I'm a teapot"
3603
3978
  */
3604
3979
  errorMessage: string;
3605
3980
  /**
@@ -3627,6 +4002,7 @@ export interface ILeaveError {
3627
4002
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
3628
4003
  /**
3629
4004
  * The pageviewID.
4005
+ * @format uuid
3630
4006
  */
3631
4007
  pageviewId: string;
3632
4008
  referrer?: IPageRef;
@@ -3635,6 +4011,8 @@ export interface ILeaveError {
3635
4011
  provider: IProvider;
3636
4012
  /**
3637
4013
  * The schema of the event.
4014
+ * @format uri
4015
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3638
4016
  */
3639
4017
  schema: string;
3640
4018
  session: ISession;
@@ -3648,12 +4026,15 @@ export interface ILeaveError {
3648
4026
  export interface ILeaveFrontpage {
3649
4027
  /**
3650
4028
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4029
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4030
+ * @example "1.2.3"
3651
4031
  */
3652
4032
  catalogVersion: string;
3653
4033
  consents: IConsents;
3654
4034
  device: IDevice;
3655
4035
  /**
3656
4036
  * Event ID
4037
+ * @format uuid
3657
4038
  */
3658
4039
  eventId: string;
3659
4040
  /**
@@ -3662,11 +4043,8 @@ export interface ILeaveFrontpage {
3662
4043
  eventType: "Leave";
3663
4044
  experiments?: IExperiments;
3664
4045
  leave: ILeave;
4046
+ metrics?: IMetrics;
3665
4047
  object: {
3666
- /**
3667
- * The location of the page in the brand’s page hierarchy.
3668
- */
3669
- category?: string;
3670
4048
  /**
3671
4049
  * The engine producing this listing. Use “editorial” for manually curated lists.
3672
4050
  */
@@ -3677,6 +4055,7 @@ export interface ILeaveFrontpage {
3677
4055
  isInfinite: boolean;
3678
4056
  /**
3679
4057
  * The total number of items in the listing, or -1 if unknown.
4058
+ * @minimum -1
3680
4059
  */
3681
4060
  itemsTotal: number;
3682
4061
  /**
@@ -3691,10 +4070,6 @@ export interface ILeaveFrontpage {
3691
4070
  * The type of this page.
3692
4071
  */
3693
4072
  objectType: "Frontpage";
3694
- /**
3695
- * Indicates how results are sorted. Use “editorial” for manually curated lists.
3696
- */
3697
- sortingMethod: "Time" | "Editorial" | "Relevance" | "Alphabetical";
3698
4073
  /**
3699
4074
  * The title of the page.
3700
4075
  */
@@ -3708,6 +4083,7 @@ export interface ILeaveFrontpage {
3708
4083
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3709
4084
  /**
3710
4085
  * The pageviewID.
4086
+ * @format uuid
3711
4087
  */
3712
4088
  pageviewId: string;
3713
4089
  referrer?: IPageRef;
@@ -3716,6 +4092,8 @@ export interface ILeaveFrontpage {
3716
4092
  provider: IProvider;
3717
4093
  /**
3718
4094
  * The schema of the event.
4095
+ * @format uri
4096
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3719
4097
  */
3720
4098
  schema: string;
3721
4099
  session: ISession;
@@ -3729,12 +4107,15 @@ export interface ILeaveFrontpage {
3729
4107
  export interface ILeaveLandingpage {
3730
4108
  /**
3731
4109
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4110
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4111
+ * @example "1.2.3"
3732
4112
  */
3733
4113
  catalogVersion: string;
3734
4114
  consents: IConsents;
3735
4115
  device: IDevice;
3736
4116
  /**
3737
4117
  * Event ID
4118
+ * @format uuid
3738
4119
  */
3739
4120
  eventId: string;
3740
4121
  /**
@@ -3746,6 +4127,7 @@ export interface ILeaveLandingpage {
3746
4127
  object: {
3747
4128
  /**
3748
4129
  * The name of the landing page campaign.
4130
+ * @example "summer-sale"
3749
4131
  */
3750
4132
  campaign?: string;
3751
4133
  /**
@@ -3777,6 +4159,7 @@ export interface ILeaveLandingpage {
3777
4159
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3778
4160
  /**
3779
4161
  * The pageviewID.
4162
+ * @format uuid
3780
4163
  */
3781
4164
  pageviewId: string;
3782
4165
  referrer?: IPageRef;
@@ -3785,6 +4168,8 @@ export interface ILeaveLandingpage {
3785
4168
  provider: IProvider;
3786
4169
  /**
3787
4170
  * The schema of the event.
4171
+ * @format uri
4172
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3788
4173
  */
3789
4174
  schema: string;
3790
4175
  session: ISession;
@@ -3798,12 +4183,15 @@ export interface ILeaveLandingpage {
3798
4183
  export interface ILeaveListing {
3799
4184
  /**
3800
4185
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4186
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4187
+ * @example "1.2.3"
3801
4188
  */
3802
4189
  catalogVersion: string;
3803
4190
  consents: IConsents;
3804
4191
  device: IDevice;
3805
4192
  /**
3806
4193
  * Event ID
4194
+ * @format uuid
3807
4195
  */
3808
4196
  eventId: string;
3809
4197
  /**
@@ -3812,9 +4200,11 @@ export interface ILeaveListing {
3812
4200
  eventType: "Leave";
3813
4201
  experiments?: IExperiments;
3814
4202
  leave: ILeave;
4203
+ metrics?: IMetrics;
3815
4204
  object: {
3816
4205
  /**
3817
4206
  * The location of the page in the brand’s page hierarchy.
4207
+ * @pattern ^[a-z0-9-]+(>[a-z0-9-]+)*$
3818
4208
  */
3819
4209
  category?: string;
3820
4210
  /**
@@ -3827,10 +4217,12 @@ export interface ILeaveListing {
3827
4217
  isInfinite: boolean;
3828
4218
  /**
3829
4219
  * The total number of items in the listing, or -1 if unknown.
4220
+ * @minimum -1
3830
4221
  */
3831
4222
  itemsTotal: number;
3832
4223
  /**
3833
4224
  * The type of listing page, e.g. 'tag', 'section' etc.
4225
+ * @pattern Tag,Story,Section,Search,Author,Other
3834
4226
  */
3835
4227
  listingType: string;
3836
4228
  /**
@@ -3847,6 +4239,7 @@ export interface ILeaveListing {
3847
4239
  objectType: "Listing";
3848
4240
  /**
3849
4241
  * Current pagination index. Zero if results are not paged.
4242
+ * @minimum 0
3850
4243
  */
3851
4244
  pageNumber: number;
3852
4245
  /**
@@ -3866,6 +4259,7 @@ export interface ILeaveListing {
3866
4259
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3867
4260
  /**
3868
4261
  * The pageviewID.
4262
+ * @format uuid
3869
4263
  */
3870
4264
  pageviewId: string;
3871
4265
  referrer?: IPageRef;
@@ -3874,6 +4268,8 @@ export interface ILeaveListing {
3874
4268
  provider: IProvider;
3875
4269
  /**
3876
4270
  * The schema of the event.
4271
+ * @format uri
4272
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3877
4273
  */
3878
4274
  schema: string;
3879
4275
  session: ISession;
@@ -3887,12 +4283,15 @@ export interface ILeaveListing {
3887
4283
  export interface ILeaveLockedArticle {
3888
4284
  /**
3889
4285
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4286
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4287
+ * @example "1.2.3"
3890
4288
  */
3891
4289
  catalogVersion: string;
3892
4290
  consents: IConsents;
3893
4291
  device: IDevice;
3894
4292
  /**
3895
4293
  * Event ID
4294
+ * @format uuid
3896
4295
  */
3897
4296
  eventId: string;
3898
4297
  /**
@@ -3901,7 +4300,9 @@ export interface ILeaveLockedArticle {
3901
4300
  eventType: "Leave";
3902
4301
  experiments?: IExperiments;
3903
4302
  leave: ILeave;
4303
+ metrics?: IMetrics;
3904
4304
  object: {
4305
+ authors: string[];
3905
4306
  /**
3906
4307
  * The location of the page in the brand’s page hierarchy.
3907
4308
  */
@@ -3912,10 +4313,12 @@ export interface ILeaveLockedArticle {
3912
4313
  isStacked: boolean;
3913
4314
  /**
3914
4315
  * The publication date of this version of the article.
4316
+ * @format date-time
3915
4317
  */
3916
4318
  lastUpdatedDate: string;
3917
4319
  /**
3918
4320
  * The newsroom that published the article.
4321
+ * @example "vg"
3919
4322
  */
3920
4323
  newsroom: string;
3921
4324
  /**
@@ -3940,20 +4343,35 @@ export interface ILeaveLockedArticle {
3940
4343
  paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
3941
4344
  /**
3942
4345
  * The publication date of the article.
4346
+ * @format date-time
3943
4347
  */
3944
4348
  publicationDate: string;
4349
+ /**
4350
+ * The name of the company that sponsored the article. Omitted if the article was not sponsored.
4351
+ */
4352
+ sponsor?: string;
3945
4353
  /**
3946
4354
  * The title of the page.
3947
4355
  */
3948
4356
  title: string;
4357
+ /**
4358
+ * Url of the article top or when missing article main image.
4359
+ */
4360
+ topImageUrl?: string;
3949
4361
  /**
3950
4362
  * The type of article.
3951
4363
  */
3952
4364
  variant: "Article" | "LiveArticle" | "Special";
3953
4365
  /**
3954
4366
  * The version counter of the article.
4367
+ * @minimum 0
3955
4368
  */
3956
4369
  versionCounter: number;
4370
+ /**
4371
+ * The number of words in this version of the article.
4372
+ * @exclusiveMinimum 0
4373
+ */
4374
+ wordCount: number;
3957
4375
  };
3958
4376
  page: {
3959
4377
  content: IContent;
@@ -3964,6 +4382,7 @@ export interface ILeaveLockedArticle {
3964
4382
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
3965
4383
  /**
3966
4384
  * The pageviewID.
4385
+ * @format uuid
3967
4386
  */
3968
4387
  pageviewId: string;
3969
4388
  referrer?: IPageRef;
@@ -3972,6 +4391,8 @@ export interface ILeaveLockedArticle {
3972
4391
  provider: IProvider;
3973
4392
  /**
3974
4393
  * The schema of the event.
4394
+ * @format uri
4395
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3975
4396
  */
3976
4397
  schema: string;
3977
4398
  session: ISession;
@@ -3985,12 +4406,15 @@ export interface ILeaveLockedArticle {
3985
4406
  export interface ILeaveLockedAudioPage {
3986
4407
  /**
3987
4408
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4409
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4410
+ * @example "1.2.3"
3988
4411
  */
3989
4412
  catalogVersion: string;
3990
4413
  consents: IConsents;
3991
4414
  device: IDevice;
3992
4415
  /**
3993
4416
  * The unique identifier for the event.
4417
+ * @format uuid
3994
4418
  */
3995
4419
  eventId: string;
3996
4420
  /**
@@ -4039,6 +4463,7 @@ export interface ILeaveLockedAudioPage {
4039
4463
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4040
4464
  /**
4041
4465
  * The pageviewID.
4466
+ * @format uuid
4042
4467
  */
4043
4468
  pageviewId: string;
4044
4469
  referrer?: IPageRef;
@@ -4047,6 +4472,8 @@ export interface ILeaveLockedAudioPage {
4047
4472
  provider: IProvider;
4048
4473
  /**
4049
4474
  * URL to the JSON schema for this event.
4475
+ * @format uri
4476
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4050
4477
  */
4051
4478
  schema: string;
4052
4479
  session: ISession;
@@ -4060,12 +4487,15 @@ export interface ILeaveLockedAudioPage {
4060
4487
  export interface ILeaveLockedVideoPage {
4061
4488
  /**
4062
4489
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4490
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4491
+ * @example "1.2.3"
4063
4492
  */
4064
4493
  catalogVersion: string;
4065
4494
  consents: IConsents;
4066
4495
  device: IDevice;
4067
4496
  /**
4068
4497
  * The unique identifier for the event.
4498
+ * @format uuid
4069
4499
  */
4070
4500
  eventId: string;
4071
4501
  /**
@@ -4114,6 +4544,7 @@ export interface ILeaveLockedVideoPage {
4114
4544
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4115
4545
  /**
4116
4546
  * The pageviewID.
4547
+ * @format uuid
4117
4548
  */
4118
4549
  pageviewId: string;
4119
4550
  referrer?: IPageRef;
@@ -4122,6 +4553,8 @@ export interface ILeaveLockedVideoPage {
4122
4553
  provider: IProvider;
4123
4554
  /**
4124
4555
  * URL to the JSON schema for this event.
4556
+ * @format uri
4557
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4125
4558
  */
4126
4559
  schema: string;
4127
4560
  session: ISession;
@@ -4135,12 +4568,15 @@ export interface ILeaveLockedVideoPage {
4135
4568
  export interface ILeavePage {
4136
4569
  /**
4137
4570
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4571
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4572
+ * @example "1.2.3"
4138
4573
  */
4139
4574
  catalogVersion: string;
4140
4575
  consents: IConsents;
4141
4576
  device: IDevice;
4142
4577
  /**
4143
4578
  * Event ID
4579
+ * @format uuid
4144
4580
  */
4145
4581
  eventId: string;
4146
4582
  /**
@@ -4149,6 +4585,7 @@ export interface ILeavePage {
4149
4585
  eventType: "Leave";
4150
4586
  experiments?: IExperiments;
4151
4587
  leave: ILeave;
4588
+ metrics?: IMetrics;
4152
4589
  object: {
4153
4590
  /**
4154
4591
  * The location of the page in the brand’s page hierarchy.
@@ -4174,6 +4611,7 @@ export interface ILeavePage {
4174
4611
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4175
4612
  /**
4176
4613
  * The pageviewID.
4614
+ * @format uuid
4177
4615
  */
4178
4616
  pageviewId: string;
4179
4617
  referrer?: IPageRef;
@@ -4182,6 +4620,8 @@ export interface ILeavePage {
4182
4620
  provider: IProvider;
4183
4621
  /**
4184
4622
  * The schema of the event.
4623
+ * @format uri
4624
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4185
4625
  */
4186
4626
  schema: string;
4187
4627
  session: ISession;
@@ -4210,6 +4650,7 @@ export interface ISports {
4210
4650
  competitionId?: string;
4211
4651
  /**
4212
4652
  * Name of the competition.
4653
+ * @example "Premier League"
4213
4654
  */
4214
4655
  competitionName?: string;
4215
4656
  /**
@@ -4218,6 +4659,7 @@ export interface ISports {
4218
4659
  competitionSeasonId?: number;
4219
4660
  /**
4220
4661
  * Name of the competition season.
4662
+ * @example "Premier League 2025/2026"
4221
4663
  */
4222
4664
  competitionSeasonName?: string;
4223
4665
  /**
@@ -4238,10 +4680,12 @@ export interface ISports {
4238
4680
  sportEventCoverage?: "Manual" | "SemiAutomatic" | "Automatic" | "AI";
4239
4681
  /**
4240
4682
  * Date (yyyy-mm-dd) of the sport event.
4683
+ * @format date
4241
4684
  */
4242
4685
  sportEventDate?: string;
4243
4686
  /**
4244
4687
  * Timestamp of when the sport event starts.
4688
+ * @format date-time
4245
4689
  */
4246
4690
  sportEventDatetime?: string;
4247
4691
  /**
@@ -4274,6 +4718,7 @@ export interface ISports {
4274
4718
  teamId?: number;
4275
4719
  /**
4276
4720
  * Name of the team.
4721
+ * @example "Manchester United"
4277
4722
  */
4278
4723
  teamName?: string;
4279
4724
  /**
@@ -4307,12 +4752,15 @@ export interface ISports {
4307
4752
  export interface ILeaveSportsPage {
4308
4753
  /**
4309
4754
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4755
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4756
+ * @example "1.2.3"
4310
4757
  */
4311
4758
  catalogVersion: string;
4312
4759
  consents: IConsents;
4313
4760
  device: IDevice;
4314
4761
  /**
4315
4762
  * The unique identifier for the event.
4763
+ * @format uuid
4316
4764
  */
4317
4765
  eventId: string;
4318
4766
  /**
@@ -4354,6 +4802,7 @@ export interface ILeaveSportsPage {
4354
4802
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4355
4803
  /**
4356
4804
  * The pageviewID.
4805
+ * @format uuid
4357
4806
  */
4358
4807
  pageviewId: string;
4359
4808
  referrer?: IPageRef;
@@ -4362,6 +4811,8 @@ export interface ILeaveSportsPage {
4362
4811
  provider: IProvider;
4363
4812
  /**
4364
4813
  * URL to the JSON schema for this event.
4814
+ * @format uri
4815
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4365
4816
  */
4366
4817
  schema: string;
4367
4818
  session: ISession;
@@ -4381,6 +4832,7 @@ export interface ILeaveSportsPage {
4381
4832
  export interface ILeaveStories {
4382
4833
  /**
4383
4834
  * The total active time a user spends on the page in milliseconds. Active implies a timespan of less than 30 sec since triggering one of the following browser events(On web): 'mousedown', 'mousemove', 'keydown', 'scroll', 'touchstart'.
4835
+ * @exclusiveMinimum 0
4384
4836
  */
4385
4837
  activityDurationMs: number;
4386
4838
  /**
@@ -4389,6 +4841,7 @@ export interface ILeaveStories {
4389
4841
  adCount: number;
4390
4842
  /**
4391
4843
  * The total time the user spent on the page in milliseconds.
4844
+ * @exclusiveMinimum 0
4392
4845
  */
4393
4846
  durationMs: number;
4394
4847
  /**
@@ -4397,6 +4850,8 @@ export interface ILeaveStories {
4397
4850
  maxPlaylistPosition: number;
4398
4851
  /**
4399
4852
  * How far the user came into the playlist shown in percentage.
4853
+ * @minimum 0
4854
+ * @maximum 1
4400
4855
  */
4401
4856
  playlistPositionPercentage: number;
4402
4857
  /**
@@ -4414,12 +4869,15 @@ export interface ILeaveStories {
4414
4869
  export interface ILeaveVideoPage {
4415
4870
  /**
4416
4871
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4872
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4873
+ * @example "1.2.3"
4417
4874
  */
4418
4875
  catalogVersion: string;
4419
4876
  consents: IConsents;
4420
4877
  device: IDevice;
4421
4878
  /**
4422
4879
  * The unique identifier for the event.
4880
+ * @format uuid
4423
4881
  */
4424
4882
  eventId: string;
4425
4883
  /**
@@ -4461,6 +4919,7 @@ export interface ILeaveVideoPage {
4461
4919
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4462
4920
  /**
4463
4921
  * The pageviewID.
4922
+ * @format uuid
4464
4923
  */
4465
4924
  pageviewId: string;
4466
4925
  referrer?: IPageRef;
@@ -4469,6 +4928,8 @@ export interface ILeaveVideoPage {
4469
4928
  provider: IProvider;
4470
4929
  /**
4471
4930
  * URL to the JSON schema for this event.
4931
+ * @format uri
4932
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4472
4933
  */
4473
4934
  schema: string;
4474
4935
  session: ISession;
@@ -4482,12 +4943,15 @@ export interface ILeaveVideoPage {
4482
4943
  export interface ILeaveWeather {
4483
4944
  /**
4484
4945
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4946
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4947
+ * @example "1.2.3"
4485
4948
  */
4486
4949
  catalogVersion: string;
4487
4950
  consents: IConsents;
4488
4951
  device: IDevice;
4489
4952
  /**
4490
4953
  * Event ID
4954
+ * @format uuid
4491
4955
  */
4492
4956
  eventId: string;
4493
4957
  /**
@@ -4498,14 +4962,55 @@ export interface ILeaveWeather {
4498
4962
  leave: ILeave;
4499
4963
  metrics?: IMetrics;
4500
4964
  object: {
4965
+ /**
4966
+ * The editorial category of this forecast.
4967
+ */
4968
+ category?: string;
4969
+ /**
4970
+ * The country within which the forecast is done.
4971
+ */
4972
+ country: string;
4973
+ /**
4974
+ * The location within the region covered by this forecast.
4975
+ */
4976
+ location?: string;
4977
+ /**
4978
+ * The unique ID of this page.
4979
+ */
4980
+ objectId: string;
4981
+ /**
4982
+ * The unique SDRN of this page.
4983
+ */
4984
+ objectSdrn: string;
4501
4985
  /**
4502
4986
  * The type of the schema.
4503
4987
  */
4504
4988
  objectType: "Weather";
4989
+ /**
4990
+ * The region covered by the forecast.
4991
+ */
4992
+ region: string;
4993
+ tags?: string[];
4994
+ };
4995
+ page: {
4996
+ info: IPageRef;
4997
+ /**
4998
+ * The browser navigation that got the user to the current page.
4999
+ */
5000
+ navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5001
+ /**
5002
+ * The pageviewID.
5003
+ * @format uuid
5004
+ */
5005
+ pageviewId: string;
5006
+ referrer?: IPageRef;
5007
+ utm?: IUtmTags;
4505
5008
  };
4506
5009
  provider: IProvider;
4507
5010
  /**
4508
5011
  * The schema of the event.
5012
+ * @format uri
5013
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4509
5014
  */
4510
5015
  schema: string;
4511
5016
  time: ITime;
@@ -4518,6 +5023,8 @@ export interface ILeaveWeather {
4518
5023
  export interface IPurchaseSubscription {
4519
5024
  /**
4520
5025
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5026
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5027
+ * @example "1.2.3"
4521
5028
  */
4522
5029
  catalogVersion: string;
4523
5030
  consents?: IConsents;
@@ -4531,11 +5038,13 @@ export interface IPurchaseSubscription {
4531
5038
  deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
4532
5039
  /**
4533
5040
  * The environmentId.
5041
+ * @pattern ^[0-9a-fA-F-]+$
4534
5042
  */
4535
5043
  environmentId?: string;
4536
5044
  };
4537
5045
  /**
4538
5046
  * The unique identifier for the event.
5047
+ * @format uuid
4539
5048
  */
4540
5049
  eventId: string;
4541
5050
  /**
@@ -4562,6 +5071,7 @@ export interface IPurchaseSubscription {
4562
5071
  fullPrice: number;
4563
5072
  /**
4564
5073
  * The unique identifier of the subscription, which corresponds to subscription number in URS.
5074
+ * @pattern ^sdrn:[a-zA-Z0-9-]+:subscription:[a-zA-Z0-9_-]+$
4565
5075
  */
4566
5076
  objectSdrn: string;
4567
5077
  /**
@@ -4628,6 +5138,8 @@ export interface IPurchaseSubscription {
4628
5138
  };
4629
5139
  /**
4630
5140
  * URL to the JSON schema for this event.
5141
+ * @format uri
5142
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4631
5143
  */
4632
5144
  schema: string;
4633
5145
  time: ITime;
@@ -4645,7 +5157,13 @@ export interface IPurchaseSubscription {
4645
5157
  */
4646
5158
  export interface ILocation {
4647
5159
  accuracy: number;
5160
+ /**
5161
+ * @pattern ^-?\d+(\.\d{1,3})?$
5162
+ */
4648
5163
  latitude: string;
5164
+ /**
5165
+ * @pattern ^-?\d+(\.\d{1,3})?$
5166
+ */
4649
5167
  longitude: string;
4650
5168
  }
4651
5169
  /**
@@ -4654,12 +5172,15 @@ export interface ILocation {
4654
5172
  export interface IViewArticle {
4655
5173
  /**
4656
5174
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5175
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5176
+ * @example "1.2.3"
4657
5177
  */
4658
5178
  catalogVersion: string;
4659
5179
  consents: IConsents;
4660
5180
  device: IDevice;
4661
5181
  /**
4662
5182
  * Event ID
5183
+ * @format uuid
4663
5184
  */
4664
5185
  eventId: string;
4665
5186
  /**
@@ -4668,30 +5189,25 @@ export interface IViewArticle {
4668
5189
  eventType: "View";
4669
5190
  experiments?: IExperiments;
4670
5191
  location?: ILocation;
5192
+ metrics?: IMetrics;
4671
5193
  object: {
4672
5194
  authors: string[];
4673
5195
  /**
4674
5196
  * The editorial category of this article.
4675
5197
  */
4676
5198
  category: string;
4677
- /**
4678
- * The hotness value that was set in the CMS.
4679
- */
4680
- hotness: number;
4681
5199
  /**
4682
5200
  * True if scrolling up/down transitions to the next or previous article.
4683
5201
  */
4684
5202
  isStacked: boolean;
4685
5203
  /**
4686
5204
  * The publication date of this version of the article.
5205
+ * @format date-time
4687
5206
  */
4688
5207
  lastUpdatedDate: string;
4689
- /**
4690
- * The lifetime value that was set in the CMS.
4691
- */
4692
- lifetime: number;
4693
5208
  /**
4694
5209
  * The newsroom that published the article.
5210
+ * @example "vg"
4695
5211
  */
4696
5212
  newsroom: string;
4697
5213
  /**
@@ -4708,6 +5224,7 @@ export interface IViewArticle {
4708
5224
  objectType: "Article";
4709
5225
  /**
4710
5226
  * The publication date of the article.
5227
+ * @format date-time
4711
5228
  */
4712
5229
  publicationDate: string;
4713
5230
  /**
@@ -4718,16 +5235,22 @@ export interface IViewArticle {
4718
5235
  * The title of the page.
4719
5236
  */
4720
5237
  title: string;
5238
+ /**
5239
+ * Url of the article top or when missing article main image.
5240
+ */
5241
+ topImageUrl?: string;
4721
5242
  /**
4722
5243
  * The type of article.
4723
5244
  */
4724
5245
  variant: "Article" | "LiveArticle" | "Special";
4725
5246
  /**
4726
5247
  * The version counter of the article.
5248
+ * @minimum 0
4727
5249
  */
4728
5250
  versionCounter: number;
4729
5251
  /**
4730
5252
  * The number of words in this version of the article.
5253
+ * @exclusiveMinimum 0
4731
5254
  */
4732
5255
  wordCount: number;
4733
5256
  };
@@ -4740,6 +5263,7 @@ export interface IViewArticle {
4740
5263
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
4741
5264
  /**
4742
5265
  * The pageviewID.
5266
+ * @format uuid
4743
5267
  */
4744
5268
  pageviewId: string;
4745
5269
  referrer?: IPageRef;
@@ -4748,6 +5272,8 @@ export interface IViewArticle {
4748
5272
  provider: IProvider;
4749
5273
  /**
4750
5274
  * The schema of the event.
5275
+ * @format uri
5276
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4751
5277
  */
4752
5278
  schema: string;
4753
5279
  session: ISession;
@@ -4761,12 +5287,15 @@ export interface IViewArticle {
4761
5287
  export interface IViewAudioPage {
4762
5288
  /**
4763
5289
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5290
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5291
+ * @example "1.2.3"
4764
5292
  */
4765
5293
  catalogVersion: string;
4766
5294
  consents: IConsents;
4767
5295
  device: IDevice;
4768
5296
  /**
4769
5297
  * The unique identifier for the event.
5298
+ * @format uuid
4770
5299
  */
4771
5300
  eventId: string;
4772
5301
  /**
@@ -4806,6 +5335,7 @@ export interface IViewAudioPage {
4806
5335
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4807
5336
  /**
4808
5337
  * The pageviewID.
5338
+ * @format uuid
4809
5339
  */
4810
5340
  pageviewId: string;
4811
5341
  referrer?: IPageRef;
@@ -4814,6 +5344,8 @@ export interface IViewAudioPage {
4814
5344
  provider: IProvider;
4815
5345
  /**
4816
5346
  * URL to the JSON schema for this event.
5347
+ * @format uri
5348
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4817
5349
  */
4818
5350
  schema: string;
4819
5351
  session: ISession;
@@ -4827,12 +5359,15 @@ export interface IViewAudioPage {
4827
5359
  export interface IViewError {
4828
5360
  /**
4829
5361
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5362
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5363
+ * @example "1.2.3"
4830
5364
  */
4831
5365
  catalogVersion: string;
4832
5366
  consents: IConsents;
4833
5367
  device: IDevice;
4834
5368
  /**
4835
5369
  * Event ID
5370
+ * @format uuid
4836
5371
  */
4837
5372
  eventId: string;
4838
5373
  eventType: "View";
@@ -4844,10 +5379,12 @@ export interface IViewError {
4844
5379
  category?: string;
4845
5380
  /**
4846
5381
  * The response code of the page.
5382
+ * @example 418
4847
5383
  */
4848
5384
  errorCode: number;
4849
5385
  /**
4850
5386
  * The error message.
5387
+ * @example "I'm a teapot"
4851
5388
  */
4852
5389
  errorMessage: string;
4853
5390
  /**
@@ -4875,6 +5412,7 @@ export interface IViewError {
4875
5412
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
4876
5413
  /**
4877
5414
  * The pageviewID.
5415
+ * @format uuid
4878
5416
  */
4879
5417
  pageviewId: string;
4880
5418
  referrer?: IPageRef;
@@ -4883,6 +5421,8 @@ export interface IViewError {
4883
5421
  provider: IProvider;
4884
5422
  /**
4885
5423
  * The schema of the event.
5424
+ * @format uri
5425
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4886
5426
  */
4887
5427
  schema: string;
4888
5428
  session: ISession;
@@ -4893,12 +5433,15 @@ export interface IViewError {
4893
5433
  export interface IViewFrontpage {
4894
5434
  /**
4895
5435
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5436
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5437
+ * @example "1.2.3"
4896
5438
  */
4897
5439
  catalogVersion: string;
4898
5440
  consents: IConsents;
4899
5441
  device: IDevice;
4900
5442
  /**
4901
5443
  * Event ID
5444
+ * @format uuid
4902
5445
  */
4903
5446
  eventId: string;
4904
5447
  /**
@@ -4909,10 +5452,6 @@ export interface IViewFrontpage {
4909
5452
  location?: ILocation;
4910
5453
  metrics?: IMetrics;
4911
5454
  object: {
4912
- /**
4913
- * The location of the page in the brand’s page hierarchy.
4914
- */
4915
- category?: string;
4916
5455
  /**
4917
5456
  * The engine producing this listing. Use “editorial” for manually curated lists.
4918
5457
  */
@@ -4923,6 +5462,7 @@ export interface IViewFrontpage {
4923
5462
  isInfinite: boolean;
4924
5463
  /**
4925
5464
  * The total number of items in the listing, or -1 if unknown.
5465
+ * @minimum -1
4926
5466
  */
4927
5467
  itemsTotal: number;
4928
5468
  /**
@@ -4937,10 +5477,6 @@ export interface IViewFrontpage {
4937
5477
  * The type of this page.
4938
5478
  */
4939
5479
  objectType: "Frontpage";
4940
- /**
4941
- * Indicates how results are sorted. Use “editorial” for manually curated lists.
4942
- */
4943
- sortingMethod: "Time" | "Editorial" | "Relevance" | "Alphabetical";
4944
5480
  /**
4945
5481
  * The title of the page.
4946
5482
  */
@@ -4954,6 +5490,7 @@ export interface IViewFrontpage {
4954
5490
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4955
5491
  /**
4956
5492
  * The pageviewID.
5493
+ * @format uuid
4957
5494
  */
4958
5495
  pageviewId: string;
4959
5496
  referrer?: IPageRef;
@@ -4962,6 +5499,8 @@ export interface IViewFrontpage {
4962
5499
  provider: IProvider;
4963
5500
  /**
4964
5501
  * The schema of the event.
5502
+ * @format uri
5503
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4965
5504
  */
4966
5505
  schema: string;
4967
5506
  session: ISession;
@@ -4975,12 +5514,15 @@ export interface IViewFrontpage {
4975
5514
  export interface IViewHealthPage {
4976
5515
  /**
4977
5516
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5517
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5518
+ * @example "1.2.3"
4978
5519
  */
4979
5520
  catalogVersion: string;
4980
5521
  consents: IConsents;
4981
5522
  device: IDevice;
4982
5523
  /**
4983
5524
  * The unique identifier for the event.
5525
+ * @format uuid
4984
5526
  */
4985
5527
  eventId: string;
4986
5528
  /**
@@ -4995,20 +5537,24 @@ export interface IViewHealthPage {
4995
5537
  object: {
4996
5538
  /**
4997
5539
  * Used to pass the same information across events
5540
+ * @example "breakfast"
4998
5541
  */
4999
5542
  category?: string;
5000
5543
  /**
5001
5544
  * Freeform custom properties with dynamic field names for health-specific data
5545
+ * @additionalProperties true
5002
5546
  */
5003
5547
  custom?: {
5004
5548
  [k: string]: unknown;
5005
5549
  };
5006
5550
  /**
5007
5551
  * Description: The user intent or purpose of this event
5552
+ * @example "view logged foodstuff"
5008
5553
  */
5009
5554
  intent?: string;
5010
5555
  /**
5011
5556
  * The name of page
5557
+ * @example "Logbook"
5012
5558
  */
5013
5559
  name: string;
5014
5560
  /**
@@ -5029,6 +5575,7 @@ export interface IViewHealthPage {
5029
5575
  tags?: string[];
5030
5576
  /**
5031
5577
  * The title of the health page
5578
+ * @example "Be well med Wellobe: Vecka 4"
5032
5579
  */
5033
5580
  title?: string;
5034
5581
  };
@@ -5044,6 +5591,7 @@ export interface IViewHealthPage {
5044
5591
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5045
5592
  /**
5046
5593
  * The pageviewID.
5594
+ * @format uuid
5047
5595
  */
5048
5596
  pageviewId: string;
5049
5597
  referrer?: IPageRef;
@@ -5052,6 +5600,8 @@ export interface IViewHealthPage {
5052
5600
  provider: IProvider;
5053
5601
  /**
5054
5602
  * URL to the JSON schema for this event.
5603
+ * @format uri
5604
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5055
5605
  */
5056
5606
  schema: string;
5057
5607
  session: ISession;
@@ -5065,12 +5615,15 @@ export interface IViewHealthPage {
5065
5615
  export interface IViewLandingpage {
5066
5616
  /**
5067
5617
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5618
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5619
+ * @example "1.2.3"
5068
5620
  */
5069
5621
  catalogVersion: string;
5070
5622
  consents: IConsents;
5071
5623
  device: IDevice;
5072
5624
  /**
5073
5625
  * Event ID
5626
+ * @format uuid
5074
5627
  */
5075
5628
  eventId: string;
5076
5629
  eventType: "View";
@@ -5101,6 +5654,7 @@ export interface IViewLandingpage {
5101
5654
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5102
5655
  /**
5103
5656
  * The pageviewID.
5657
+ * @format uuid
5104
5658
  */
5105
5659
  pageviewId: string;
5106
5660
  referrer?: IPageRef;
@@ -5109,6 +5663,8 @@ export interface IViewLandingpage {
5109
5663
  provider: IProvider;
5110
5664
  /**
5111
5665
  * The schema of the event.
5666
+ * @format uri
5667
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5112
5668
  */
5113
5669
  schema: string;
5114
5670
  session: ISession;
@@ -5122,19 +5678,24 @@ export interface IViewLandingpage {
5122
5678
  export interface IViewListing {
5123
5679
  /**
5124
5680
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5681
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5682
+ * @example "1.2.3"
5125
5683
  */
5126
5684
  catalogVersion: string;
5127
5685
  consents: IConsents;
5128
5686
  device: IDevice;
5129
5687
  /**
5130
5688
  * Event ID
5689
+ * @format uuid
5131
5690
  */
5132
5691
  eventId: string;
5133
5692
  eventType: "View";
5134
5693
  experiments?: IExperiments;
5694
+ metrics?: IMetrics;
5135
5695
  object: {
5136
5696
  /**
5137
5697
  * The location of the page in the brand’s page hierarchy.
5698
+ * @pattern ^[a-z0-9-]+(>[a-z0-9-]+)*$
5138
5699
  */
5139
5700
  category?: string;
5140
5701
  /**
@@ -5147,12 +5708,13 @@ export interface IViewListing {
5147
5708
  isInfinite: boolean;
5148
5709
  /**
5149
5710
  * The total number of items in the listing, or -1 if unknown.
5711
+ * @minimum -1
5150
5712
  */
5151
5713
  itemsTotal: number;
5152
5714
  /**
5153
5715
  * The type of listing page, e.g. 'tag', 'section' etc.
5154
5716
  */
5155
- listingType: string;
5717
+ listingType: "Tag" | "Story" | "Section" | "Search" | "Author" | "Other";
5156
5718
  /**
5157
5719
  * The unique ID of this page.
5158
5720
  */
@@ -5167,6 +5729,7 @@ export interface IViewListing {
5167
5729
  objectType: "Listing";
5168
5730
  /**
5169
5731
  * Current pagination index. Zero if results are not paged.
5732
+ * @minimum 0
5170
5733
  */
5171
5734
  pageNumber: number;
5172
5735
  /**
@@ -5186,6 +5749,7 @@ export interface IViewListing {
5186
5749
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5187
5750
  /**
5188
5751
  * The pageviewID.
5752
+ * @format uuid
5189
5753
  */
5190
5754
  pageviewId: string;
5191
5755
  referrer?: IPageRef;
@@ -5194,6 +5758,8 @@ export interface IViewListing {
5194
5758
  provider: IProvider;
5195
5759
  /**
5196
5760
  * The schema of the event.
5761
+ * @format uri
5762
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5197
5763
  */
5198
5764
  schema: string;
5199
5765
  session: ISession;
@@ -5207,12 +5773,15 @@ export interface IViewListing {
5207
5773
  export interface IViewLockedArticle {
5208
5774
  /**
5209
5775
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5776
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5777
+ * @example "1.2.3"
5210
5778
  */
5211
5779
  catalogVersion: string;
5212
5780
  consents: IConsents;
5213
5781
  device: IDevice;
5214
5782
  /**
5215
5783
  * Event ID
5784
+ * @format uuid
5216
5785
  */
5217
5786
  eventId: string;
5218
5787
  /**
@@ -5220,30 +5789,26 @@ export interface IViewLockedArticle {
5220
5789
  */
5221
5790
  eventType: "View";
5222
5791
  experiments?: IExperiments;
5792
+ location?: ILocation;
5793
+ metrics?: IMetrics;
5223
5794
  object: {
5224
5795
  authors: string[];
5225
5796
  /**
5226
5797
  * The editorial category of this article.
5227
5798
  */
5228
5799
  category: string;
5229
- /**
5230
- * The hotness value that was set in the CMS.
5231
- */
5232
- hotness: number;
5233
5800
  /**
5234
5801
  * True if scrolling up/down transitions to the next or previous article.
5235
5802
  */
5236
5803
  isStacked: boolean;
5237
5804
  /**
5238
5805
  * The publication date of this version of the article.
5806
+ * @format date-time
5239
5807
  */
5240
5808
  lastUpdatedDate: string;
5241
- /**
5242
- * The lifetime value that was set in the CMS.
5243
- */
5244
- lifetime: number;
5245
5809
  /**
5246
5810
  * The newsroom that published the article.
5811
+ * @example "vg"
5247
5812
  */
5248
5813
  newsroom: string;
5249
5814
  /**
@@ -5268,6 +5833,7 @@ export interface IViewLockedArticle {
5268
5833
  paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
5269
5834
  /**
5270
5835
  * The publication date of the article.
5836
+ * @format date-time
5271
5837
  */
5272
5838
  publicationDate: string;
5273
5839
  /**
@@ -5278,16 +5844,22 @@ export interface IViewLockedArticle {
5278
5844
  * The title of the page.
5279
5845
  */
5280
5846
  title: string;
5847
+ /**
5848
+ * Url of the article top or when missing article main image.
5849
+ */
5850
+ topImageUrl?: string;
5281
5851
  /**
5282
5852
  * The type of article.
5283
5853
  */
5284
5854
  variant: "Article" | "LiveArticle" | "Special";
5285
5855
  /**
5286
5856
  * The version counter of the article.
5857
+ * @minimum 0
5287
5858
  */
5288
5859
  versionCounter: number;
5289
5860
  /**
5290
5861
  * The number of words in this version of the article.
5862
+ * @exclusiveMinimum 0
5291
5863
  */
5292
5864
  wordCount: number;
5293
5865
  };
@@ -5300,6 +5872,7 @@ export interface IViewLockedArticle {
5300
5872
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
5301
5873
  /**
5302
5874
  * The pageviewID.
5875
+ * @format uuid
5303
5876
  */
5304
5877
  pageviewId: string;
5305
5878
  referrer?: IPageRef;
@@ -5308,6 +5881,8 @@ export interface IViewLockedArticle {
5308
5881
  provider: IProvider;
5309
5882
  /**
5310
5883
  * The schema of the event.
5884
+ * @format uri
5885
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5311
5886
  */
5312
5887
  schema: string;
5313
5888
  session: ISession;
@@ -5321,12 +5896,15 @@ export interface IViewLockedArticle {
5321
5896
  export interface IViewLockedAudioPage {
5322
5897
  /**
5323
5898
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5899
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5900
+ * @example "1.2.3"
5324
5901
  */
5325
5902
  catalogVersion: string;
5326
5903
  consents: IConsents;
5327
5904
  device: IDevice;
5328
5905
  /**
5329
5906
  * The unique identifier for the event.
5907
+ * @format uuid
5330
5908
  */
5331
5909
  eventId: string;
5332
5910
  /**
@@ -5374,6 +5952,7 @@ export interface IViewLockedAudioPage {
5374
5952
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5375
5953
  /**
5376
5954
  * The pageviewID.
5955
+ * @format uuid
5377
5956
  */
5378
5957
  pageviewId: string;
5379
5958
  referrer?: IPageRef;
@@ -5382,6 +5961,8 @@ export interface IViewLockedAudioPage {
5382
5961
  provider: IProvider;
5383
5962
  /**
5384
5963
  * URL to the JSON schema for this event.
5964
+ * @format uri
5965
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5385
5966
  */
5386
5967
  schema: string;
5387
5968
  session: ISession;
@@ -5395,12 +5976,15 @@ export interface IViewLockedAudioPage {
5395
5976
  export interface IViewLockedVideoPage {
5396
5977
  /**
5397
5978
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5979
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5980
+ * @example "1.2.3"
5398
5981
  */
5399
5982
  catalogVersion: string;
5400
5983
  consents: IConsents;
5401
5984
  device: IDevice;
5402
5985
  /**
5403
5986
  * The unique identifier for the event.
5987
+ * @format uuid
5404
5988
  */
5405
5989
  eventId: string;
5406
5990
  /**
@@ -5448,6 +6032,7 @@ export interface IViewLockedVideoPage {
5448
6032
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5449
6033
  /**
5450
6034
  * The pageviewID.
6035
+ * @format uuid
5451
6036
  */
5452
6037
  pageviewId: string;
5453
6038
  referrer?: IPageRef;
@@ -5456,6 +6041,8 @@ export interface IViewLockedVideoPage {
5456
6041
  provider: IProvider;
5457
6042
  /**
5458
6043
  * URL to the JSON schema for this event.
6044
+ * @format uri
6045
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5459
6046
  */
5460
6047
  schema: string;
5461
6048
  session: ISession;
@@ -5469,12 +6056,15 @@ export interface IViewLockedVideoPage {
5469
6056
  export interface IViewPage {
5470
6057
  /**
5471
6058
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6059
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6060
+ * @example "1.2.3"
5472
6061
  */
5473
6062
  catalogVersion: string;
5474
6063
  consents: IConsents;
5475
6064
  device: IDevice;
5476
6065
  /**
5477
6066
  * Event ID
6067
+ * @format uuid
5478
6068
  */
5479
6069
  eventId: string;
5480
6070
  /**
@@ -5514,6 +6104,7 @@ export interface IViewPage {
5514
6104
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5515
6105
  /**
5516
6106
  * The pageviewID.
6107
+ * @format uuid
5517
6108
  */
5518
6109
  pageviewId: string;
5519
6110
  referrer?: IPageRef;
@@ -5522,6 +6113,8 @@ export interface IViewPage {
5522
6113
  provider: IProvider;
5523
6114
  /**
5524
6115
  * The schema of the event.
6116
+ * @format uri
6117
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5525
6118
  */
5526
6119
  schema: string;
5527
6120
  session: ISession;
@@ -5535,12 +6128,15 @@ export interface IViewPage {
5535
6128
  export interface IViewSportsPage {
5536
6129
  /**
5537
6130
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6131
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6132
+ * @example "1.2.3"
5538
6133
  */
5539
6134
  catalogVersion: string;
5540
6135
  consents: IConsents;
5541
6136
  device: IDevice;
5542
6137
  /**
5543
6138
  * The unique identifier for the event.
6139
+ * @format uuid
5544
6140
  */
5545
6141
  eventId: string;
5546
6142
  /**
@@ -5581,6 +6177,7 @@ export interface IViewSportsPage {
5581
6177
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5582
6178
  /**
5583
6179
  * The pageviewID.
6180
+ * @format uuid
5584
6181
  */
5585
6182
  pageviewId: string;
5586
6183
  referrer?: IPageRef;
@@ -5589,6 +6186,8 @@ export interface IViewSportsPage {
5589
6186
  provider: IProvider;
5590
6187
  /**
5591
6188
  * URL to the JSON schema for this event.
6189
+ * @format uri
6190
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5592
6191
  */
5593
6192
  schema: string;
5594
6193
  session: ISession;
@@ -5602,12 +6201,15 @@ export interface IViewSportsPage {
5602
6201
  export interface IViewTitle {
5603
6202
  /**
5604
6203
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6204
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6205
+ * @example "1.2.3"
5605
6206
  */
5606
6207
  catalogVersion: string;
5607
6208
  consents: IConsents;
5608
6209
  device: IDevice;
5609
6210
  /**
5610
6211
  * Event ID
6212
+ * @format uuid
5611
6213
  */
5612
6214
  eventId: string;
5613
6215
  /**
@@ -5653,6 +6255,7 @@ export interface IViewTitle {
5653
6255
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5654
6256
  /**
5655
6257
  * The pageviewID.
6258
+ * @format uuid
5656
6259
  */
5657
6260
  pageviewId: string;
5658
6261
  referrer?: IPageRef;
@@ -5661,6 +6264,8 @@ export interface IViewTitle {
5661
6264
  provider: IProvider;
5662
6265
  /**
5663
6266
  * The schema of the event.
6267
+ * @format uri
6268
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5664
6269
  */
5665
6270
  schema: string;
5666
6271
  session: ISession;
@@ -5674,12 +6279,15 @@ export interface IViewTitle {
5674
6279
  export interface IViewVideoPage {
5675
6280
  /**
5676
6281
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6282
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6283
+ * @example "1.2.3"
5677
6284
  */
5678
6285
  catalogVersion: string;
5679
6286
  consents: IConsents;
5680
6287
  device: IDevice;
5681
6288
  /**
5682
6289
  * The unique identifier for the event.
6290
+ * @format uuid
5683
6291
  */
5684
6292
  eventId: string;
5685
6293
  /**
@@ -5719,6 +6327,7 @@ export interface IViewVideoPage {
5719
6327
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5720
6328
  /**
5721
6329
  * The pageviewID.
6330
+ * @format uuid
5722
6331
  */
5723
6332
  pageviewId: string;
5724
6333
  referrer?: IPageRef;
@@ -5727,6 +6336,8 @@ export interface IViewVideoPage {
5727
6336
  provider: IProvider;
5728
6337
  /**
5729
6338
  * URL to the JSON schema for this event.
6339
+ * @format uri
6340
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5730
6341
  */
5731
6342
  schema: string;
5732
6343
  session: ISession;
@@ -5740,12 +6351,15 @@ export interface IViewVideoPage {
5740
6351
  export interface IViewWeather {
5741
6352
  /**
5742
6353
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6354
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6355
+ * @example "1.2.3"
5743
6356
  */
5744
6357
  catalogVersion: string;
5745
6358
  consents: IConsents;
5746
6359
  device: IDevice;
5747
6360
  /**
5748
6361
  * Event ID
6362
+ * @format uuid
5749
6363
  */
5750
6364
  eventId: string;
5751
6365
  /**
@@ -5793,6 +6407,7 @@ export interface IViewWeather {
5793
6407
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5794
6408
  /**
5795
6409
  * The pageviewID.
6410
+ * @format uuid
5796
6411
  */
5797
6412
  pageviewId: string;
5798
6413
  referrer?: IPageRef;
@@ -5801,6 +6416,8 @@ export interface IViewWeather {
5801
6416
  provider: IProvider;
5802
6417
  /**
5803
6418
  * The schema of the event.
6419
+ * @format uri
6420
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5804
6421
  */
5805
6422
  schema: string;
5806
6423
  session: ISession;
@@ -5808,6 +6425,6 @@ export interface IViewWeather {
5808
6425
  tracker: ITracker;
5809
6426
  user?: IUser;
5810
6427
  }
5811
- export type ITpaasEvent = IAnonymousViewUIElement | ICancelSubscription | IChangePushNotificationSettings | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementNotification | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionForm | IImpressionHealthUIElement | IImpressionNotification | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | IInternalAccessDecision | IInternalProbe | ILaunchApp | ILeaveArticle | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedArticle | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IPurchaseSubscription | IViewArticle | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedArticle | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
6428
+ export type ITpaasEvent = IAnonymousViewUIElement | ICancelSubscription | IChangePushNotificationSettings | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementNotification | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAdSlot | IImpressionForm | IImpressionHealthUIElement | IImpressionNotification | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | IInternalAccessDecision | IInternalProbe | ILaunchApp | ILeaveArticle | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedArticle | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IPurchaseSubscription | IViewArticle | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedArticle | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
5812
6429
 
5813
6430
  export {};