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

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 (35) hide show
  1. package/dist/cjs/Tracker.js +92 -43
  2. package/dist/cjs/builders/experiments.js +1 -0
  3. package/dist/cjs/tracker-proxy/consts.js +1 -0
  4. package/dist/cjs/version.js +1 -1
  5. package/dist/cjs/visibility-observer/index.js +9 -7
  6. package/dist/cjs/wrapper/types/event.js +5 -0
  7. package/dist/ejs/Tracker.js +93 -44
  8. package/dist/ejs/builders/experiments.js +1 -1
  9. package/dist/ejs/tracker-proxy/consts.js +1 -0
  10. package/dist/ejs/version.js +1 -1
  11. package/dist/ejs/visibility-observer/index.js +9 -7
  12. package/dist/ejs/wrapper/types/event.js +4 -1
  13. package/dist/types/Tracker.d.ts +39 -17
  14. package/dist/types/builders/experiments.d.ts +1 -0
  15. package/dist/types/index.d.ts +0 -1
  16. package/dist/types/tracker-proxy/consts.d.ts +1 -1
  17. package/dist/types/version.d.ts +1 -1
  18. package/dist/types/visibility-observer/index.d.ts +6 -1
  19. package/dist/types/wrapper/types/event.d.ts +3 -1
  20. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders.js +53 -47
  21. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/guards.js +7 -0
  22. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/index.js +3 -0
  23. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders.js +53 -48
  24. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/guards.js +4 -0
  25. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/index.js +1 -0
  26. package/node_modules/@schibsted/tpaas-event-builder/dist/index.d.ts +822 -198
  27. package/node_modules/@schibsted/tpaas-event-builder/package.json +2 -1
  28. package/node_modules/@schibsted/tpaas-schemas/dist/cjs/constants.js +66 -57
  29. package/node_modules/@schibsted/tpaas-schemas/dist/cjs/index.js +1 -0
  30. package/node_modules/@schibsted/tpaas-schemas/dist/cjs/types.js +2 -0
  31. package/node_modules/@schibsted/tpaas-schemas/dist/ejs/constants.js +64 -55
  32. package/node_modules/@schibsted/tpaas-schemas/dist/ejs/index.js +1 -0
  33. package/node_modules/@schibsted/tpaas-schemas/dist/ejs/types.js +1 -0
  34. package/node_modules/@schibsted/tpaas-schemas/dist/index.d.ts +888 -223
  35. package/package.json +4 -4
@@ -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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1/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.1";
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,14 @@ export interface ICancelSubscription {
872
951
  deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
873
952
  /**
874
953
  * The environmentId.
954
+ * @pattern ^[0-9a-fA-F-]+$
955
+ * @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
875
956
  */
876
957
  environmentId: string;
877
958
  };
878
959
  /**
879
960
  * The unique identifier for the event.
961
+ * @format uuid
880
962
  */
881
963
  eventId: string;
882
964
  /**
@@ -887,6 +969,7 @@ export interface ICancelSubscription {
887
969
  object: {
888
970
  /**
889
971
  * Date specifying when the subscription is cancelled.
972
+ * @format date
890
973
  */
891
974
  cancelDate?: string;
892
975
  /**
@@ -899,6 +982,7 @@ export interface ICancelSubscription {
899
982
  cancelledBy?: string;
900
983
  /**
901
984
  * Date when access to the service was ends, meaning when the customer lose access.
985
+ * @format date
902
986
  */
903
987
  churnDate?: string;
904
988
  /**
@@ -911,6 +995,7 @@ export interface ICancelSubscription {
911
995
  fullPrice?: number;
912
996
  /**
913
997
  * The unique identifier of the subscription, which corresponds to subscription number in URS.
998
+ * @pattern ^sdrn:[a-zA-Z0-9-]+:subscription:[a-zA-Z0-9_-]+$
914
999
  */
915
1000
  objectSdrn: string;
916
1001
  /**
@@ -937,6 +1022,8 @@ export interface ICancelSubscription {
937
1022
  provider: IProvider;
938
1023
  /**
939
1024
  * URL to the JSON schema for this event.
1025
+ * @format uri
1026
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
940
1027
  */
941
1028
  schema: string;
942
1029
  time: ITime;
@@ -955,18 +1042,22 @@ export interface ICancelSubscription {
955
1042
  export type IMetrics = {
956
1043
  /**
957
1044
  * A grouping key for the metric, e.g. curate’s blendId.
1045
+ * @example "front-ranker-v7"
958
1046
  */
959
1047
  key: string;
960
1048
  /**
961
1049
  * Name of the metric, e.g., "topKScore".
1050
+ * @example "topKScore"
962
1051
  */
963
1052
  name: string;
964
1053
  /**
965
1054
  * Source of the metric, e.g., "Curate".
1055
+ * @example "curate"
966
1056
  */
967
1057
  source: string;
968
1058
  /**
969
1059
  * The value of the template.
1060
+ * @example 42
970
1061
  */
971
1062
  value: number;
972
1063
  }[];
@@ -994,6 +1085,8 @@ export interface IDevice {
994
1085
  deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
995
1086
  /**
996
1087
  * The environmentId.
1088
+ * @pattern ^[0-9a-fA-F-]+$
1089
+ * @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
997
1090
  */
998
1091
  environmentId: string;
999
1092
  ipAddress?: string;
@@ -1003,10 +1096,12 @@ export interface IDevice {
1003
1096
  jweIds?: string;
1004
1097
  /**
1005
1098
  * Mobile only: The brand name of the device.
1099
+ * @example "Samsung"
1006
1100
  */
1007
1101
  mobileBrand?: string;
1008
1102
  /**
1009
1103
  * Mobile only: The model of the device.
1104
+ * @example "SM-S918B"
1010
1105
  */
1011
1106
  mobileModel?: string;
1012
1107
  /**
@@ -1019,6 +1114,7 @@ export interface IDevice {
1019
1114
  screenOrientation: "Portrait" | "Landscape";
1020
1115
  /**
1021
1116
  * The raw userAgent string, if it exists.
1117
+ * @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
1118
  */
1023
1119
  userAgent?: string;
1024
1120
  /**
@@ -1042,14 +1138,19 @@ export interface ISession {
1042
1138
  isFirstEvent: boolean;
1043
1139
  /**
1044
1140
  * The sessionID.
1141
+ * @pattern ^[0-9a-f-]+$
1142
+ * @example "079bc17a-4ee8-42ab-a29f-2fbba4cd403f"
1045
1143
  */
1046
1144
  sessionId: string;
1047
1145
  /**
1048
1146
  * Timestamp of when the session started.
1147
+ * @format date-time
1049
1148
  */
1050
1149
  startTime: string;
1051
1150
  /**
1052
1151
  * 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.
1152
+ * @pattern ^[0-9a-f-]+$
1153
+ * @example "079bc17a-4ee8-42ab-a29f-2fbba4cd403f"
1053
1154
  */
1054
1155
  xDomainId?: string;
1055
1156
  }
@@ -1059,12 +1160,15 @@ export interface ISession {
1059
1160
  export interface IChangePushNotificationSettings {
1060
1161
  /**
1061
1162
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1163
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1164
+ * @example "1.2.3"
1062
1165
  */
1063
1166
  catalogVersion: string;
1064
1167
  consents: IConsents;
1065
1168
  device: IDevice;
1066
1169
  /**
1067
1170
  * The unique identifier for the event.
1171
+ * @format uuid
1068
1172
  */
1069
1173
  eventId: string;
1070
1174
  /**
@@ -1090,6 +1194,8 @@ export interface IChangePushNotificationSettings {
1090
1194
  provider: IProvider;
1091
1195
  /**
1092
1196
  * URL to the JSON schema for this event.
1197
+ * @format uri
1198
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1093
1199
  */
1094
1200
  schema: string;
1095
1201
  session: ISession;
@@ -1104,19 +1210,22 @@ export interface IChangePushNotificationSettings {
1104
1210
  * and run json-schema-to-typescript to regenerate this file.
1105
1211
  */
1106
1212
  /**
1107
- * Information about the origin of the health page content.
1213
+ * Information about the origin of the health page content. Only used by the Vektklubb/Wellobe projects.
1108
1214
  */
1109
1215
  export interface IHealthOrigin {
1110
1216
  /**
1111
1217
  * The specific UI element or component that navigated to this page.
1218
+ * @example "logging_hq_button"
1112
1219
  */
1113
1220
  content?: string;
1114
1221
  /**
1115
1222
  * The feature area that navigated to this page
1223
+ * @example "meal_logging"
1116
1224
  */
1117
1225
  feature?: string;
1118
1226
  /**
1119
1227
  * The origin name / place that the user navigated from.
1228
+ * @example "logbook"
1120
1229
  */
1121
1230
  name?: string;
1122
1231
  }
@@ -1132,6 +1241,7 @@ export interface IHealthOrigin {
1132
1241
  export interface IContent {
1133
1242
  /**
1134
1243
  * The access restriction placed on the content.
1244
+ * @example "Free"
1135
1245
  */
1136
1246
  accessLevel: "Free" | "Login" | "Meter" | "Paid";
1137
1247
  /**
@@ -1140,10 +1250,12 @@ export interface IContent {
1140
1250
  category: "Article" | "Audio" | "Video" | "Weather" | "Title" | "Other";
1141
1251
  /**
1142
1252
  * The identifier of the content.
1253
+ * @example "QMkj9q"
1143
1254
  */
1144
1255
  contentId: string;
1145
1256
  /**
1146
1257
  * The canonical title of the content.
1258
+ * @example "Norge vinner 3-0 mot Italia i VM-kvalifiseringen."
1147
1259
  */
1148
1260
  contentTitle: string;
1149
1261
  /**
@@ -1158,7 +1270,7 @@ export interface IContent {
1158
1270
  * A list of product features that give access to this content. (Uses OR, i.e., having one is enough for access.)
1159
1271
  */
1160
1272
  requiredProductFeatures?: string[];
1161
- tags: string[];
1273
+ tags?: string[];
1162
1274
  }
1163
1275
  /**
1164
1276
  * 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 +1278,15 @@ export interface IContent {
1166
1278
  export interface ICompletedHealthAction {
1167
1279
  /**
1168
1280
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1281
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1282
+ * @example "1.2.3"
1169
1283
  */
1170
1284
  catalogVersion: string;
1171
1285
  consents: IConsents;
1172
1286
  device: IDevice;
1173
1287
  /**
1174
1288
  * The unique identifier for the event.
1289
+ * @format uuid
1175
1290
  */
1176
1291
  eventId: string;
1177
1292
  /**
@@ -1190,20 +1305,24 @@ export interface ICompletedHealthAction {
1190
1305
  actionType: "Logged" | "Scanned" | "Started" | "SetFilters" | "Added" | "Removed" | "Completed" | "Achieved" | "Saved" | "Deleted" | "Updated" | "Shared";
1191
1306
  /**
1192
1307
  * The health category this action relates to.
1308
+ * @example "nutrition"
1193
1309
  */
1194
1310
  category?: string;
1195
1311
  /**
1196
1312
  * Freeform custom properties with dynamic field names for health-specific action data.
1313
+ * @additionalProperties true
1197
1314
  */
1198
1315
  custom?: {
1199
1316
  [k: string]: unknown;
1200
1317
  };
1201
1318
  /**
1202
1319
  * The user intent or purpose of this event.
1320
+ * @example "edit daily note"
1203
1321
  */
1204
1322
  intent?: string;
1205
1323
  /**
1206
1324
  * The descriptive name of the action that was completed.
1325
+ * @example "Logged breakfast meal"
1207
1326
  */
1208
1327
  name?: string;
1209
1328
  /**
@@ -1224,6 +1343,7 @@ export interface ICompletedHealthAction {
1224
1343
  tags?: string[];
1225
1344
  /**
1226
1345
  * The title of the completion message or confirmation shown to the user.
1346
+ * @example "Barcode scanned successfully"
1227
1347
  */
1228
1348
  title?: string;
1229
1349
  };
@@ -1235,6 +1355,7 @@ export interface ICompletedHealthAction {
1235
1355
  info: IPageRef;
1236
1356
  /**
1237
1357
  * The pageviewID of the page where the action occurred.
1358
+ * @format uuid
1238
1359
  */
1239
1360
  pageviewId: string;
1240
1361
  referrer?: IPageRef;
@@ -1243,6 +1364,8 @@ export interface ICompletedHealthAction {
1243
1364
  provider: IProvider;
1244
1365
  /**
1245
1366
  * URL to the JSON schema for this event.
1367
+ * @format uri
1368
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1246
1369
  */
1247
1370
  schema: string;
1248
1371
  session: ISession;
@@ -1263,6 +1386,8 @@ export interface ICompletedHealthAction {
1263
1386
  export interface IEngagementAudio {
1264
1387
  /**
1265
1388
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1389
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1390
+ * @example "1.2.3"
1266
1391
  */
1267
1392
  catalogVersion: string;
1268
1393
  consents: IConsents;
@@ -1286,6 +1411,7 @@ export interface IEngagementAudio {
1286
1411
  };
1287
1412
  /**
1288
1413
  * The unique identifier for the event.
1414
+ * @format uuid
1289
1415
  */
1290
1416
  eventId: string;
1291
1417
  /**
@@ -1311,6 +1437,7 @@ export interface IEngagementAudio {
1311
1437
  playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1312
1438
  /**
1313
1439
  * The current playback speed
1440
+ * @exclusiveMinimum 0
1314
1441
  */
1315
1442
  playbackSpeed?: number;
1316
1443
  /**
@@ -1318,9 +1445,9 @@ export interface IEngagementAudio {
1318
1445
  */
1319
1446
  positionMs: number;
1320
1447
  /**
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
1448
+ * 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
1449
  */
1323
- prevPositionMs: string;
1450
+ prevPositionMs: number;
1324
1451
  /**
1325
1452
  * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
1326
1453
  */
@@ -1340,10 +1467,6 @@ export interface IEngagementAudio {
1340
1467
  * The editorial category of this audio
1341
1468
  */
1342
1469
  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
1470
  /**
1348
1471
  * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
1349
1472
  */
@@ -1352,10 +1475,6 @@ export interface IEngagementAudio {
1352
1475
  * The size of the player.
1353
1476
  */
1354
1477
  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
1478
  /**
1360
1479
  * Which episode
1361
1480
  */
@@ -1403,6 +1522,7 @@ export interface IEngagementAudio {
1403
1522
  podmeId?: string;
1404
1523
  /**
1405
1524
  * The position of the audio in the playlist.
1525
+ * @minimum 0
1406
1526
  */
1407
1527
  queuePosition?: number;
1408
1528
  /**
@@ -1428,14 +1548,23 @@ export interface IEngagementAudio {
1428
1548
  info: IPageRef;
1429
1549
  /**
1430
1550
  * The pageviewID.
1551
+ * @format uuid
1431
1552
  */
1432
1553
  pageviewId: string;
1433
1554
  referrer?: IPageRef;
1434
1555
  utm?: IUtmTags;
1435
1556
  };
1557
+ placement: {
1558
+ /**
1559
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
1560
+ */
1561
+ containerName: string;
1562
+ };
1436
1563
  provider: IProvider;
1437
1564
  /**
1438
1565
  * URL to the JSON schema for this event.
1566
+ * @format uri
1567
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1439
1568
  */
1440
1569
  schema: string;
1441
1570
  session: ISession;
@@ -1459,6 +1588,7 @@ export interface IEngagement {
1459
1588
  action: "Click" | "Scroll" | "Drag" | "Drop" | "DoubleClick";
1460
1589
  /**
1461
1590
  * The name of the UIElement being interacted with.
1591
+ * @example "AwesomeButton"
1462
1592
  */
1463
1593
  elementName: string;
1464
1594
  }
@@ -1468,6 +1598,8 @@ export interface IEngagement {
1468
1598
  export interface IEngagementForm {
1469
1599
  /**
1470
1600
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1601
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1602
+ * @example "1.2.3"
1471
1603
  */
1472
1604
  catalogVersion: string;
1473
1605
  consents: IConsents;
@@ -1475,6 +1607,7 @@ export interface IEngagementForm {
1475
1607
  engagement: IEngagement;
1476
1608
  /**
1477
1609
  * Event ID
1610
+ * @format uuid
1478
1611
  */
1479
1612
  eventId: string;
1480
1613
  /**
@@ -1483,10 +1616,6 @@ export interface IEngagementForm {
1483
1616
  eventType: "Engagement";
1484
1617
  experiments?: IExperiments;
1485
1618
  object: {
1486
- /**
1487
- * The closest parent container used for traffic attribution. When in doubt use “page”.
1488
- */
1489
- containerName: string;
1490
1619
  /**
1491
1620
  * The size of the component.
1492
1621
  */
@@ -1531,14 +1660,23 @@ export interface IEngagementForm {
1531
1660
  info: IPageRef;
1532
1661
  /**
1533
1662
  * The pageviewID.
1663
+ * @format uuid
1534
1664
  */
1535
1665
  pageviewId: string;
1536
1666
  referrer?: IPageRef;
1537
1667
  utm?: IUtmTags;
1538
1668
  };
1669
+ placement: {
1670
+ /**
1671
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
1672
+ */
1673
+ containerName: string;
1674
+ };
1539
1675
  provider: IProvider;
1540
1676
  /**
1541
1677
  * The schema of the event.
1678
+ * @format uri
1679
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1542
1680
  */
1543
1681
  schema: string;
1544
1682
  session: ISession;
@@ -1556,6 +1694,8 @@ export interface IEngagementForm {
1556
1694
  export interface IEngagementHealthUIElement {
1557
1695
  /**
1558
1696
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1697
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1698
+ * @example "1.2.3"
1559
1699
  */
1560
1700
  catalogVersion: string;
1561
1701
  consents: IConsents;
@@ -1563,6 +1703,7 @@ export interface IEngagementHealthUIElement {
1563
1703
  engagement: IEngagement;
1564
1704
  /**
1565
1705
  * The unique identifier for the event.
1706
+ * @format uuid
1566
1707
  */
1567
1708
  eventId: string;
1568
1709
  /**
@@ -1577,14 +1718,12 @@ export interface IEngagementHealthUIElement {
1577
1718
  object: {
1578
1719
  /**
1579
1720
  * The health category this UI element relates to.
1721
+ * @example "breakfast"
1580
1722
  */
1581
1723
  category?: string;
1582
- /**
1583
- * The closest parent container used for traffic attribution.
1584
- */
1585
- containerName: string;
1586
1724
  /**
1587
1725
  * Freeform custom properties with dynamic field names for health-specific UI engagement data.
1726
+ * @additionalProperties true
1588
1727
  */
1589
1728
  custom?: {
1590
1729
  [k: string]: unknown;
@@ -1595,14 +1734,17 @@ export interface IEngagementHealthUIElement {
1595
1734
  elementSize: "XS" | "S" | "M" | "L" | "XL";
1596
1735
  /**
1597
1736
  * The text content of the UI element.
1737
+ * @example "Scan Barcode"
1598
1738
  */
1599
1739
  elementText?: string;
1600
1740
  /**
1601
1741
  * The user intent or purpose of this event.
1742
+ * @example "log calories"
1602
1743
  */
1603
1744
  intent?: string;
1604
1745
  /**
1605
1746
  * The name of the UI element.
1747
+ * @example "Grilled Chicken Recipe"
1606
1748
  */
1607
1749
  name: string;
1608
1750
  /**
@@ -1627,14 +1769,24 @@ export interface IEngagementHealthUIElement {
1627
1769
  info: IPageRef;
1628
1770
  /**
1629
1771
  * The pageviewID of the parent page.
1772
+ * @format uuid
1630
1773
  */
1631
1774
  pageviewId: string;
1632
1775
  referrer?: IPageRef;
1633
1776
  utm?: IUtmTags;
1634
1777
  };
1778
+ placement: {
1779
+ /**
1780
+ * The closest parent container used for traffic attribution.
1781
+ * @example "recipes"
1782
+ */
1783
+ containerName: string;
1784
+ };
1635
1785
  provider: IProvider;
1636
1786
  /**
1637
1787
  * URL to the JSON schema for this event.
1788
+ * @format uri
1789
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1638
1790
  */
1639
1791
  schema: string;
1640
1792
  session: ISession;
@@ -1655,6 +1807,8 @@ export interface IEngagementHealthUIElement {
1655
1807
  export interface IEngagementNotification {
1656
1808
  /**
1657
1809
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1810
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1811
+ * @example "1.2.3"
1658
1812
  */
1659
1813
  catalogVersion: string;
1660
1814
  consents: IConsents;
@@ -1662,6 +1816,7 @@ export interface IEngagementNotification {
1662
1816
  engagement: IEngagement;
1663
1817
  /**
1664
1818
  * Schema ID
1819
+ * @format uuid
1665
1820
  */
1666
1821
  eventId: string;
1667
1822
  /**
@@ -1710,6 +1865,8 @@ export interface IEngagementNotification {
1710
1865
  provider: IProvider;
1711
1866
  /**
1712
1867
  * The schema of the event.
1868
+ * @format uri
1869
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1713
1870
  */
1714
1871
  schema: string;
1715
1872
  session: ISession;
@@ -1727,6 +1884,8 @@ export interface IEngagementNotification {
1727
1884
  export interface IEngagementOffer {
1728
1885
  /**
1729
1886
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1887
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
1888
+ * @example "1.2.3"
1730
1889
  */
1731
1890
  catalogVersion: string;
1732
1891
  consents: IConsents;
@@ -1734,6 +1893,7 @@ export interface IEngagementOffer {
1734
1893
  engagement: IEngagement;
1735
1894
  /**
1736
1895
  * Event ID
1896
+ * @format uuid
1737
1897
  */
1738
1898
  eventId: string;
1739
1899
  /**
@@ -1744,12 +1904,9 @@ export interface IEngagementOffer {
1744
1904
  object: {
1745
1905
  /**
1746
1906
  * The campaign associated with this offer.
1907
+ * @example "summer-sale"
1747
1908
  */
1748
1909
  campaign: string;
1749
- /**
1750
- * The closest parent container used for traffic attribution. When in doubt use “page”.
1751
- */
1752
- containerName?: string;
1753
1910
  /**
1754
1911
  * The size of the component.
1755
1912
  */
@@ -1771,10 +1928,6 @@ export interface IEngagementOffer {
1771
1928
  */
1772
1929
  objectType: "Offer";
1773
1930
  offerCodes?: string[];
1774
- /**
1775
- * The position where this offer was placed.
1776
- */
1777
- offerPlacement: string;
1778
1931
  /**
1779
1932
  * The variant/layout of the offer.
1780
1933
  */
@@ -1785,14 +1938,27 @@ export interface IEngagementOffer {
1785
1938
  info: IPageRef;
1786
1939
  /**
1787
1940
  * The pageviewID.
1941
+ * @format uuid
1788
1942
  */
1789
1943
  pageviewId: string;
1790
1944
  referrer?: IPageRef;
1791
1945
  utm?: IUtmTags;
1792
1946
  };
1947
+ placement: {
1948
+ /**
1949
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
1950
+ */
1951
+ containerName?: string;
1952
+ /**
1953
+ * The position where this offer was placed.
1954
+ */
1955
+ offerPlacement: string;
1956
+ };
1793
1957
  provider: IProvider;
1794
1958
  /**
1795
1959
  * The schema of the event.
1960
+ * @format uri
1961
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1796
1962
  */
1797
1963
  schema: string;
1798
1964
  session: ISession;
@@ -1815,6 +1981,10 @@ export interface IEngagementOffer {
1815
1981
  */
1816
1982
  export interface IPlacement {
1817
1983
  columnName: "main" | "aside";
1984
+ /**
1985
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
1986
+ */
1987
+ containerName: string;
1818
1988
  /**
1819
1989
  * The context in which the recommendation was made.
1820
1990
  */
@@ -1823,13 +1993,23 @@ export interface IPlacement {
1823
1993
  * The source of the impression/engagement.
1824
1994
  */
1825
1995
  curateSource?: string;
1996
+ /**
1997
+ * Indicator if the player was visible at pageload (“above”) or if the user had to scroll to it (“below”).
1998
+ */
1999
+ foldPosition: "Above" | "Below" | "Unknown";
1826
2000
  positionInBundle: number;
2001
+ /**
2002
+ * The parent’s primary direction along which components are laid out.
2003
+ */
2004
+ primaryAxis: "Horizontal" | "Vertical";
1827
2005
  /**
1828
2006
  * The position of this component along the primary axis.
2007
+ * @minimum 1
1829
2008
  */
1830
2009
  primaryPosition: number;
1831
2010
  /**
1832
2011
  * The position of this component along the secondary axis.
2012
+ * @minimum 1
1833
2013
  */
1834
2014
  secondaryPosition: number;
1835
2015
  source?: string;
@@ -1840,6 +2020,8 @@ export interface IPlacement {
1840
2020
  export interface IEngagementTeaser {
1841
2021
  /**
1842
2022
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2023
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2024
+ * @example "1.2.3"
1843
2025
  */
1844
2026
  catalogVersion: string;
1845
2027
  consents: IConsents;
@@ -1847,6 +2029,7 @@ export interface IEngagementTeaser {
1847
2029
  engagement: IEngagement;
1848
2030
  /**
1849
2031
  * Event ID
2032
+ * @format uuid
1850
2033
  */
1851
2034
  eventId: string;
1852
2035
  /**
@@ -1856,10 +2039,6 @@ export interface IEngagementTeaser {
1856
2039
  experiments?: IExperiments;
1857
2040
  metrics?: IMetrics;
1858
2041
  object: {
1859
- /**
1860
- * The closest parent container used for traffic attribution. When in doubt use “page”.
1861
- */
1862
- containerName: string;
1863
2042
  /**
1864
2043
  * The engine producing this teaser. Use “editorial” for manually curated item.
1865
2044
  */
@@ -1888,10 +2067,6 @@ export interface IEngagementTeaser {
1888
2067
  * The type of the component.
1889
2068
  */
1890
2069
  objectType: "Teaser";
1891
- /**
1892
- * The parent’s primary direction along which components are laid out.
1893
- */
1894
- primaryAxis: "Horizontal" | "Vertical";
1895
2070
  /**
1896
2071
  * The title of the teaser.
1897
2072
  */
@@ -1902,6 +2077,7 @@ export interface IEngagementTeaser {
1902
2077
  info: IPageRef;
1903
2078
  /**
1904
2079
  * The pageviewID.
2080
+ * @format uuid
1905
2081
  */
1906
2082
  pageviewId: string;
1907
2083
  referrer?: IPageRef;
@@ -1911,6 +2087,8 @@ export interface IEngagementTeaser {
1911
2087
  provider: IProvider;
1912
2088
  /**
1913
2089
  * The schema of the event.
2090
+ * @format uri
2091
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1914
2092
  */
1915
2093
  schema: string;
1916
2094
  session: ISession;
@@ -1928,6 +2106,8 @@ export interface IEngagementTeaser {
1928
2106
  export interface IEngagementUIElement {
1929
2107
  /**
1930
2108
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2109
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2110
+ * @example "1.2.3"
1931
2111
  */
1932
2112
  catalogVersion: string;
1933
2113
  consents: IConsents;
@@ -1935,6 +2115,7 @@ export interface IEngagementUIElement {
1935
2115
  engagement: IEngagement;
1936
2116
  /**
1937
2117
  * Event ID
2118
+ * @format uuid
1938
2119
  */
1939
2120
  eventId: string;
1940
2121
  /**
@@ -1943,10 +2124,6 @@ export interface IEngagementUIElement {
1943
2124
  eventType: "Engagement";
1944
2125
  experiments?: IExperiments;
1945
2126
  object: {
1946
- /**
1947
- * The closest parent container used for traffic attribution. When in doubt use “page”.
1948
- */
1949
- containerName: string;
1950
2127
  /**
1951
2128
  * The size of the component.
1952
2129
  */
@@ -1981,14 +2158,23 @@ export interface IEngagementUIElement {
1981
2158
  info: IPageRef;
1982
2159
  /**
1983
2160
  * The pageviewID.
2161
+ * @format uuid
1984
2162
  */
1985
2163
  pageviewId: string;
1986
2164
  referrer?: IPageRef;
1987
2165
  utm?: IUtmTags;
1988
2166
  };
2167
+ placement: {
2168
+ /**
2169
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
2170
+ */
2171
+ containerName: string;
2172
+ };
1989
2173
  provider: IProvider;
1990
2174
  /**
1991
2175
  * The schema of the event.
2176
+ * @format uri
2177
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
1992
2178
  */
1993
2179
  schema: string;
1994
2180
  session: ISession;
@@ -2006,6 +2192,8 @@ export interface IEngagementUIElement {
2006
2192
  export interface IEngagementVideo {
2007
2193
  /**
2008
2194
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2195
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2196
+ * @example "1.2.3"
2009
2197
  */
2010
2198
  catalogVersion: string;
2011
2199
  consents: IConsents;
@@ -2029,6 +2217,7 @@ export interface IEngagementVideo {
2029
2217
  };
2030
2218
  /**
2031
2219
  * The unique identifier for the event.
2220
+ * @format uuid
2032
2221
  */
2033
2222
  eventId: string;
2034
2223
  /**
@@ -2058,6 +2247,7 @@ export interface IEngagementVideo {
2058
2247
  playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
2059
2248
  /**
2060
2249
  * The current playback speed.
2250
+ * @exclusiveMinimum 0
2061
2251
  */
2062
2252
  playbackSpeed?: number;
2063
2253
  /**
@@ -2081,9 +2271,9 @@ export interface IEngagementVideo {
2081
2271
  */
2082
2272
  seekToMs?: number;
2083
2273
  /**
2084
- * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
2274
+ * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc
2085
2275
  */
2086
- viewTimeMs: number;
2276
+ viewtimeMs: number;
2087
2277
  };
2088
2278
  metrics?: IMetrics;
2089
2279
  object: {
@@ -2095,10 +2285,6 @@ export interface IEngagementVideo {
2095
2285
  * The editorial category of this video
2096
2286
  */
2097
2287
  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
2288
  /**
2103
2289
  * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
2104
2290
  */
@@ -2107,10 +2293,6 @@ export interface IEngagementVideo {
2107
2293
  * The size of the player.
2108
2294
  */
2109
2295
  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
2296
  /**
2115
2297
  * Which episode
2116
2298
  */
@@ -2169,6 +2351,7 @@ export interface IEngagementVideo {
2169
2351
  playlistId?: string;
2170
2352
  /**
2171
2353
  * The position of the video in the playlist.
2354
+ * @minimum 0
2172
2355
  */
2173
2356
  queuePosition?: number;
2174
2357
  /**
@@ -2194,14 +2377,23 @@ export interface IEngagementVideo {
2194
2377
  info: IPageRef;
2195
2378
  /**
2196
2379
  * The pageviewID.
2380
+ * @format uuid
2197
2381
  */
2198
2382
  pageviewId: string;
2199
2383
  referrer?: IPageRef;
2200
2384
  utm?: IUtmTags;
2201
2385
  };
2386
+ placement: {
2387
+ /**
2388
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2389
+ */
2390
+ containerName: string;
2391
+ };
2202
2392
  provider: IProvider;
2203
2393
  /**
2204
2394
  * URL to the JSON schema for this event.
2395
+ * @format uri
2396
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2205
2397
  */
2206
2398
  schema: string;
2207
2399
  session: ISession;
@@ -2218,6 +2410,8 @@ export interface IEngagementVideo {
2218
2410
  export interface IEngagementVideoAd {
2219
2411
  /**
2220
2412
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2413
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2414
+ * @example "1.2.3"
2221
2415
  */
2222
2416
  catalogVersion: string;
2223
2417
  consents: IConsents;
@@ -2241,6 +2435,7 @@ export interface IEngagementVideoAd {
2241
2435
  };
2242
2436
  /**
2243
2437
  * The unique identifier for the event.
2438
+ * @format uuid
2244
2439
  */
2245
2440
  eventId: string;
2246
2441
  /**
@@ -2291,10 +2486,6 @@ export interface IEngagementVideoAd {
2291
2486
  * 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
2487
  */
2293
2488
  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
2489
  /**
2299
2490
  * The identifier of the asset the ad belongs to.
2300
2491
  */
@@ -2325,14 +2516,23 @@ export interface IEngagementVideoAd {
2325
2516
  info: IPageRef;
2326
2517
  /**
2327
2518
  * The pageviewID.
2519
+ * @format uuid
2328
2520
  */
2329
2521
  pageviewId: string;
2330
2522
  referrer?: IPageRef;
2331
2523
  utm?: IUtmTags;
2332
2524
  };
2525
+ placement: {
2526
+ /**
2527
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2528
+ */
2529
+ containerName: string;
2530
+ };
2333
2531
  provider: IProvider;
2334
2532
  /**
2335
2533
  * URL to the JSON schema for this event.
2534
+ * @format uri
2535
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2336
2536
  */
2337
2537
  schema: string;
2338
2538
  session: ISession;
@@ -2349,6 +2549,8 @@ export interface IEngagementVideoAd {
2349
2549
  export interface IEngagementWidget {
2350
2550
  /**
2351
2551
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2552
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2553
+ * @example "1.2.3"
2352
2554
  */
2353
2555
  catalogVersion: string;
2354
2556
  consents: IConsents;
@@ -2356,6 +2558,7 @@ export interface IEngagementWidget {
2356
2558
  engagement: IEngagement;
2357
2559
  /**
2358
2560
  * Event ID
2561
+ * @format uuid
2359
2562
  */
2360
2563
  eventId: string;
2361
2564
  /**
@@ -2363,11 +2566,8 @@ export interface IEngagementWidget {
2363
2566
  */
2364
2567
  eventType: "Engagement";
2365
2568
  experiments?: IExperiments;
2569
+ metrics?: IMetrics;
2366
2570
  object: {
2367
- /**
2368
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2369
- */
2370
- containerName?: string;
2371
2571
  /**
2372
2572
  * The size of the component.
2373
2573
  */
@@ -2388,16 +2588,13 @@ export interface IEngagementWidget {
2388
2588
  * The type of the component.
2389
2589
  */
2390
2590
  objectType: "Widget";
2391
- /**
2392
- * The parent’s primary direction along which components are laid out.
2393
- */
2394
- primaryAxis?: "Horizontal" | "Vertical";
2395
2591
  };
2396
2592
  page: {
2397
2593
  content?: IContent;
2398
2594
  info: IPageRef;
2399
2595
  /**
2400
2596
  * The pageviewID.
2597
+ * @format uuid
2401
2598
  */
2402
2599
  pageviewId: string;
2403
2600
  referrer?: IPageRef;
@@ -2407,6 +2604,8 @@ export interface IEngagementWidget {
2407
2604
  provider: IProvider;
2408
2605
  /**
2409
2606
  * The schema of the event.
2607
+ * @format uri
2608
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2410
2609
  */
2411
2610
  schema: string;
2412
2611
  session: ISession;
@@ -2419,17 +2618,20 @@ export interface IEngagementWidget {
2419
2618
  user?: IUser;
2420
2619
  }
2421
2620
  /**
2422
- * A form field to collect declared data.
2621
+ * A space where an advertisement can be served.
2423
2622
  */
2424
- export interface IImpressionForm {
2623
+ export interface IImpressionAdSlot {
2425
2624
  /**
2426
2625
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2626
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2627
+ * @example "1.2.3"
2427
2628
  */
2428
2629
  catalogVersion: string;
2429
2630
  consents: IConsents;
2430
2631
  device: IDevice;
2431
2632
  /**
2432
2633
  * The unique identifier for the event.
2634
+ * @format uuid
2433
2635
  */
2434
2636
  eventId: string;
2435
2637
  /**
@@ -2437,11 +2639,80 @@ export interface IImpressionForm {
2437
2639
  */
2438
2640
  eventType: "Impression";
2439
2641
  experiments?: IExperiments;
2642
+ metrics?: IMetrics;
2440
2643
  object: {
2441
2644
  /**
2442
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2645
+ * Ad product name used by SMS.
2443
2646
  */
2444
- containerName: string;
2647
+ adFormat: string;
2648
+ /**
2649
+ * The size of the component.
2650
+ */
2651
+ elementSize: "XS" | "S" | "M" | "L" | "XL";
2652
+ /**
2653
+ * The name of the component.
2654
+ */
2655
+ name: string;
2656
+ /**
2657
+ * The unique ID for this component.
2658
+ */
2659
+ objectId: string;
2660
+ /**
2661
+ * The unique SDRN for this component.
2662
+ */
2663
+ objectSdrn: string;
2664
+ /**
2665
+ * The type of the object.
2666
+ */
2667
+ objectType: "AdSlot";
2668
+ };
2669
+ page: {
2670
+ content?: IContent;
2671
+ info: IPageRef;
2672
+ /**
2673
+ * The pageviewID.
2674
+ * @format uuid
2675
+ */
2676
+ pageviewId: string;
2677
+ referrer?: IPageRef;
2678
+ utm?: IUtmTags;
2679
+ };
2680
+ placement: IPlacement;
2681
+ provider: IProvider;
2682
+ /**
2683
+ * URL to the JSON schema for this event.
2684
+ * @format uri
2685
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2686
+ */
2687
+ schema: string;
2688
+ session: ISession;
2689
+ time: ITime;
2690
+ tracker: ITracker;
2691
+ user?: IUser;
2692
+ }
2693
+ /**
2694
+ * A form field to collect declared data.
2695
+ */
2696
+ export interface IImpressionForm {
2697
+ /**
2698
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2699
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2700
+ * @example "1.2.3"
2701
+ */
2702
+ catalogVersion: string;
2703
+ consents: IConsents;
2704
+ device: IDevice;
2705
+ /**
2706
+ * The unique identifier for the event.
2707
+ * @format uuid
2708
+ */
2709
+ eventId: string;
2710
+ /**
2711
+ * The type of the event.
2712
+ */
2713
+ eventType: "Impression";
2714
+ experiments?: IExperiments;
2715
+ object: {
2445
2716
  /**
2446
2717
  * The size of the component.
2447
2718
  */
@@ -2464,10 +2735,6 @@ export interface IImpressionForm {
2464
2735
  */
2465
2736
  required: boolean;
2466
2737
  }[];
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
2738
  /**
2472
2739
  * The name of the component.
2473
2740
  */
@@ -2490,14 +2757,27 @@ export interface IImpressionForm {
2490
2757
  info: IPageRef;
2491
2758
  /**
2492
2759
  * The pageviewID.
2760
+ * @format uuid
2493
2761
  */
2494
2762
  pageviewId: string;
2495
2763
  referrer?: IPageRef;
2496
2764
  utm?: IUtmTags;
2497
2765
  };
2766
+ placement: {
2767
+ /**
2768
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
2769
+ */
2770
+ containerName: string;
2771
+ /**
2772
+ * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
2773
+ */
2774
+ foldPosition: "Above" | "Below" | "Unknown";
2775
+ };
2498
2776
  provider: IProvider;
2499
2777
  /**
2500
2778
  * URL to the JSON schema for this event.
2779
+ * @format uri
2780
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2501
2781
  */
2502
2782
  schema: string;
2503
2783
  session: ISession;
@@ -2515,12 +2795,15 @@ export interface IImpressionForm {
2515
2795
  export interface IImpressionHealthUIElement {
2516
2796
  /**
2517
2797
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2798
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2799
+ * @example "1.2.3"
2518
2800
  */
2519
2801
  catalogVersion: string;
2520
2802
  consents: IConsents;
2521
2803
  device: IDevice;
2522
2804
  /**
2523
2805
  * The unique identifier for the event.
2806
+ * @format uuid
2524
2807
  */
2525
2808
  eventId: string;
2526
2809
  /**
@@ -2535,18 +2818,17 @@ export interface IImpressionHealthUIElement {
2535
2818
  object: {
2536
2819
  /**
2537
2820
  * The health category this content relates to.
2821
+ * @example "breakfast"
2538
2822
  */
2539
2823
  category?: string;
2540
- /**
2541
- * The parent container or page section where this content appears.
2542
- */
2543
- containerName?: string;
2544
2824
  /**
2545
2825
  * The specific type of health content being viewed.
2826
+ * @example "modal"
2546
2827
  */
2547
2828
  contentType: string;
2548
2829
  /**
2549
2830
  * Freeform custom properties with dynamic field names for health-specific data.
2831
+ * @additionalProperties true
2550
2832
  */
2551
2833
  custom?: {
2552
2834
  [k: string]: unknown;
@@ -2555,16 +2837,14 @@ export interface IImpressionHealthUIElement {
2555
2837
  * The size of the content element.
2556
2838
  */
2557
2839
  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
2840
  /**
2563
2841
  * The user intent or purpose of this event.
2842
+ * @example "log calories"
2564
2843
  */
2565
2844
  intent?: string;
2566
2845
  /**
2567
2846
  * The name/title of the health content element.
2847
+ * @example "Question quiz"
2568
2848
  */
2569
2849
  name: string;
2570
2850
  /**
@@ -2592,14 +2872,28 @@ export interface IImpressionHealthUIElement {
2592
2872
  info: IPageRef;
2593
2873
  /**
2594
2874
  * The pageviewID of the parent page.
2875
+ * @format uuid
2595
2876
  */
2596
2877
  pageviewId: string;
2597
2878
  referrer?: IPageRef;
2598
2879
  utm?: IUtmTags;
2599
2880
  };
2881
+ placement?: {
2882
+ /**
2883
+ * The parent container or page section where this content appears.
2884
+ * @example "Logbook"
2885
+ */
2886
+ containerName?: string;
2887
+ /**
2888
+ * Position relative to the fold or if it's an overlay element.
2889
+ */
2890
+ foldPosition?: "Above" | "Below" | "Overlay" | "Unknown";
2891
+ };
2600
2892
  provider: IProvider;
2601
2893
  /**
2602
2894
  * URL to the JSON schema for this event.
2895
+ * @format uri
2896
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2603
2897
  */
2604
2898
  schema: string;
2605
2899
  session: ISession;
@@ -2620,12 +2914,15 @@ export interface IImpressionHealthUIElement {
2620
2914
  export interface IImpressionNotification {
2621
2915
  /**
2622
2916
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2917
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2918
+ * @example "1.2.3"
2623
2919
  */
2624
2920
  catalogVersion: string;
2625
2921
  consents: IConsents;
2626
2922
  device: IDevice;
2627
2923
  /**
2628
2924
  * The unique identifier for the event.
2925
+ * @format uuid
2629
2926
  */
2630
2927
  eventId: string;
2631
2928
  /**
@@ -2672,6 +2969,8 @@ export interface IImpressionNotification {
2672
2969
  provider: IProvider;
2673
2970
  /**
2674
2971
  * URL to the JSON schema for this event.
2972
+ * @format uri
2973
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2675
2974
  */
2676
2975
  schema: string;
2677
2976
  session: ISession;
@@ -2689,12 +2988,15 @@ export interface IImpressionNotification {
2689
2988
  export interface IImpressionOffer {
2690
2989
  /**
2691
2990
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2991
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
2992
+ * @example "1.2.3"
2692
2993
  */
2693
2994
  catalogVersion: string;
2694
2995
  consents: IConsents;
2695
2996
  device: IDevice;
2696
2997
  /**
2697
2998
  * The unique identifier for the event.
2999
+ * @format uuid
2698
3000
  */
2699
3001
  eventId: string;
2700
3002
  /**
@@ -2705,20 +3007,13 @@ export interface IImpressionOffer {
2705
3007
  object: {
2706
3008
  /**
2707
3009
  * The campaign associated with this offer.
3010
+ * @example "summer-sale"
2708
3011
  */
2709
3012
  campaign: string;
2710
- /**
2711
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2712
- */
2713
- containerName: string;
2714
3013
  /**
2715
3014
  * The size of the component.
2716
3015
  */
2717
3016
  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
3017
  /**
2723
3018
  * The name of the component.
2724
3019
  */
@@ -2736,10 +3031,6 @@ export interface IImpressionOffer {
2736
3031
  */
2737
3032
  objectType: "Offer";
2738
3033
  offerCodes: string[];
2739
- /**
2740
- * The position where this offer was placed.
2741
- */
2742
- offerPlacement: string;
2743
3034
  /**
2744
3035
  * The variant/layout of the offer.
2745
3036
  */
@@ -2750,14 +3041,31 @@ export interface IImpressionOffer {
2750
3041
  info: IPageRef;
2751
3042
  /**
2752
3043
  * The pageviewID.
3044
+ * @format uuid
2753
3045
  */
2754
3046
  pageviewId: string;
2755
3047
  referrer?: IPageRef;
2756
3048
  utm?: IUtmTags;
2757
3049
  };
3050
+ placement: {
3051
+ /**
3052
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
3053
+ */
3054
+ containerName: string;
3055
+ /**
3056
+ * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
3057
+ */
3058
+ foldPosition: "Above" | "Below" | "Unknown";
3059
+ /**
3060
+ * The position where this offer was placed.
3061
+ */
3062
+ offerPlacement: string;
3063
+ };
2758
3064
  provider: IProvider;
2759
3065
  /**
2760
3066
  * URL to the JSON schema for this event.
3067
+ * @format uri
3068
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2761
3069
  */
2762
3070
  schema: string;
2763
3071
  session: ISession;
@@ -2775,12 +3083,15 @@ export interface IImpressionOffer {
2775
3083
  export interface IImpressionPlayer {
2776
3084
  /**
2777
3085
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3086
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3087
+ * @example "1.2.3"
2778
3088
  */
2779
3089
  catalogVersion: string;
2780
3090
  consents: IConsents;
2781
3091
  device: IDevice;
2782
3092
  /**
2783
3093
  * The unique identifier for the event.
3094
+ * @format uuid
2784
3095
  */
2785
3096
  eventId: string;
2786
3097
  /**
@@ -2790,18 +3101,10 @@ export interface IImpressionPlayer {
2790
3101
  experiments?: IExperiments;
2791
3102
  metrics?: IMetrics;
2792
3103
  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
3104
  /**
2798
3105
  * The size of the player.
2799
3106
  */
2800
3107
  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
3108
  /**
2806
3109
  * The unique ID of the embedded asset (not ads from Xandr) ready to play in the player.
2807
3110
  */
@@ -2836,6 +3139,7 @@ export interface IImpressionPlayer {
2836
3139
  info: IPageRef;
2837
3140
  /**
2838
3141
  * The pageviewID.
3142
+ * @format uuid
2839
3143
  */
2840
3144
  pageviewId: string;
2841
3145
  referrer?: IPageRef;
@@ -2845,6 +3149,8 @@ export interface IImpressionPlayer {
2845
3149
  provider: IProvider;
2846
3150
  /**
2847
3151
  * URL to the JSON schema for this event.
3152
+ * @format uri
3153
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2848
3154
  */
2849
3155
  schema: string;
2850
3156
  session: ISession;
@@ -2858,12 +3164,15 @@ export interface IImpressionPlayer {
2858
3164
  export interface IImpressionTeaser {
2859
3165
  /**
2860
3166
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3167
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3168
+ * @example "1.2.3"
2861
3169
  */
2862
3170
  catalogVersion: string;
2863
3171
  consents: IConsents;
2864
3172
  device: IDevice;
2865
3173
  /**
2866
3174
  * The unique identifier for the event.
3175
+ * @format uuid
2867
3176
  */
2868
3177
  eventId: string;
2869
3178
  /**
@@ -2873,10 +3182,6 @@ export interface IImpressionTeaser {
2873
3182
  experiments?: IExperiments;
2874
3183
  metrics?: IMetrics;
2875
3184
  object: {
2876
- /**
2877
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2878
- */
2879
- containerName: string;
2880
3185
  /**
2881
3186
  * The engine producing this teaser. Use “editorial” for manually curated item.
2882
3187
  */
@@ -2889,10 +3194,6 @@ export interface IImpressionTeaser {
2889
3194
  * The size of the component.
2890
3195
  */
2891
3196
  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
3197
  /**
2897
3198
  * The name of the component.
2898
3199
  */
@@ -2909,10 +3210,6 @@ export interface IImpressionTeaser {
2909
3210
  * The type of the object.
2910
3211
  */
2911
3212
  objectType: "Teaser";
2912
- /**
2913
- * The parent’s primary direction along which components are laid out.
2914
- */
2915
- primaryAxis: "Horizontal" | "Vertical";
2916
3213
  /**
2917
3214
  * The title of the teaser.
2918
3215
  */
@@ -2923,6 +3220,7 @@ export interface IImpressionTeaser {
2923
3220
  info: IPageRef;
2924
3221
  /**
2925
3222
  * The pageviewID.
3223
+ * @format uuid
2926
3224
  */
2927
3225
  pageviewId: string;
2928
3226
  referrer?: IPageRef;
@@ -2932,6 +3230,8 @@ export interface IImpressionTeaser {
2932
3230
  provider: IProvider;
2933
3231
  /**
2934
3232
  * URL to the JSON schema for this event.
3233
+ * @format uri
3234
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
2935
3235
  */
2936
3236
  schema: string;
2937
3237
  session: ISession;
@@ -2949,12 +3249,15 @@ export interface IImpressionTeaser {
2949
3249
  export interface IImpressionUIElement {
2950
3250
  /**
2951
3251
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3252
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3253
+ * @example "1.2.3"
2952
3254
  */
2953
3255
  catalogVersion: string;
2954
3256
  consents: IConsents;
2955
3257
  device: IDevice;
2956
3258
  /**
2957
3259
  * The unique identifier for the event.
3260
+ * @format uuid
2958
3261
  */
2959
3262
  eventId: string;
2960
3263
  /**
@@ -2963,10 +3266,6 @@ export interface IImpressionUIElement {
2963
3266
  eventType: "Impression";
2964
3267
  experiments?: IExperiments;
2965
3268
  object: {
2966
- /**
2967
- * The closest parent container used for traffic attribution. When in doubt use “page”.
2968
- */
2969
- containerName: string;
2970
3269
  /**
2971
3270
  * The size of the component.
2972
3271
  */
@@ -2979,10 +3278,6 @@ export interface IImpressionUIElement {
2979
3278
  * The type of UIElement (div, span, a, …).
2980
3279
  */
2981
3280
  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
3281
  /**
2987
3282
  * The name of the component.
2988
3283
  */
@@ -3009,14 +3304,27 @@ export interface IImpressionUIElement {
3009
3304
  info: IPageRef;
3010
3305
  /**
3011
3306
  * The pageviewID.
3307
+ * @format uuid
3012
3308
  */
3013
3309
  pageviewId: string;
3014
3310
  referrer?: IPageRef;
3015
3311
  utm?: IUtmTags;
3016
3312
  };
3313
+ placement: {
3314
+ /**
3315
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
3316
+ */
3317
+ containerName: string;
3318
+ /**
3319
+ * Indicator if the widget was visible at pageload (“above”) or if the user had to scroll to it (“below”).
3320
+ */
3321
+ foldPosition: "Above" | "Below" | "Unknown";
3322
+ };
3017
3323
  provider: IProvider;
3018
3324
  /**
3019
3325
  * URL to the JSON schema for this event.
3326
+ * @format uri
3327
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3020
3328
  */
3021
3329
  schema: string;
3022
3330
  session: ISession;
@@ -3034,12 +3342,15 @@ export interface IImpressionUIElement {
3034
3342
  export interface IImpressionWidget {
3035
3343
  /**
3036
3344
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3345
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3346
+ * @example "1.2.3"
3037
3347
  */
3038
3348
  catalogVersion: string;
3039
3349
  consents: IConsents;
3040
3350
  device: IDevice;
3041
3351
  /**
3042
3352
  * The unique identifier for the event.
3353
+ * @format uuid
3043
3354
  */
3044
3355
  eventId: string;
3045
3356
  /**
@@ -3049,18 +3360,10 @@ export interface IImpressionWidget {
3049
3360
  experiments?: IExperiments;
3050
3361
  metrics?: IMetrics;
3051
3362
  object: {
3052
- /**
3053
- * The closest parent container used for traffic attribution. When in doubt use “page”.
3054
- */
3055
- containerName: string;
3056
3363
  /**
3057
3364
  * The size of the component.
3058
3365
  */
3059
3366
  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
3367
  /**
3065
3368
  * The name of the component.
3066
3369
  */
@@ -3077,16 +3380,13 @@ export interface IImpressionWidget {
3077
3380
  * The type of the object.
3078
3381
  */
3079
3382
  objectType: "Widget";
3080
- /**
3081
- * The parent’s primary direction along which components are laid out.
3082
- */
3083
- primaryAxis: "Horizontal" | "Vertical";
3084
3383
  };
3085
3384
  page: {
3086
3385
  content?: IContent;
3087
3386
  info: IPageRef;
3088
3387
  /**
3089
3388
  * The pageviewID.
3389
+ * @format uuid
3090
3390
  */
3091
3391
  pageviewId: string;
3092
3392
  referrer?: IPageRef;
@@ -3096,6 +3396,8 @@ export interface IImpressionWidget {
3096
3396
  provider: IProvider;
3097
3397
  /**
3098
3398
  * URL to the JSON schema for this event.
3399
+ * @format uri
3400
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3099
3401
  */
3100
3402
  schema: string;
3101
3403
  session: ISession;
@@ -3113,6 +3415,8 @@ export interface IImpressionWidget {
3113
3415
  export interface IInternalAccessDecision {
3114
3416
  /**
3115
3417
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3418
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3419
+ * @example "1.2.3"
3116
3420
  */
3117
3421
  catalogVersion: string;
3118
3422
  consents: IConsents;
@@ -3127,6 +3431,7 @@ export interface IInternalAccessDecision {
3127
3431
  deviceType?: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
3128
3432
  /**
3129
3433
  * The environment ID.
3434
+ * @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
3130
3435
  */
3131
3436
  environmentId: string;
3132
3437
  /**
@@ -3140,6 +3445,7 @@ export interface IInternalAccessDecision {
3140
3445
  };
3141
3446
  /**
3142
3447
  * The unique identifier for the event.
3448
+ * @format uuid
3143
3449
  */
3144
3450
  eventId: string;
3145
3451
  /**
@@ -3148,7 +3454,7 @@ export interface IInternalAccessDecision {
3148
3454
  eventType: "Internal";
3149
3455
  experiments?: IExperiments;
3150
3456
  object: {
3151
- arm: {
3457
+ arm?: {
3152
3458
  /**
3153
3459
  * Unique ID of the experimental arm the user is assigned to.
3154
3460
  */
@@ -3163,6 +3469,10 @@ export interface IInternalAccessDecision {
3163
3469
  config: {
3164
3470
  armId: string;
3165
3471
  version: string;
3472
+ /**
3473
+ * @minimum 0
3474
+ * @maximum 1
3475
+ */
3166
3476
  weight: number;
3167
3477
  }[];
3168
3478
  /**
@@ -3171,15 +3481,18 @@ export interface IInternalAccessDecision {
3171
3481
  configId: string;
3172
3482
  /**
3173
3483
  * End time of the arm assignment in UTC.
3484
+ * @format date-time
3174
3485
  */
3175
3486
  endAt: string;
3176
3487
  /**
3177
3488
  * Start time of the arm assignment in UTC.
3489
+ * @format date-time
3178
3490
  */
3179
3491
  startAt: string;
3180
3492
  };
3181
3493
  /**
3182
3494
  * When the decision system created the decision in UTC.
3495
+ * @format date-time
3183
3496
  */
3184
3497
  decidedAt: string;
3185
3498
  /**
@@ -3197,10 +3510,11 @@ export interface IInternalAccessDecision {
3197
3510
  /**
3198
3511
  * Categorization of how the decision was made.
3199
3512
  */
3200
- decisionType: "RCT" | "Policy" | "Replay" | "Fallback";
3201
- episode: {
3513
+ decisionType: "Policy" | "Replay" | "Fallback";
3514
+ episode?: {
3202
3515
  /**
3203
3516
  * End time of the episode in UTC.
3517
+ * @format date-time
3204
3518
  */
3205
3519
  endAt: string;
3206
3520
  /**
@@ -3209,9 +3523,14 @@ export interface IInternalAccessDecision {
3209
3523
  episodeId: string;
3210
3524
  /**
3211
3525
  * Start time of the episode in UTC.
3526
+ * @format date-time
3212
3527
  */
3213
3528
  startAt: string;
3214
3529
  };
3530
+ /**
3531
+ * Internal Decision System error that caused the fallback.
3532
+ */
3533
+ fallbackReason?: "EngineTimeout" | "EpisodeReadError" | "EpisodeWriteError" | "RequestCountError" | "ArmReadError" | "ArmWriteError";
3215
3534
  /**
3216
3535
  * The type of the object.
3217
3536
  */
@@ -3227,6 +3546,8 @@ export interface IInternalAccessDecision {
3227
3546
  provider: IProvider;
3228
3547
  /**
3229
3548
  * URL to the JSON schema for this event.
3549
+ * @format uri
3550
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3230
3551
  */
3231
3552
  schema: string;
3232
3553
  target: {
@@ -3269,10 +3590,13 @@ export interface IInternalAccessDecision {
3269
3590
  export interface IInternalProbe {
3270
3591
  /**
3271
3592
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3593
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3594
+ * @example "1.2.3"
3272
3595
  */
3273
3596
  catalogVersion: string;
3274
3597
  /**
3275
3598
  * The unique identifier for the event.
3599
+ * @format uuid
3276
3600
  */
3277
3601
  eventId: string;
3278
3602
  /**
@@ -3288,6 +3612,8 @@ export interface IInternalProbe {
3288
3612
  provider: IProvider;
3289
3613
  /**
3290
3614
  * URL to the JSON schema for this event.
3615
+ * @format uri
3616
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3291
3617
  */
3292
3618
  schema: string;
3293
3619
  /**
@@ -3306,12 +3632,15 @@ export interface IInternalProbe {
3306
3632
  export interface ILaunchApp {
3307
3633
  /**
3308
3634
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3635
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3636
+ * @example "1.2.3"
3309
3637
  */
3310
3638
  catalogVersion: string;
3311
3639
  consents: IConsents;
3312
3640
  device: IDevice;
3313
3641
  /**
3314
3642
  * The unique identifier for the event.
3643
+ * @format uuid
3315
3644
  */
3316
3645
  eventId: string;
3317
3646
  /**
@@ -3321,6 +3650,9 @@ export interface ILaunchApp {
3321
3650
  experiments?: IExperiments;
3322
3651
  metrics?: IMetrics;
3323
3652
  object: {
3653
+ /**
3654
+ * @additionalProperties true
3655
+ */
3324
3656
  custom: {
3325
3657
  [k: string]: unknown;
3326
3658
  };
@@ -3332,6 +3664,8 @@ export interface ILaunchApp {
3332
3664
  provider: IProvider;
3333
3665
  /**
3334
3666
  * URL to the JSON schema for this event.
3667
+ * @format uri
3668
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3335
3669
  */
3336
3670
  schema: string;
3337
3671
  session: ISession;
@@ -3351,14 +3685,18 @@ export interface ILaunchApp {
3351
3685
  export interface ILeave {
3352
3686
  /**
3353
3687
  * 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'.
3688
+ * @exclusiveMinimum 0
3354
3689
  */
3355
3690
  activityDurationMs: number;
3356
3691
  /**
3357
3692
  * The total time the user spent on the page in milliseconds.
3693
+ * @exclusiveMinimum 0
3358
3694
  */
3359
3695
  durationMs: number;
3360
3696
  /**
3361
3697
  * The maximum relative scroll position of the article when the user leaves it.
3698
+ * @minimum 0
3699
+ * @maximum 1
3362
3700
  */
3363
3701
  maxObjectViewPercentage: number;
3364
3702
  /**
@@ -3367,10 +3705,14 @@ export interface ILeave {
3367
3705
  maxPageScrollPosition: number;
3368
3706
  /**
3369
3707
  * The maximum relative scroll position of the page when the user leaves it.
3708
+ * @minimum 0
3709
+ * @maximum 1
3370
3710
  */
3371
3711
  maxPageViewPercentage: number;
3372
3712
  /**
3373
3713
  * The relative scroll position of the article when the user leaves it.
3714
+ * @minimum 0
3715
+ * @maximum 1
3374
3716
  */
3375
3717
  objectViewPercentage: number;
3376
3718
  /**
@@ -3379,6 +3721,8 @@ export interface ILeave {
3379
3721
  pageScrollPosition: number;
3380
3722
  /**
3381
3723
  * The relative scroll position of the page when the user leaves it.
3724
+ * @minimum 0
3725
+ * @maximum 1
3382
3726
  */
3383
3727
  pageViewPercentage: number;
3384
3728
  }
@@ -3388,12 +3732,15 @@ export interface ILeave {
3388
3732
  export interface ILeaveArticle {
3389
3733
  /**
3390
3734
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3735
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3736
+ * @example "1.2.3"
3391
3737
  */
3392
3738
  catalogVersion: string;
3393
3739
  consents: IConsents;
3394
3740
  device: IDevice;
3395
3741
  /**
3396
3742
  * Event ID
3743
+ * @format uuid
3397
3744
  */
3398
3745
  eventId: string;
3399
3746
  /**
@@ -3402,7 +3749,9 @@ export interface ILeaveArticle {
3402
3749
  eventType: "Leave";
3403
3750
  experiments?: IExperiments;
3404
3751
  leave: ILeave;
3752
+ metrics?: IMetrics;
3405
3753
  object: {
3754
+ authors: string[];
3406
3755
  /**
3407
3756
  * The editorial category of this article.
3408
3757
  */
@@ -3413,10 +3762,12 @@ export interface ILeaveArticle {
3413
3762
  isStacked: boolean;
3414
3763
  /**
3415
3764
  * The publication date of this version of the article.
3765
+ * @format date-time
3416
3766
  */
3417
3767
  lastUpdatedDate: string;
3418
3768
  /**
3419
3769
  * The newsroom that published the article.
3770
+ * @example "vg"
3420
3771
  */
3421
3772
  newsroom: string;
3422
3773
  /**
@@ -3433,20 +3784,35 @@ export interface ILeaveArticle {
3433
3784
  objectType: "Article";
3434
3785
  /**
3435
3786
  * The publication date of the article.
3787
+ * @format date-time
3436
3788
  */
3437
3789
  publicationDate: string;
3790
+ /**
3791
+ * The name of the company that sponsored the article. Empty if the article was not sponsored.
3792
+ */
3793
+ sponsor?: string;
3438
3794
  /**
3439
3795
  * The title of the page.
3440
3796
  */
3441
3797
  title: string;
3798
+ /**
3799
+ * Url of the article top or when missing article main image.
3800
+ */
3801
+ topImageUrl?: string;
3442
3802
  /**
3443
3803
  * The type of article.
3444
3804
  */
3445
3805
  variant: "Article" | "LiveArticle" | "Special";
3446
3806
  /**
3447
3807
  * The version counter of the article.
3808
+ * @minimum 0
3448
3809
  */
3449
3810
  versionCounter: number;
3811
+ /**
3812
+ * The number of words in this version of the article.
3813
+ * @exclusiveMinimum 0
3814
+ */
3815
+ wordCount: number;
3450
3816
  };
3451
3817
  page: {
3452
3818
  content: IContent;
@@ -3457,6 +3823,7 @@ export interface ILeaveArticle {
3457
3823
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
3458
3824
  /**
3459
3825
  * The pageviewID.
3826
+ * @format uuid
3460
3827
  */
3461
3828
  pageviewId: string;
3462
3829
  referrer?: IPageRef;
@@ -3465,6 +3832,8 @@ export interface ILeaveArticle {
3465
3832
  provider: IProvider;
3466
3833
  /**
3467
3834
  * The schema of the event.
3835
+ * @format uri
3836
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3468
3837
  */
3469
3838
  schema: string;
3470
3839
  session: ISession;
@@ -3481,6 +3850,7 @@ export interface ILeaveArticle {
3481
3850
  export interface ILeaveAudio {
3482
3851
  /**
3483
3852
  * 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'.
3853
+ * @exclusiveMinimum 0
3484
3854
  */
3485
3855
  activityDurationMs: number;
3486
3856
  /**
@@ -3493,6 +3863,7 @@ export interface ILeaveAudio {
3493
3863
  audioStarted: number;
3494
3864
  /**
3495
3865
  * The total time the user spent on the page in milliseconds.
3866
+ * @exclusiveMinimum 0
3496
3867
  */
3497
3868
  durationMs: number;
3498
3869
  /**
@@ -3501,6 +3872,8 @@ export interface ILeaveAudio {
3501
3872
  maxPlaylistPosition?: number;
3502
3873
  /**
3503
3874
  * How far the user came into the playlist shown in percentage.
3875
+ * @minimum 0
3876
+ * @maximum 1
3504
3877
  */
3505
3878
  playlistPositionPercentage?: number;
3506
3879
  }
@@ -3510,12 +3883,15 @@ export interface ILeaveAudio {
3510
3883
  export interface ILeaveAudioPage {
3511
3884
  /**
3512
3885
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3886
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3887
+ * @example "1.2.3"
3513
3888
  */
3514
3889
  catalogVersion: string;
3515
3890
  consents: IConsents;
3516
3891
  device: IDevice;
3517
3892
  /**
3518
3893
  * The unique identifier for the event.
3894
+ * @format uuid
3519
3895
  */
3520
3896
  eventId: string;
3521
3897
  /**
@@ -3554,6 +3930,7 @@ export interface ILeaveAudioPage {
3554
3930
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3555
3931
  /**
3556
3932
  * The pageviewID.
3933
+ * @format uuid
3557
3934
  */
3558
3935
  pageviewId: string;
3559
3936
  referrer?: IPageRef;
@@ -3562,6 +3939,8 @@ export interface ILeaveAudioPage {
3562
3939
  provider: IProvider;
3563
3940
  /**
3564
3941
  * URL to the JSON schema for this event.
3942
+ * @format uri
3943
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3565
3944
  */
3566
3945
  schema: string;
3567
3946
  session: ISession;
@@ -3575,12 +3954,15 @@ export interface ILeaveAudioPage {
3575
3954
  export interface ILeaveError {
3576
3955
  /**
3577
3956
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3957
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
3958
+ * @example "1.2.3"
3578
3959
  */
3579
3960
  catalogVersion: string;
3580
3961
  consents: IConsents;
3581
3962
  device: IDevice;
3582
3963
  /**
3583
3964
  * Event ID
3965
+ * @format uuid
3584
3966
  */
3585
3967
  eventId: string;
3586
3968
  /**
@@ -3596,10 +3978,12 @@ export interface ILeaveError {
3596
3978
  category?: string;
3597
3979
  /**
3598
3980
  * The response code of the page.
3981
+ * @example 418
3599
3982
  */
3600
3983
  errorCode: number;
3601
3984
  /**
3602
3985
  * The error message.
3986
+ * @example "I'm a teapot"
3603
3987
  */
3604
3988
  errorMessage: string;
3605
3989
  /**
@@ -3627,6 +4011,7 @@ export interface ILeaveError {
3627
4011
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
3628
4012
  /**
3629
4013
  * The pageviewID.
4014
+ * @format uuid
3630
4015
  */
3631
4016
  pageviewId: string;
3632
4017
  referrer?: IPageRef;
@@ -3635,6 +4020,8 @@ export interface ILeaveError {
3635
4020
  provider: IProvider;
3636
4021
  /**
3637
4022
  * The schema of the event.
4023
+ * @format uri
4024
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3638
4025
  */
3639
4026
  schema: string;
3640
4027
  session: ISession;
@@ -3648,12 +4035,15 @@ export interface ILeaveError {
3648
4035
  export interface ILeaveFrontpage {
3649
4036
  /**
3650
4037
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4038
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4039
+ * @example "1.2.3"
3651
4040
  */
3652
4041
  catalogVersion: string;
3653
4042
  consents: IConsents;
3654
4043
  device: IDevice;
3655
4044
  /**
3656
4045
  * Event ID
4046
+ * @format uuid
3657
4047
  */
3658
4048
  eventId: string;
3659
4049
  /**
@@ -3662,11 +4052,8 @@ export interface ILeaveFrontpage {
3662
4052
  eventType: "Leave";
3663
4053
  experiments?: IExperiments;
3664
4054
  leave: ILeave;
4055
+ metrics?: IMetrics;
3665
4056
  object: {
3666
- /**
3667
- * The location of the page in the brand’s page hierarchy.
3668
- */
3669
- category?: string;
3670
4057
  /**
3671
4058
  * The engine producing this listing. Use “editorial” for manually curated lists.
3672
4059
  */
@@ -3677,6 +4064,7 @@ export interface ILeaveFrontpage {
3677
4064
  isInfinite: boolean;
3678
4065
  /**
3679
4066
  * The total number of items in the listing, or -1 if unknown.
4067
+ * @minimum -1
3680
4068
  */
3681
4069
  itemsTotal: number;
3682
4070
  /**
@@ -3691,10 +4079,6 @@ export interface ILeaveFrontpage {
3691
4079
  * The type of this page.
3692
4080
  */
3693
4081
  objectType: "Frontpage";
3694
- /**
3695
- * Indicates how results are sorted. Use “editorial” for manually curated lists.
3696
- */
3697
- sortingMethod: "Time" | "Editorial" | "Relevance" | "Alphabetical";
3698
4082
  /**
3699
4083
  * The title of the page.
3700
4084
  */
@@ -3708,6 +4092,7 @@ export interface ILeaveFrontpage {
3708
4092
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3709
4093
  /**
3710
4094
  * The pageviewID.
4095
+ * @format uuid
3711
4096
  */
3712
4097
  pageviewId: string;
3713
4098
  referrer?: IPageRef;
@@ -3716,6 +4101,8 @@ export interface ILeaveFrontpage {
3716
4101
  provider: IProvider;
3717
4102
  /**
3718
4103
  * The schema of the event.
4104
+ * @format uri
4105
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3719
4106
  */
3720
4107
  schema: string;
3721
4108
  session: ISession;
@@ -3729,12 +4116,15 @@ export interface ILeaveFrontpage {
3729
4116
  export interface ILeaveLandingpage {
3730
4117
  /**
3731
4118
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4119
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4120
+ * @example "1.2.3"
3732
4121
  */
3733
4122
  catalogVersion: string;
3734
4123
  consents: IConsents;
3735
4124
  device: IDevice;
3736
4125
  /**
3737
4126
  * Event ID
4127
+ * @format uuid
3738
4128
  */
3739
4129
  eventId: string;
3740
4130
  /**
@@ -3746,6 +4136,7 @@ export interface ILeaveLandingpage {
3746
4136
  object: {
3747
4137
  /**
3748
4138
  * The name of the landing page campaign.
4139
+ * @example "summer-sale"
3749
4140
  */
3750
4141
  campaign?: string;
3751
4142
  /**
@@ -3777,6 +4168,7 @@ export interface ILeaveLandingpage {
3777
4168
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3778
4169
  /**
3779
4170
  * The pageviewID.
4171
+ * @format uuid
3780
4172
  */
3781
4173
  pageviewId: string;
3782
4174
  referrer?: IPageRef;
@@ -3785,6 +4177,8 @@ export interface ILeaveLandingpage {
3785
4177
  provider: IProvider;
3786
4178
  /**
3787
4179
  * The schema of the event.
4180
+ * @format uri
4181
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3788
4182
  */
3789
4183
  schema: string;
3790
4184
  session: ISession;
@@ -3798,12 +4192,15 @@ export interface ILeaveLandingpage {
3798
4192
  export interface ILeaveListing {
3799
4193
  /**
3800
4194
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4195
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4196
+ * @example "1.2.3"
3801
4197
  */
3802
4198
  catalogVersion: string;
3803
4199
  consents: IConsents;
3804
4200
  device: IDevice;
3805
4201
  /**
3806
4202
  * Event ID
4203
+ * @format uuid
3807
4204
  */
3808
4205
  eventId: string;
3809
4206
  /**
@@ -3812,9 +4209,11 @@ export interface ILeaveListing {
3812
4209
  eventType: "Leave";
3813
4210
  experiments?: IExperiments;
3814
4211
  leave: ILeave;
4212
+ metrics?: IMetrics;
3815
4213
  object: {
3816
4214
  /**
3817
4215
  * The location of the page in the brand’s page hierarchy.
4216
+ * @pattern ^[a-z0-9-]+(>[a-z0-9-]+)*$
3818
4217
  */
3819
4218
  category?: string;
3820
4219
  /**
@@ -3827,12 +4226,13 @@ export interface ILeaveListing {
3827
4226
  isInfinite: boolean;
3828
4227
  /**
3829
4228
  * The total number of items in the listing, or -1 if unknown.
4229
+ * @minimum -1
3830
4230
  */
3831
4231
  itemsTotal: number;
3832
4232
  /**
3833
4233
  * The type of listing page, e.g. 'tag', 'section' etc.
3834
4234
  */
3835
- listingType: string;
4235
+ listingType: "Tag" | "Story" | "Section" | "Search" | "Author" | "Other";
3836
4236
  /**
3837
4237
  * The unique ID of this page.
3838
4238
  */
@@ -3847,6 +4247,7 @@ export interface ILeaveListing {
3847
4247
  objectType: "Listing";
3848
4248
  /**
3849
4249
  * Current pagination index. Zero if results are not paged.
4250
+ * @minimum 0
3850
4251
  */
3851
4252
  pageNumber: number;
3852
4253
  /**
@@ -3866,6 +4267,7 @@ export interface ILeaveListing {
3866
4267
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3867
4268
  /**
3868
4269
  * The pageviewID.
4270
+ * @format uuid
3869
4271
  */
3870
4272
  pageviewId: string;
3871
4273
  referrer?: IPageRef;
@@ -3874,6 +4276,8 @@ export interface ILeaveListing {
3874
4276
  provider: IProvider;
3875
4277
  /**
3876
4278
  * The schema of the event.
4279
+ * @format uri
4280
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3877
4281
  */
3878
4282
  schema: string;
3879
4283
  session: ISession;
@@ -3887,12 +4291,15 @@ export interface ILeaveListing {
3887
4291
  export interface ILeaveLockedArticle {
3888
4292
  /**
3889
4293
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4294
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4295
+ * @example "1.2.3"
3890
4296
  */
3891
4297
  catalogVersion: string;
3892
4298
  consents: IConsents;
3893
4299
  device: IDevice;
3894
4300
  /**
3895
4301
  * Event ID
4302
+ * @format uuid
3896
4303
  */
3897
4304
  eventId: string;
3898
4305
  /**
@@ -3901,7 +4308,9 @@ export interface ILeaveLockedArticle {
3901
4308
  eventType: "Leave";
3902
4309
  experiments?: IExperiments;
3903
4310
  leave: ILeave;
4311
+ metrics?: IMetrics;
3904
4312
  object: {
4313
+ authors: string[];
3905
4314
  /**
3906
4315
  * The location of the page in the brand’s page hierarchy.
3907
4316
  */
@@ -3912,10 +4321,12 @@ export interface ILeaveLockedArticle {
3912
4321
  isStacked: boolean;
3913
4322
  /**
3914
4323
  * The publication date of this version of the article.
4324
+ * @format date-time
3915
4325
  */
3916
4326
  lastUpdatedDate: string;
3917
4327
  /**
3918
4328
  * The newsroom that published the article.
4329
+ * @example "vg"
3919
4330
  */
3920
4331
  newsroom: string;
3921
4332
  /**
@@ -3940,20 +4351,35 @@ export interface ILeaveLockedArticle {
3940
4351
  paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
3941
4352
  /**
3942
4353
  * The publication date of the article.
4354
+ * @format date-time
3943
4355
  */
3944
4356
  publicationDate: string;
4357
+ /**
4358
+ * The name of the company that sponsored the article. Omitted if the article was not sponsored.
4359
+ */
4360
+ sponsor?: string;
3945
4361
  /**
3946
4362
  * The title of the page.
3947
4363
  */
3948
4364
  title: string;
4365
+ /**
4366
+ * Url of the article top or when missing article main image.
4367
+ */
4368
+ topImageUrl?: string;
3949
4369
  /**
3950
4370
  * The type of article.
3951
4371
  */
3952
4372
  variant: "Article" | "LiveArticle" | "Special";
3953
4373
  /**
3954
4374
  * The version counter of the article.
4375
+ * @minimum 0
3955
4376
  */
3956
4377
  versionCounter: number;
4378
+ /**
4379
+ * The number of words in this version of the article.
4380
+ * @exclusiveMinimum 0
4381
+ */
4382
+ wordCount: number;
3957
4383
  };
3958
4384
  page: {
3959
4385
  content: IContent;
@@ -3964,6 +4390,7 @@ export interface ILeaveLockedArticle {
3964
4390
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
3965
4391
  /**
3966
4392
  * The pageviewID.
4393
+ * @format uuid
3967
4394
  */
3968
4395
  pageviewId: string;
3969
4396
  referrer?: IPageRef;
@@ -3972,6 +4399,8 @@ export interface ILeaveLockedArticle {
3972
4399
  provider: IProvider;
3973
4400
  /**
3974
4401
  * The schema of the event.
4402
+ * @format uri
4403
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
3975
4404
  */
3976
4405
  schema: string;
3977
4406
  session: ISession;
@@ -3985,12 +4414,15 @@ export interface ILeaveLockedArticle {
3985
4414
  export interface ILeaveLockedAudioPage {
3986
4415
  /**
3987
4416
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4417
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4418
+ * @example "1.2.3"
3988
4419
  */
3989
4420
  catalogVersion: string;
3990
4421
  consents: IConsents;
3991
4422
  device: IDevice;
3992
4423
  /**
3993
4424
  * The unique identifier for the event.
4425
+ * @format uuid
3994
4426
  */
3995
4427
  eventId: string;
3996
4428
  /**
@@ -4039,6 +4471,7 @@ export interface ILeaveLockedAudioPage {
4039
4471
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4040
4472
  /**
4041
4473
  * The pageviewID.
4474
+ * @format uuid
4042
4475
  */
4043
4476
  pageviewId: string;
4044
4477
  referrer?: IPageRef;
@@ -4047,6 +4480,8 @@ export interface ILeaveLockedAudioPage {
4047
4480
  provider: IProvider;
4048
4481
  /**
4049
4482
  * URL to the JSON schema for this event.
4483
+ * @format uri
4484
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4050
4485
  */
4051
4486
  schema: string;
4052
4487
  session: ISession;
@@ -4060,12 +4495,15 @@ export interface ILeaveLockedAudioPage {
4060
4495
  export interface ILeaveLockedVideoPage {
4061
4496
  /**
4062
4497
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4498
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4499
+ * @example "1.2.3"
4063
4500
  */
4064
4501
  catalogVersion: string;
4065
4502
  consents: IConsents;
4066
4503
  device: IDevice;
4067
4504
  /**
4068
4505
  * The unique identifier for the event.
4506
+ * @format uuid
4069
4507
  */
4070
4508
  eventId: string;
4071
4509
  /**
@@ -4114,6 +4552,7 @@ export interface ILeaveLockedVideoPage {
4114
4552
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4115
4553
  /**
4116
4554
  * The pageviewID.
4555
+ * @format uuid
4117
4556
  */
4118
4557
  pageviewId: string;
4119
4558
  referrer?: IPageRef;
@@ -4122,6 +4561,8 @@ export interface ILeaveLockedVideoPage {
4122
4561
  provider: IProvider;
4123
4562
  /**
4124
4563
  * URL to the JSON schema for this event.
4564
+ * @format uri
4565
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4125
4566
  */
4126
4567
  schema: string;
4127
4568
  session: ISession;
@@ -4135,12 +4576,15 @@ export interface ILeaveLockedVideoPage {
4135
4576
  export interface ILeavePage {
4136
4577
  /**
4137
4578
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4579
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4580
+ * @example "1.2.3"
4138
4581
  */
4139
4582
  catalogVersion: string;
4140
4583
  consents: IConsents;
4141
4584
  device: IDevice;
4142
4585
  /**
4143
4586
  * Event ID
4587
+ * @format uuid
4144
4588
  */
4145
4589
  eventId: string;
4146
4590
  /**
@@ -4149,6 +4593,7 @@ export interface ILeavePage {
4149
4593
  eventType: "Leave";
4150
4594
  experiments?: IExperiments;
4151
4595
  leave: ILeave;
4596
+ metrics?: IMetrics;
4152
4597
  object: {
4153
4598
  /**
4154
4599
  * The location of the page in the brand’s page hierarchy.
@@ -4174,6 +4619,7 @@ export interface ILeavePage {
4174
4619
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4175
4620
  /**
4176
4621
  * The pageviewID.
4622
+ * @format uuid
4177
4623
  */
4178
4624
  pageviewId: string;
4179
4625
  referrer?: IPageRef;
@@ -4182,6 +4628,8 @@ export interface ILeavePage {
4182
4628
  provider: IProvider;
4183
4629
  /**
4184
4630
  * The schema of the event.
4631
+ * @format uri
4632
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4185
4633
  */
4186
4634
  schema: string;
4187
4635
  session: ISession;
@@ -4210,6 +4658,7 @@ export interface ISports {
4210
4658
  competitionId?: string;
4211
4659
  /**
4212
4660
  * Name of the competition.
4661
+ * @example "Premier League"
4213
4662
  */
4214
4663
  competitionName?: string;
4215
4664
  /**
@@ -4218,6 +4667,7 @@ export interface ISports {
4218
4667
  competitionSeasonId?: number;
4219
4668
  /**
4220
4669
  * Name of the competition season.
4670
+ * @example "Premier League 2025/2026"
4221
4671
  */
4222
4672
  competitionSeasonName?: string;
4223
4673
  /**
@@ -4238,10 +4688,12 @@ export interface ISports {
4238
4688
  sportEventCoverage?: "Manual" | "SemiAutomatic" | "Automatic" | "AI";
4239
4689
  /**
4240
4690
  * Date (yyyy-mm-dd) of the sport event.
4691
+ * @format date
4241
4692
  */
4242
4693
  sportEventDate?: string;
4243
4694
  /**
4244
4695
  * Timestamp of when the sport event starts.
4696
+ * @format date-time
4245
4697
  */
4246
4698
  sportEventDatetime?: string;
4247
4699
  /**
@@ -4274,6 +4726,7 @@ export interface ISports {
4274
4726
  teamId?: number;
4275
4727
  /**
4276
4728
  * Name of the team.
4729
+ * @example "Manchester United"
4277
4730
  */
4278
4731
  teamName?: string;
4279
4732
  /**
@@ -4307,12 +4760,15 @@ export interface ISports {
4307
4760
  export interface ILeaveSportsPage {
4308
4761
  /**
4309
4762
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4763
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4764
+ * @example "1.2.3"
4310
4765
  */
4311
4766
  catalogVersion: string;
4312
4767
  consents: IConsents;
4313
4768
  device: IDevice;
4314
4769
  /**
4315
4770
  * The unique identifier for the event.
4771
+ * @format uuid
4316
4772
  */
4317
4773
  eventId: string;
4318
4774
  /**
@@ -4354,6 +4810,7 @@ export interface ILeaveSportsPage {
4354
4810
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4355
4811
  /**
4356
4812
  * The pageviewID.
4813
+ * @format uuid
4357
4814
  */
4358
4815
  pageviewId: string;
4359
4816
  referrer?: IPageRef;
@@ -4362,6 +4819,8 @@ export interface ILeaveSportsPage {
4362
4819
  provider: IProvider;
4363
4820
  /**
4364
4821
  * URL to the JSON schema for this event.
4822
+ * @format uri
4823
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4365
4824
  */
4366
4825
  schema: string;
4367
4826
  session: ISession;
@@ -4381,6 +4840,7 @@ export interface ILeaveSportsPage {
4381
4840
  export interface ILeaveStories {
4382
4841
  /**
4383
4842
  * 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'.
4843
+ * @exclusiveMinimum 0
4384
4844
  */
4385
4845
  activityDurationMs: number;
4386
4846
  /**
@@ -4389,6 +4849,7 @@ export interface ILeaveStories {
4389
4849
  adCount: number;
4390
4850
  /**
4391
4851
  * The total time the user spent on the page in milliseconds.
4852
+ * @exclusiveMinimum 0
4392
4853
  */
4393
4854
  durationMs: number;
4394
4855
  /**
@@ -4397,6 +4858,8 @@ export interface ILeaveStories {
4397
4858
  maxPlaylistPosition: number;
4398
4859
  /**
4399
4860
  * How far the user came into the playlist shown in percentage.
4861
+ * @minimum 0
4862
+ * @maximum 1
4400
4863
  */
4401
4864
  playlistPositionPercentage: number;
4402
4865
  /**
@@ -4414,12 +4877,15 @@ export interface ILeaveStories {
4414
4877
  export interface ILeaveVideoPage {
4415
4878
  /**
4416
4879
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4880
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4881
+ * @example "1.2.3"
4417
4882
  */
4418
4883
  catalogVersion: string;
4419
4884
  consents: IConsents;
4420
4885
  device: IDevice;
4421
4886
  /**
4422
4887
  * The unique identifier for the event.
4888
+ * @format uuid
4423
4889
  */
4424
4890
  eventId: string;
4425
4891
  /**
@@ -4461,6 +4927,7 @@ export interface ILeaveVideoPage {
4461
4927
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4462
4928
  /**
4463
4929
  * The pageviewID.
4930
+ * @format uuid
4464
4931
  */
4465
4932
  pageviewId: string;
4466
4933
  referrer?: IPageRef;
@@ -4469,6 +4936,8 @@ export interface ILeaveVideoPage {
4469
4936
  provider: IProvider;
4470
4937
  /**
4471
4938
  * URL to the JSON schema for this event.
4939
+ * @format uri
4940
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4472
4941
  */
4473
4942
  schema: string;
4474
4943
  session: ISession;
@@ -4482,12 +4951,15 @@ export interface ILeaveVideoPage {
4482
4951
  export interface ILeaveWeather {
4483
4952
  /**
4484
4953
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4954
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
4955
+ * @example "1.2.3"
4485
4956
  */
4486
4957
  catalogVersion: string;
4487
4958
  consents: IConsents;
4488
4959
  device: IDevice;
4489
4960
  /**
4490
4961
  * Event ID
4962
+ * @format uuid
4491
4963
  */
4492
4964
  eventId: string;
4493
4965
  /**
@@ -4498,14 +4970,55 @@ export interface ILeaveWeather {
4498
4970
  leave: ILeave;
4499
4971
  metrics?: IMetrics;
4500
4972
  object: {
4973
+ /**
4974
+ * The editorial category of this forecast.
4975
+ */
4976
+ category?: string;
4977
+ /**
4978
+ * The country within which the forecast is done.
4979
+ */
4980
+ country: string;
4981
+ /**
4982
+ * The location within the region covered by this forecast.
4983
+ */
4984
+ location?: string;
4985
+ /**
4986
+ * The unique ID of this page.
4987
+ */
4988
+ objectId: string;
4989
+ /**
4990
+ * The unique SDRN of this page.
4991
+ */
4992
+ objectSdrn: string;
4501
4993
  /**
4502
4994
  * The type of the schema.
4503
4995
  */
4504
4996
  objectType: "Weather";
4997
+ /**
4998
+ * The region covered by the forecast.
4999
+ */
5000
+ region: string;
5001
+ tags?: string[];
5002
+ };
5003
+ page: {
5004
+ info: IPageRef;
5005
+ /**
5006
+ * The browser navigation that got the user to the current page.
5007
+ */
5008
+ navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5009
+ /**
5010
+ * The pageviewID.
5011
+ * @format uuid
5012
+ */
5013
+ pageviewId: string;
5014
+ referrer?: IPageRef;
5015
+ utm?: IUtmTags;
4505
5016
  };
4506
5017
  provider: IProvider;
4507
5018
  /**
4508
5019
  * The schema of the event.
5020
+ * @format uri
5021
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4509
5022
  */
4510
5023
  schema: string;
4511
5024
  time: ITime;
@@ -4518,6 +5031,8 @@ export interface ILeaveWeather {
4518
5031
  export interface IPurchaseSubscription {
4519
5032
  /**
4520
5033
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5034
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5035
+ * @example "1.2.3"
4521
5036
  */
4522
5037
  catalogVersion: string;
4523
5038
  consents?: IConsents;
@@ -4531,11 +5046,14 @@ export interface IPurchaseSubscription {
4531
5046
  deviceType: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
4532
5047
  /**
4533
5048
  * The environmentId.
5049
+ * @pattern ^[0-9a-fA-F-]+$
5050
+ * @example "42401e1f-7e04-4b73-8bed-1ceffc0ed8cc"
4534
5051
  */
4535
5052
  environmentId?: string;
4536
5053
  };
4537
5054
  /**
4538
5055
  * The unique identifier for the event.
5056
+ * @format uuid
4539
5057
  */
4540
5058
  eventId: string;
4541
5059
  /**
@@ -4562,6 +5080,7 @@ export interface IPurchaseSubscription {
4562
5080
  fullPrice: number;
4563
5081
  /**
4564
5082
  * The unique identifier of the subscription, which corresponds to subscription number in URS.
5083
+ * @pattern ^sdrn:[a-zA-Z0-9-]+:subscription:[a-zA-Z0-9_-]+$
4565
5084
  */
4566
5085
  objectSdrn: string;
4567
5086
  /**
@@ -4623,11 +5142,14 @@ export interface IPurchaseSubscription {
4623
5142
  utm?: IUtmTags;
4624
5143
  /**
4625
5144
  * 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.
5145
+ * @example "079bc17a-4ee8-42ab-a29f-2fbba4cd403f"
4626
5146
  */
4627
5147
  xDomainId?: string;
4628
5148
  };
4629
5149
  /**
4630
5150
  * URL to the JSON schema for this event.
5151
+ * @format uri
5152
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4631
5153
  */
4632
5154
  schema: string;
4633
5155
  time: ITime;
@@ -4645,7 +5167,13 @@ export interface IPurchaseSubscription {
4645
5167
  */
4646
5168
  export interface ILocation {
4647
5169
  accuracy: number;
5170
+ /**
5171
+ * @pattern ^-?\d+(\.\d{1,3})?$
5172
+ */
4648
5173
  latitude: string;
5174
+ /**
5175
+ * @pattern ^-?\d+(\.\d{1,3})?$
5176
+ */
4649
5177
  longitude: string;
4650
5178
  }
4651
5179
  /**
@@ -4654,12 +5182,15 @@ export interface ILocation {
4654
5182
  export interface IViewArticle {
4655
5183
  /**
4656
5184
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5185
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5186
+ * @example "1.2.3"
4657
5187
  */
4658
5188
  catalogVersion: string;
4659
5189
  consents: IConsents;
4660
5190
  device: IDevice;
4661
5191
  /**
4662
5192
  * Event ID
5193
+ * @format uuid
4663
5194
  */
4664
5195
  eventId: string;
4665
5196
  /**
@@ -4668,30 +5199,25 @@ export interface IViewArticle {
4668
5199
  eventType: "View";
4669
5200
  experiments?: IExperiments;
4670
5201
  location?: ILocation;
5202
+ metrics?: IMetrics;
4671
5203
  object: {
4672
5204
  authors: string[];
4673
5205
  /**
4674
5206
  * The editorial category of this article.
4675
5207
  */
4676
5208
  category: string;
4677
- /**
4678
- * The hotness value that was set in the CMS.
4679
- */
4680
- hotness: number;
4681
5209
  /**
4682
5210
  * True if scrolling up/down transitions to the next or previous article.
4683
5211
  */
4684
5212
  isStacked: boolean;
4685
5213
  /**
4686
5214
  * The publication date of this version of the article.
5215
+ * @format date-time
4687
5216
  */
4688
5217
  lastUpdatedDate: string;
4689
- /**
4690
- * The lifetime value that was set in the CMS.
4691
- */
4692
- lifetime: number;
4693
5218
  /**
4694
5219
  * The newsroom that published the article.
5220
+ * @example "vg"
4695
5221
  */
4696
5222
  newsroom: string;
4697
5223
  /**
@@ -4708,6 +5234,7 @@ export interface IViewArticle {
4708
5234
  objectType: "Article";
4709
5235
  /**
4710
5236
  * The publication date of the article.
5237
+ * @format date-time
4711
5238
  */
4712
5239
  publicationDate: string;
4713
5240
  /**
@@ -4718,16 +5245,22 @@ export interface IViewArticle {
4718
5245
  * The title of the page.
4719
5246
  */
4720
5247
  title: string;
5248
+ /**
5249
+ * Url of the article top or when missing article main image.
5250
+ */
5251
+ topImageUrl?: string;
4721
5252
  /**
4722
5253
  * The type of article.
4723
5254
  */
4724
5255
  variant: "Article" | "LiveArticle" | "Special";
4725
5256
  /**
4726
5257
  * The version counter of the article.
5258
+ * @minimum 0
4727
5259
  */
4728
5260
  versionCounter: number;
4729
5261
  /**
4730
5262
  * The number of words in this version of the article.
5263
+ * @exclusiveMinimum 0
4731
5264
  */
4732
5265
  wordCount: number;
4733
5266
  };
@@ -4740,6 +5273,7 @@ export interface IViewArticle {
4740
5273
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
4741
5274
  /**
4742
5275
  * The pageviewID.
5276
+ * @format uuid
4743
5277
  */
4744
5278
  pageviewId: string;
4745
5279
  referrer?: IPageRef;
@@ -4748,6 +5282,8 @@ export interface IViewArticle {
4748
5282
  provider: IProvider;
4749
5283
  /**
4750
5284
  * The schema of the event.
5285
+ * @format uri
5286
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4751
5287
  */
4752
5288
  schema: string;
4753
5289
  session: ISession;
@@ -4761,12 +5297,15 @@ export interface IViewArticle {
4761
5297
  export interface IViewAudioPage {
4762
5298
  /**
4763
5299
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5300
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5301
+ * @example "1.2.3"
4764
5302
  */
4765
5303
  catalogVersion: string;
4766
5304
  consents: IConsents;
4767
5305
  device: IDevice;
4768
5306
  /**
4769
5307
  * The unique identifier for the event.
5308
+ * @format uuid
4770
5309
  */
4771
5310
  eventId: string;
4772
5311
  /**
@@ -4806,6 +5345,7 @@ export interface IViewAudioPage {
4806
5345
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4807
5346
  /**
4808
5347
  * The pageviewID.
5348
+ * @format uuid
4809
5349
  */
4810
5350
  pageviewId: string;
4811
5351
  referrer?: IPageRef;
@@ -4814,6 +5354,8 @@ export interface IViewAudioPage {
4814
5354
  provider: IProvider;
4815
5355
  /**
4816
5356
  * URL to the JSON schema for this event.
5357
+ * @format uri
5358
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4817
5359
  */
4818
5360
  schema: string;
4819
5361
  session: ISession;
@@ -4827,12 +5369,15 @@ export interface IViewAudioPage {
4827
5369
  export interface IViewError {
4828
5370
  /**
4829
5371
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5372
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5373
+ * @example "1.2.3"
4830
5374
  */
4831
5375
  catalogVersion: string;
4832
5376
  consents: IConsents;
4833
5377
  device: IDevice;
4834
5378
  /**
4835
5379
  * Event ID
5380
+ * @format uuid
4836
5381
  */
4837
5382
  eventId: string;
4838
5383
  eventType: "View";
@@ -4844,10 +5389,12 @@ export interface IViewError {
4844
5389
  category?: string;
4845
5390
  /**
4846
5391
  * The response code of the page.
5392
+ * @example 418
4847
5393
  */
4848
5394
  errorCode: number;
4849
5395
  /**
4850
5396
  * The error message.
5397
+ * @example "I'm a teapot"
4851
5398
  */
4852
5399
  errorMessage: string;
4853
5400
  /**
@@ -4875,6 +5422,7 @@ export interface IViewError {
4875
5422
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
4876
5423
  /**
4877
5424
  * The pageviewID.
5425
+ * @format uuid
4878
5426
  */
4879
5427
  pageviewId: string;
4880
5428
  referrer?: IPageRef;
@@ -4883,6 +5431,8 @@ export interface IViewError {
4883
5431
  provider: IProvider;
4884
5432
  /**
4885
5433
  * The schema of the event.
5434
+ * @format uri
5435
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4886
5436
  */
4887
5437
  schema: string;
4888
5438
  session: ISession;
@@ -4893,12 +5443,15 @@ export interface IViewError {
4893
5443
  export interface IViewFrontpage {
4894
5444
  /**
4895
5445
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5446
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5447
+ * @example "1.2.3"
4896
5448
  */
4897
5449
  catalogVersion: string;
4898
5450
  consents: IConsents;
4899
5451
  device: IDevice;
4900
5452
  /**
4901
5453
  * Event ID
5454
+ * @format uuid
4902
5455
  */
4903
5456
  eventId: string;
4904
5457
  /**
@@ -4909,10 +5462,6 @@ export interface IViewFrontpage {
4909
5462
  location?: ILocation;
4910
5463
  metrics?: IMetrics;
4911
5464
  object: {
4912
- /**
4913
- * The location of the page in the brand’s page hierarchy.
4914
- */
4915
- category?: string;
4916
5465
  /**
4917
5466
  * The engine producing this listing. Use “editorial” for manually curated lists.
4918
5467
  */
@@ -4923,6 +5472,7 @@ export interface IViewFrontpage {
4923
5472
  isInfinite: boolean;
4924
5473
  /**
4925
5474
  * The total number of items in the listing, or -1 if unknown.
5475
+ * @minimum -1
4926
5476
  */
4927
5477
  itemsTotal: number;
4928
5478
  /**
@@ -4937,10 +5487,6 @@ export interface IViewFrontpage {
4937
5487
  * The type of this page.
4938
5488
  */
4939
5489
  objectType: "Frontpage";
4940
- /**
4941
- * Indicates how results are sorted. Use “editorial” for manually curated lists.
4942
- */
4943
- sortingMethod: "Time" | "Editorial" | "Relevance" | "Alphabetical";
4944
5490
  /**
4945
5491
  * The title of the page.
4946
5492
  */
@@ -4954,6 +5500,7 @@ export interface IViewFrontpage {
4954
5500
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4955
5501
  /**
4956
5502
  * The pageviewID.
5503
+ * @format uuid
4957
5504
  */
4958
5505
  pageviewId: string;
4959
5506
  referrer?: IPageRef;
@@ -4962,6 +5509,8 @@ export interface IViewFrontpage {
4962
5509
  provider: IProvider;
4963
5510
  /**
4964
5511
  * The schema of the event.
5512
+ * @format uri
5513
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
4965
5514
  */
4966
5515
  schema: string;
4967
5516
  session: ISession;
@@ -4975,12 +5524,15 @@ export interface IViewFrontpage {
4975
5524
  export interface IViewHealthPage {
4976
5525
  /**
4977
5526
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5527
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5528
+ * @example "1.2.3"
4978
5529
  */
4979
5530
  catalogVersion: string;
4980
5531
  consents: IConsents;
4981
5532
  device: IDevice;
4982
5533
  /**
4983
5534
  * The unique identifier for the event.
5535
+ * @format uuid
4984
5536
  */
4985
5537
  eventId: string;
4986
5538
  /**
@@ -4995,20 +5547,24 @@ export interface IViewHealthPage {
4995
5547
  object: {
4996
5548
  /**
4997
5549
  * Used to pass the same information across events
5550
+ * @example "breakfast"
4998
5551
  */
4999
5552
  category?: string;
5000
5553
  /**
5001
5554
  * Freeform custom properties with dynamic field names for health-specific data
5555
+ * @additionalProperties true
5002
5556
  */
5003
5557
  custom?: {
5004
5558
  [k: string]: unknown;
5005
5559
  };
5006
5560
  /**
5007
5561
  * Description: The user intent or purpose of this event
5562
+ * @example "view logged foodstuff"
5008
5563
  */
5009
5564
  intent?: string;
5010
5565
  /**
5011
5566
  * The name of page
5567
+ * @example "Logbook"
5012
5568
  */
5013
5569
  name: string;
5014
5570
  /**
@@ -5029,6 +5585,7 @@ export interface IViewHealthPage {
5029
5585
  tags?: string[];
5030
5586
  /**
5031
5587
  * The title of the health page
5588
+ * @example "Be well med Wellobe: Vecka 4"
5032
5589
  */
5033
5590
  title?: string;
5034
5591
  };
@@ -5044,6 +5601,7 @@ export interface IViewHealthPage {
5044
5601
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5045
5602
  /**
5046
5603
  * The pageviewID.
5604
+ * @format uuid
5047
5605
  */
5048
5606
  pageviewId: string;
5049
5607
  referrer?: IPageRef;
@@ -5052,6 +5610,8 @@ export interface IViewHealthPage {
5052
5610
  provider: IProvider;
5053
5611
  /**
5054
5612
  * URL to the JSON schema for this event.
5613
+ * @format uri
5614
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5055
5615
  */
5056
5616
  schema: string;
5057
5617
  session: ISession;
@@ -5065,12 +5625,15 @@ export interface IViewHealthPage {
5065
5625
  export interface IViewLandingpage {
5066
5626
  /**
5067
5627
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5628
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5629
+ * @example "1.2.3"
5068
5630
  */
5069
5631
  catalogVersion: string;
5070
5632
  consents: IConsents;
5071
5633
  device: IDevice;
5072
5634
  /**
5073
5635
  * Event ID
5636
+ * @format uuid
5074
5637
  */
5075
5638
  eventId: string;
5076
5639
  eventType: "View";
@@ -5101,6 +5664,7 @@ export interface IViewLandingpage {
5101
5664
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5102
5665
  /**
5103
5666
  * The pageviewID.
5667
+ * @format uuid
5104
5668
  */
5105
5669
  pageviewId: string;
5106
5670
  referrer?: IPageRef;
@@ -5109,6 +5673,8 @@ export interface IViewLandingpage {
5109
5673
  provider: IProvider;
5110
5674
  /**
5111
5675
  * The schema of the event.
5676
+ * @format uri
5677
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5112
5678
  */
5113
5679
  schema: string;
5114
5680
  session: ISession;
@@ -5122,19 +5688,24 @@ export interface IViewLandingpage {
5122
5688
  export interface IViewListing {
5123
5689
  /**
5124
5690
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5691
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5692
+ * @example "1.2.3"
5125
5693
  */
5126
5694
  catalogVersion: string;
5127
5695
  consents: IConsents;
5128
5696
  device: IDevice;
5129
5697
  /**
5130
5698
  * Event ID
5699
+ * @format uuid
5131
5700
  */
5132
5701
  eventId: string;
5133
5702
  eventType: "View";
5134
5703
  experiments?: IExperiments;
5704
+ metrics?: IMetrics;
5135
5705
  object: {
5136
5706
  /**
5137
5707
  * The location of the page in the brand’s page hierarchy.
5708
+ * @pattern ^[a-z0-9-]+(>[a-z0-9-]+)*$
5138
5709
  */
5139
5710
  category?: string;
5140
5711
  /**
@@ -5147,12 +5718,13 @@ export interface IViewListing {
5147
5718
  isInfinite: boolean;
5148
5719
  /**
5149
5720
  * The total number of items in the listing, or -1 if unknown.
5721
+ * @minimum -1
5150
5722
  */
5151
5723
  itemsTotal: number;
5152
5724
  /**
5153
5725
  * The type of listing page, e.g. 'tag', 'section' etc.
5154
5726
  */
5155
- listingType: string;
5727
+ listingType: "Tag" | "Story" | "Section" | "Search" | "Author" | "Other";
5156
5728
  /**
5157
5729
  * The unique ID of this page.
5158
5730
  */
@@ -5167,6 +5739,7 @@ export interface IViewListing {
5167
5739
  objectType: "Listing";
5168
5740
  /**
5169
5741
  * Current pagination index. Zero if results are not paged.
5742
+ * @minimum 0
5170
5743
  */
5171
5744
  pageNumber: number;
5172
5745
  /**
@@ -5186,6 +5759,7 @@ export interface IViewListing {
5186
5759
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5187
5760
  /**
5188
5761
  * The pageviewID.
5762
+ * @format uuid
5189
5763
  */
5190
5764
  pageviewId: string;
5191
5765
  referrer?: IPageRef;
@@ -5194,6 +5768,8 @@ export interface IViewListing {
5194
5768
  provider: IProvider;
5195
5769
  /**
5196
5770
  * The schema of the event.
5771
+ * @format uri
5772
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5197
5773
  */
5198
5774
  schema: string;
5199
5775
  session: ISession;
@@ -5207,12 +5783,15 @@ export interface IViewListing {
5207
5783
  export interface IViewLockedArticle {
5208
5784
  /**
5209
5785
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5786
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5787
+ * @example "1.2.3"
5210
5788
  */
5211
5789
  catalogVersion: string;
5212
5790
  consents: IConsents;
5213
5791
  device: IDevice;
5214
5792
  /**
5215
5793
  * Event ID
5794
+ * @format uuid
5216
5795
  */
5217
5796
  eventId: string;
5218
5797
  /**
@@ -5220,30 +5799,26 @@ export interface IViewLockedArticle {
5220
5799
  */
5221
5800
  eventType: "View";
5222
5801
  experiments?: IExperiments;
5802
+ location?: ILocation;
5803
+ metrics?: IMetrics;
5223
5804
  object: {
5224
5805
  authors: string[];
5225
5806
  /**
5226
5807
  * The editorial category of this article.
5227
5808
  */
5228
5809
  category: string;
5229
- /**
5230
- * The hotness value that was set in the CMS.
5231
- */
5232
- hotness: number;
5233
5810
  /**
5234
5811
  * True if scrolling up/down transitions to the next or previous article.
5235
5812
  */
5236
5813
  isStacked: boolean;
5237
5814
  /**
5238
5815
  * The publication date of this version of the article.
5816
+ * @format date-time
5239
5817
  */
5240
5818
  lastUpdatedDate: string;
5241
- /**
5242
- * The lifetime value that was set in the CMS.
5243
- */
5244
- lifetime: number;
5245
5819
  /**
5246
5820
  * The newsroom that published the article.
5821
+ * @example "vg"
5247
5822
  */
5248
5823
  newsroom: string;
5249
5824
  /**
@@ -5268,6 +5843,7 @@ export interface IViewLockedArticle {
5268
5843
  paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
5269
5844
  /**
5270
5845
  * The publication date of the article.
5846
+ * @format date-time
5271
5847
  */
5272
5848
  publicationDate: string;
5273
5849
  /**
@@ -5278,16 +5854,22 @@ export interface IViewLockedArticle {
5278
5854
  * The title of the page.
5279
5855
  */
5280
5856
  title: string;
5857
+ /**
5858
+ * Url of the article top or when missing article main image.
5859
+ */
5860
+ topImageUrl?: string;
5281
5861
  /**
5282
5862
  * The type of article.
5283
5863
  */
5284
5864
  variant: "Article" | "LiveArticle" | "Special";
5285
5865
  /**
5286
5866
  * The version counter of the article.
5867
+ * @minimum 0
5287
5868
  */
5288
5869
  versionCounter: number;
5289
5870
  /**
5290
5871
  * The number of words in this version of the article.
5872
+ * @exclusiveMinimum 0
5291
5873
  */
5292
5874
  wordCount: number;
5293
5875
  };
@@ -5300,6 +5882,7 @@ export interface IViewLockedArticle {
5300
5882
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender" | "Scroll";
5301
5883
  /**
5302
5884
  * The pageviewID.
5885
+ * @format uuid
5303
5886
  */
5304
5887
  pageviewId: string;
5305
5888
  referrer?: IPageRef;
@@ -5308,6 +5891,8 @@ export interface IViewLockedArticle {
5308
5891
  provider: IProvider;
5309
5892
  /**
5310
5893
  * The schema of the event.
5894
+ * @format uri
5895
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5311
5896
  */
5312
5897
  schema: string;
5313
5898
  session: ISession;
@@ -5321,12 +5906,15 @@ export interface IViewLockedArticle {
5321
5906
  export interface IViewLockedAudioPage {
5322
5907
  /**
5323
5908
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5909
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5910
+ * @example "1.2.3"
5324
5911
  */
5325
5912
  catalogVersion: string;
5326
5913
  consents: IConsents;
5327
5914
  device: IDevice;
5328
5915
  /**
5329
5916
  * The unique identifier for the event.
5917
+ * @format uuid
5330
5918
  */
5331
5919
  eventId: string;
5332
5920
  /**
@@ -5374,6 +5962,7 @@ export interface IViewLockedAudioPage {
5374
5962
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5375
5963
  /**
5376
5964
  * The pageviewID.
5965
+ * @format uuid
5377
5966
  */
5378
5967
  pageviewId: string;
5379
5968
  referrer?: IPageRef;
@@ -5382,6 +5971,8 @@ export interface IViewLockedAudioPage {
5382
5971
  provider: IProvider;
5383
5972
  /**
5384
5973
  * URL to the JSON schema for this event.
5974
+ * @format uri
5975
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5385
5976
  */
5386
5977
  schema: string;
5387
5978
  session: ISession;
@@ -5395,12 +5986,15 @@ export interface IViewLockedAudioPage {
5395
5986
  export interface IViewLockedVideoPage {
5396
5987
  /**
5397
5988
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5989
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
5990
+ * @example "1.2.3"
5398
5991
  */
5399
5992
  catalogVersion: string;
5400
5993
  consents: IConsents;
5401
5994
  device: IDevice;
5402
5995
  /**
5403
5996
  * The unique identifier for the event.
5997
+ * @format uuid
5404
5998
  */
5405
5999
  eventId: string;
5406
6000
  /**
@@ -5448,6 +6042,7 @@ export interface IViewLockedVideoPage {
5448
6042
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5449
6043
  /**
5450
6044
  * The pageviewID.
6045
+ * @format uuid
5451
6046
  */
5452
6047
  pageviewId: string;
5453
6048
  referrer?: IPageRef;
@@ -5456,6 +6051,8 @@ export interface IViewLockedVideoPage {
5456
6051
  provider: IProvider;
5457
6052
  /**
5458
6053
  * URL to the JSON schema for this event.
6054
+ * @format uri
6055
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5459
6056
  */
5460
6057
  schema: string;
5461
6058
  session: ISession;
@@ -5469,12 +6066,15 @@ export interface IViewLockedVideoPage {
5469
6066
  export interface IViewPage {
5470
6067
  /**
5471
6068
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6069
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6070
+ * @example "1.2.3"
5472
6071
  */
5473
6072
  catalogVersion: string;
5474
6073
  consents: IConsents;
5475
6074
  device: IDevice;
5476
6075
  /**
5477
6076
  * Event ID
6077
+ * @format uuid
5478
6078
  */
5479
6079
  eventId: string;
5480
6080
  /**
@@ -5514,6 +6114,7 @@ export interface IViewPage {
5514
6114
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5515
6115
  /**
5516
6116
  * The pageviewID.
6117
+ * @format uuid
5517
6118
  */
5518
6119
  pageviewId: string;
5519
6120
  referrer?: IPageRef;
@@ -5522,6 +6123,8 @@ export interface IViewPage {
5522
6123
  provider: IProvider;
5523
6124
  /**
5524
6125
  * The schema of the event.
6126
+ * @format uri
6127
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5525
6128
  */
5526
6129
  schema: string;
5527
6130
  session: ISession;
@@ -5535,12 +6138,15 @@ export interface IViewPage {
5535
6138
  export interface IViewSportsPage {
5536
6139
  /**
5537
6140
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6141
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6142
+ * @example "1.2.3"
5538
6143
  */
5539
6144
  catalogVersion: string;
5540
6145
  consents: IConsents;
5541
6146
  device: IDevice;
5542
6147
  /**
5543
6148
  * The unique identifier for the event.
6149
+ * @format uuid
5544
6150
  */
5545
6151
  eventId: string;
5546
6152
  /**
@@ -5581,6 +6187,7 @@ export interface IViewSportsPage {
5581
6187
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5582
6188
  /**
5583
6189
  * The pageviewID.
6190
+ * @format uuid
5584
6191
  */
5585
6192
  pageviewId: string;
5586
6193
  referrer?: IPageRef;
@@ -5589,6 +6196,8 @@ export interface IViewSportsPage {
5589
6196
  provider: IProvider;
5590
6197
  /**
5591
6198
  * URL to the JSON schema for this event.
6199
+ * @format uri
6200
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5592
6201
  */
5593
6202
  schema: string;
5594
6203
  session: ISession;
@@ -5602,12 +6211,15 @@ export interface IViewSportsPage {
5602
6211
  export interface IViewTitle {
5603
6212
  /**
5604
6213
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6214
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6215
+ * @example "1.2.3"
5605
6216
  */
5606
6217
  catalogVersion: string;
5607
6218
  consents: IConsents;
5608
6219
  device: IDevice;
5609
6220
  /**
5610
6221
  * Event ID
6222
+ * @format uuid
5611
6223
  */
5612
6224
  eventId: string;
5613
6225
  /**
@@ -5653,6 +6265,7 @@ export interface IViewTitle {
5653
6265
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5654
6266
  /**
5655
6267
  * The pageviewID.
6268
+ * @format uuid
5656
6269
  */
5657
6270
  pageviewId: string;
5658
6271
  referrer?: IPageRef;
@@ -5661,6 +6274,8 @@ export interface IViewTitle {
5661
6274
  provider: IProvider;
5662
6275
  /**
5663
6276
  * The schema of the event.
6277
+ * @format uri
6278
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5664
6279
  */
5665
6280
  schema: string;
5666
6281
  session: ISession;
@@ -5674,12 +6289,15 @@ export interface IViewTitle {
5674
6289
  export interface IViewVideoPage {
5675
6290
  /**
5676
6291
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6292
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6293
+ * @example "1.2.3"
5677
6294
  */
5678
6295
  catalogVersion: string;
5679
6296
  consents: IConsents;
5680
6297
  device: IDevice;
5681
6298
  /**
5682
6299
  * The unique identifier for the event.
6300
+ * @format uuid
5683
6301
  */
5684
6302
  eventId: string;
5685
6303
  /**
@@ -5719,6 +6337,7 @@ export interface IViewVideoPage {
5719
6337
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5720
6338
  /**
5721
6339
  * The pageviewID.
6340
+ * @format uuid
5722
6341
  */
5723
6342
  pageviewId: string;
5724
6343
  referrer?: IPageRef;
@@ -5727,6 +6346,8 @@ export interface IViewVideoPage {
5727
6346
  provider: IProvider;
5728
6347
  /**
5729
6348
  * URL to the JSON schema for this event.
6349
+ * @format uri
6350
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5730
6351
  */
5731
6352
  schema: string;
5732
6353
  session: ISession;
@@ -5740,12 +6361,15 @@ export interface IViewVideoPage {
5740
6361
  export interface IViewWeather {
5741
6362
  /**
5742
6363
  * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
6364
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
6365
+ * @example "1.2.3"
5743
6366
  */
5744
6367
  catalogVersion: string;
5745
6368
  consents: IConsents;
5746
6369
  device: IDevice;
5747
6370
  /**
5748
6371
  * Event ID
6372
+ * @format uuid
5749
6373
  */
5750
6374
  eventId: string;
5751
6375
  /**
@@ -5793,6 +6417,7 @@ export interface IViewWeather {
5793
6417
  navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5794
6418
  /**
5795
6419
  * The pageviewID.
6420
+ * @format uuid
5796
6421
  */
5797
6422
  pageviewId: string;
5798
6423
  referrer?: IPageRef;
@@ -5801,6 +6426,8 @@ export interface IViewWeather {
5801
6426
  provider: IProvider;
5802
6427
  /**
5803
6428
  * The schema of the event.
6429
+ * @format uri
6430
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
5804
6431
  */
5805
6432
  schema: string;
5806
6433
  session: ISession;
@@ -5808,6 +6435,44 @@ export interface IViewWeather {
5808
6435
  tracker: ITracker;
5809
6436
  user?: IUser;
5810
6437
  }
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;
6438
+ 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;
6439
+ export type OmittedProperties = "user" | "eventId" | "consents" | "device" | "time" | "tracker" | "session" | "eventType" | "schema" | "object.objectType" | "isAnonymous" | "provider.providerId" | "provider.providerSdrn" | "page.pageviewId" | "page.utm" | "page.info" | "page.referrer.url" | "catalogVersion";
6440
+ export type TpaasSchemasWithNavigationType = Extract<ITpaasEvent, {
6441
+ page: {
6442
+ navigationType?: string;
6443
+ };
6444
+ }>;
6445
+ type NavigationType$1 = TpaasSchemasWithNavigationType["page"]["navigationType"];
6446
+ export type DeepOmit<T, K extends string> = T extends readonly unknown[] ? T : T extends object ? {
6447
+ [P in keyof T as P extends K ? never : P]: DeepOmit<T[P], K extends `${Exclude<P, symbol>}.${infer R}` ? R : never>;
6448
+ } extends infer Result ? {
6449
+ [P in keyof Result as Result[P] extends Record<string, never> ? never : P]: Result[P];
6450
+ } : never : T;
6451
+ type OptionalNavigationType<T> = T extends {
6452
+ page: {
6453
+ navigationType: infer N;
6454
+ };
6455
+ } ? Omit<T, "page"> & {
6456
+ page: Omit<T["page"], "navigationType"> & {
6457
+ navigationType?: N;
6458
+ };
6459
+ } : T extends {
6460
+ page?: {
6461
+ navigationType: infer N;
6462
+ };
6463
+ } ? Omit<T, "page"> & {
6464
+ page?: Omit<NonNullable<T["page"]>, "navigationType"> & {
6465
+ navigationType?: N;
6466
+ };
6467
+ } : T;
6468
+ type WithOptionalPage<T> = T extends TpaasOptionalPageSchemas ? Omit<T, "page"> & {
6469
+ page?: T["page"];
6470
+ } : T;
6471
+ export type TpaasOptionalPageSchemas = IAnonymousViewUIElement | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAdSlot | IImpressionForm | IImpressionHealthUIElement | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
6472
+ export type InputParams<T extends ITpaasEvent> = DeepOmit<OptionalNavigationType<WithOptionalPage<T>>, OmittedProperties>;
6473
+
6474
+ export {
6475
+ NavigationType$1 as NavigationType,
6476
+ };
5812
6477
 
5813
6478
  export {};