@wistia/bottler-helpers 1.0.5

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.
package/schema.graphql ADDED
@@ -0,0 +1,848 @@
1
+ "Represents a schema"
2
+ schema {
3
+ query: RootQueryType
4
+ mutation: RootMutationType
5
+ }
6
+
7
+ type PageInfo {
8
+ startCursor: String
9
+ endCursor: String
10
+ hasNextPage: Boolean!
11
+ hasPreviousPage: Boolean!
12
+ }
13
+
14
+ input Pagination {
15
+ limit: Int!
16
+ cursor: String
17
+ direction: CursorDirection
18
+ }
19
+
20
+ type PollOption {
21
+ id: Int!
22
+ text: String!
23
+ count: Int!
24
+ percent: Float!
25
+ }
26
+
27
+ input Interval {
28
+ startDate: Date
29
+ endDate: Date
30
+ }
31
+
32
+ type LiveEventReferrerDomainAggregate {
33
+ accountKey: String
34
+ accountName: String
35
+ liveStreamEventId: Int
36
+ referrerDomain: String
37
+ impressions: Int
38
+ registrations: Int
39
+ attendees: Int
40
+ }
41
+
42
+ type LiveEventUtmCampaignAggregate {
43
+ accountKey: String
44
+ accountName: String
45
+ liveStreamEventId: Int
46
+ utmCampaign: String
47
+ impressions: Int
48
+ registrations: Int
49
+ attendees: Int
50
+ }
51
+
52
+ type PodcastEpisodeApplicationAggregate {
53
+ accountKey: String
54
+ accountName: String
55
+ application: String
56
+ downloads: Int
57
+ playableTimeDownloaded: Int
58
+ percentOfDownloads: Float
59
+ }
60
+
61
+ type PlayedTimeDatapointEpisode {
62
+ episodeId: Int!
63
+ playedTime: Int!
64
+ episodeName: String!
65
+ }
66
+
67
+ type RelativeMediaAggregate {
68
+ accountKey: String
69
+ accountName: String
70
+ projectHashedId: String
71
+ projectName: String
72
+ mediaGlobalId: String
73
+ mediaHashedId: String
74
+ mediaName: String
75
+ mediaType: String
76
+ mediaUploadedAt: DateTime
77
+ mediaDeletedAt: DateTime
78
+ mediaDuration: Float
79
+ mediaThumbnailUrl: String
80
+ episodeGlobalId: String
81
+ episodeHashedId: String
82
+ episodeTitle: String
83
+ episodeUploadedAt: DateTime
84
+ episodeDeletedAt: DateTime
85
+ episodePublishedAt: DateTime
86
+ liveStreamEventId: Int
87
+ containerIsPodcastEnabled: Boolean
88
+ loads: Int
89
+ uniqueLoads: Int
90
+ plays: Int
91
+ uniquePlays: Int
92
+ playedTime: Int
93
+ uniquePlayedTime: Int
94
+ playRate: Float
95
+ uniqueVisitors: Int
96
+ ctaImpressions: Int
97
+ ctaConversions: Int
98
+ ctaConversionRate: Float
99
+ engagementRate: Float
100
+ cumulativePlays: Int
101
+ cumulativePlayedTime: Int
102
+ }
103
+
104
+ "Whether a lead is new or existing to Wistia"
105
+ enum WistiaLeadType {
106
+ NEW
107
+ EXISTING
108
+ }
109
+
110
+ type ProjectAggregate {
111
+ accountId: Int
112
+ accountKey: String
113
+ accountName: String
114
+ projectId: Int
115
+ projectHashedId: String
116
+ projectName: String
117
+ projectUrl: String
118
+ projectCreatedAt: DateTime
119
+ projectVideoCount: Int
120
+ loads: Int
121
+ uniqueLoads: Int
122
+ plays: Int
123
+ uniquePlays: Int
124
+ playedTime: Int
125
+ uniquePlayedTime: Int
126
+ playedTimeHumanReadable: String
127
+ uniquePlayedTimeHumanReadable: String
128
+ replayedTimeHumanReadable: String
129
+ playRate: Float
130
+ uniqueVisitors: Int
131
+ ctaImpressions: Int
132
+ ctaConversions: Int
133
+ ctaConversionRate: Float
134
+ engagementRate: Float
135
+ }
136
+
137
+ type MediaFormAggregate {
138
+ firstName: String
139
+ lastName: String
140
+ email: String!
141
+ convertedAt: DateTime!
142
+ wistiaLeadType: WistiaLeadType!
143
+ }
144
+
145
+ type MediaEmbedLanguageAggregate {
146
+ mediaGlobalId: String
147
+ plays: Int
148
+ language: String
149
+ percentOfTotalPlays: Float
150
+ captionsSupport: Boolean
151
+ }
152
+
153
+ type LiveStreamEventAggregate {
154
+ registrations: Int
155
+ chats: Int
156
+ totalWatchTime: Int
157
+ averageWatchTime: Int
158
+ chattedAttendees: Int
159
+ attendance: Int
160
+ engagementRate: Float
161
+ currentlyWatching: Int
162
+ engagedAttendees: Int
163
+ impressions: Int
164
+ eventTime: Int
165
+ attendeesHistogram: [Int]
166
+ chatHistogram: [Int]
167
+ visualFocusPlayedHistogram: [Int]
168
+ pollQuestions: [PollQuestion!]
169
+ pollResponses(visitorKey: String!): [PollResponse!]
170
+ qaQuestions: Int
171
+ qaAnswers: Int
172
+ annotationImpressions: Int
173
+ annotationClicks: Int
174
+ }
175
+
176
+ union RelativeMediaEventAggregateResult = RelativeAggregateEntries | AggregateError
177
+
178
+ "A metric to order traffic aggregates"
179
+ enum TrafficMetric {
180
+ IMPRESSIONS
181
+ REGISTRATIONS
182
+ ATTENDEES
183
+ }
184
+
185
+ "Filter by certain types in aggregation queries"
186
+ enum TypeFilter {
187
+ PROJECTS
188
+ CHANNELS
189
+ MEDIA
190
+ PODCAST_EPISODE
191
+ PODCAST_EPISODE_APPLICATION
192
+ ACCOUNT_EMBED_LOCATION
193
+ MEDIA_EMBED_LOCATION
194
+ }
195
+
196
+ input SearchFilter {
197
+ annotations: [Boolean]
198
+ autoplays: [Boolean]
199
+ cta: [Boolean]
200
+ eventbrite: [Boolean]
201
+ loops: [Boolean]
202
+ marketo: [Boolean]
203
+ mediaTypes: [String]
204
+ turnstile: [Boolean]
205
+ contentIds: [String]
206
+ tags: [String]
207
+ }
208
+
209
+ type Media {
210
+ podcastPlays: Int
211
+ }
212
+
213
+ type DownloadsDatapointTimestamp {
214
+ timestamp: DateTime!
215
+ downloads: Int!
216
+ }
217
+
218
+ type PollQuestion {
219
+ id: Int!
220
+ pollId: Int!
221
+ text: String!
222
+ responseCount: Int!
223
+ options: [PollOption!]
224
+ }
225
+
226
+ "An interval of time to aggregate metrics into datapoints"
227
+ enum Granularity {
228
+ "1 day"
229
+ P1D
230
+
231
+ "1 week (7 days)"
232
+ P1W
233
+
234
+ "4 weeks (28 days)"
235
+ P4W
236
+
237
+ "1 month"
238
+ P1M
239
+
240
+ "3 months (90 days)"
241
+ P3M
242
+
243
+ "1 year (265 days)"
244
+ P1Y
245
+ }
246
+
247
+ type LiveEventTimeseriesAggregate {
248
+ impressions: Int
249
+ registrations: Int
250
+ completionRate: Float
251
+ }
252
+
253
+ "Type of aggregate error"
254
+ enum AggregateErrorType {
255
+ "The queried interval exceeds the data retention period for the aggregate."
256
+ INTERVAL_EXCEEDS_RETENTION
257
+ }
258
+
259
+ """
260
+ The `Date` scalar type represents a date. The Date appears in a JSON
261
+ response as an ISO8601 formatted string, without a time component.
262
+ """
263
+ scalar Date
264
+
265
+ type AccountEmbedLocationAggregate {
266
+ accountKey: String
267
+ accountName: String
268
+ embedLocationCount: Int
269
+ plays: Int
270
+ playRate: Float
271
+ engagementRate: Float
272
+ playedTime: Int
273
+ loads: Int
274
+ uniqueVisitors: Int
275
+ ctaConversionRate: Float
276
+ }
277
+
278
+ type DownloadsDatapointEpisode {
279
+ episodeId: Int!
280
+ downloads: Int!
281
+ episodeName: String!
282
+ }
283
+
284
+ type PollResponse {
285
+ pollId: Int!
286
+ pollQuestionId: Int!
287
+ pollOptionId: Int!
288
+ }
289
+
290
+ type PlaysDatapointEpisode {
291
+ episodeId: Int!
292
+ plays: Int!
293
+ episodeName: String!
294
+ }
295
+
296
+ type MediaEmbedLocationAggregate {
297
+ accountKey: String
298
+ accountName: String
299
+ containerGlobalId: String
300
+ containerHashedId: String
301
+ containerName: String
302
+ episodeHashedId: String
303
+ episodeGlobalId: String
304
+ episodeTitle: String
305
+ mediaHashedId: String
306
+ mediaGlobalId: String
307
+ mediaName: String
308
+ mediaThumbnailUrl: String
309
+ embedDomain: String
310
+ embedPath: String
311
+ embedUrl: String
312
+ plays: Int
313
+ playRate: Float
314
+ engagementRate: Float
315
+ playedTime: Int
316
+ loads: Int
317
+ uniqueVisitors: Int
318
+ ctaConversionRate: Float
319
+ pageTitle: String
320
+ placement: String
321
+ size: String
322
+ }
323
+
324
+ type ChannelAggregate {
325
+ accountId: Int
326
+ accountKey: String
327
+ accountName: String
328
+ channelId: Int
329
+ channelHashedId: String
330
+ channelCreatedAt: DateTime
331
+ channelEpisodeCount: Int
332
+ channelTitle: String
333
+ channelPodcastEnabled: Boolean
334
+ channelUrl: String
335
+ loads: Int
336
+ uniqueLoads: Int
337
+ plays: Int
338
+ uniquePlays: Int
339
+ playedTime: Int
340
+ uniquePlayedTime: Int
341
+ playedTimeHumanReadable: String
342
+ uniquePlayedTimeHumanReadable: String
343
+ replayedTimeHumanReadable: String
344
+ playRate: Float
345
+ uniqueVisitors: Int
346
+ ctaImpressions: Int
347
+ ctaConversions: Int
348
+ ctaConversionRate: Float
349
+ engagementRate: Float
350
+ }
351
+
352
+ type PodcastEpisodeAggregate {
353
+ accountKey: String
354
+ accountName: String
355
+ downloads: Int
356
+ playableTimeDownloaded: Int
357
+ }
358
+
359
+ type TopEpisodesDatapoint {
360
+ plays: Int!
361
+ playedTime: Int!
362
+ episodeId: Int!
363
+ episodeName: String!
364
+ mediaHashedId: String!
365
+ averageEngagement: Float!
366
+ publishedAt: String!
367
+ }
368
+
369
+ type MediaEventDatapoint {
370
+ timestamp: String
371
+ entries: [MediaEventAggregate]
372
+ }
373
+
374
+ type LiveEventDataPoint {
375
+ timestamp: String
376
+ entries: [LiveEventTimeseriesAggregate]
377
+ }
378
+
379
+ "An interval of time to aggregate metrics into datapoints"
380
+ enum RelativePeriod {
381
+ "1 week (7 days)"
382
+ P7D
383
+
384
+ "30 days"
385
+ P30D
386
+ }
387
+
388
+ type AccountDigestStatus {
389
+ name: String!
390
+ status: String!
391
+ }
392
+
393
+ type RootMutationType {
394
+ exportMedia(contactId: Int!, interval: Interval, searchFilter: SearchFilter, aggregate: ExportAggregate): ExportStatus
395
+ accountDigest(contactId: Int!, interval: Interval!, overrideEmail: String): AccountDigestStatus
396
+ }
397
+
398
+ type Channel {
399
+ channelId: String
400
+ interval: String
401
+ priorInterval: String
402
+ currentPlays: Int
403
+ priorPlays: Int
404
+ currentDownloads: Int
405
+ priorDownloads: Int
406
+ currentPlayedTime: Int
407
+ priorPlayedTime: Int
408
+ currentAverageSessionDuration: Int
409
+ priorAverageSessionDuration: Int
410
+ playsByEpisode: [PlaysDatapointEpisode]
411
+ downloadsByEpisode: [DownloadsDatapointEpisode]
412
+ topPlaysByApplication(limit: Int): [PlaysDatapointApplication]
413
+ playsByApplication: [PlaysDatapointApplication]
414
+ downloadsByApplication: [DownloadsDatapointApplication]
415
+ playsOverTime: [PlaysDatapointTimestamp]
416
+ downloadsOverTime: [DownloadsDatapointTimestamp]
417
+ currentEmbedPlayedTime: Int
418
+ currentPodcastPlayedTime: Int
419
+ priorEmbedPlayedTime: Int
420
+ priorPodcastPlayedTime: Int
421
+ embedPlayedTimeOverTime: [PlayedTimeDatapointTimestamp]
422
+ podcastPlayedTimeOverTime: [PlayedTimeDatapointTimestamp]
423
+ playedTimeOverTime: [PlayedTimeDatapointTimestamp]
424
+ playedTimeByEpisode: [PlayedTimeDatapointEpisode]
425
+ topEpisodes: [TopEpisodesDatapoint]
426
+ }
427
+
428
+ type RootQueryType {
429
+ channel(channelHashedId: String!, interval: Interval): Channel
430
+ media(mediaId: Int!): Media
431
+ medias(searchFilter: SearchFilter): Medias
432
+ mediaEvents(interval: Interval, searchFilter: SearchFilter): MediaEvents
433
+ liveEvents(liveStreamEventIds: [Int]!, includePostEvent: Boolean): LiveEvents
434
+ liveEvent(liveStreamEventId: Int!, includePostEvent: Boolean): LiveEvent
435
+ mediaFormConversions(mediaGlobalId: String!, interval: Interval!, pagination: Pagination): MediaFormAggregateResult
436
+ relativeMediaEvents(relativePeriod: RelativePeriod!, searchFilter: SearchFilter): RelativeMediaEvents
437
+ }
438
+
439
+ type MediaReferrerDomainAggregate {
440
+ accountKey: String
441
+ accountName: String
442
+ containerGlobalId: String
443
+ containerHashedId: String
444
+ containerName: String
445
+ episodeHashedId: String
446
+ episodeGlobalId: String
447
+ episodeTitle: String
448
+ mediaHashedId: String
449
+ mediaGlobalId: String
450
+ mediaName: String
451
+ referrerDomain: String
452
+ plays: Int
453
+ playRate: Float
454
+ engagementRate: Float
455
+ playedTime: Int
456
+ loads: Int
457
+ uniqueVisitors: Int
458
+ ctaConversionRate: Float
459
+ }
460
+
461
+ type EpisodeAggregate {
462
+ accountKey: String
463
+ accountName: String
464
+ channelHashedId: String
465
+ channelTitle: String
466
+ channelPodcastEnabled: Boolean
467
+ episodeGlobalId: String
468
+ episodeHashedId: String
469
+ episodeTitle: String
470
+ episodePublishedAt: DateTime
471
+ projectHashedId: String
472
+ projectName: String
473
+ loads: Int
474
+ uniqueLoads: Int
475
+ plays: Int
476
+ uniquePlays: Int
477
+ playedTime: Int
478
+ uniquePlayedTime: Int
479
+ playRate: Float
480
+ uniqueVisitors: Int
481
+ ctaImpressions: Int
482
+ ctaConversions: Int
483
+ ctaConversionRate: Float
484
+ engagementRate: Float
485
+ }
486
+
487
+ """
488
+ The `DateTime` scalar type represents a date and time in the UTC
489
+ timezone. The DateTime appears in a JSON response as an ISO8601 formatted
490
+ string, including UTC timezone ("Z"). The parsed date and time string will
491
+ be converted to UTC if there is an offset.
492
+ """
493
+ scalar DateTime
494
+
495
+ type MediaUtmCampaignAggregate {
496
+ accountKey: String
497
+ accountName: String
498
+ containerGlobalId: String
499
+ containerHashedId: String
500
+ containerName: String
501
+ episodeHashedId: String
502
+ episodeGlobalId: String
503
+ episodeTitle: String
504
+ mediaHashedId: String
505
+ mediaGlobalId: String
506
+ mediaName: String
507
+ utmCampaign: String
508
+ plays: Int
509
+ playRate: Float
510
+ engagementRate: Float
511
+ playedTime: Int
512
+ loads: Int
513
+ uniqueVisitors: Int
514
+ ctaConversionRate: Float
515
+ }
516
+
517
+ type LiveEventUtmMediumAggregate {
518
+ accountKey: String
519
+ accountName: String
520
+ liveStreamEventId: Int
521
+ utmMedium: String
522
+ impressions: Int
523
+ registrations: Int
524
+ attendees: Int
525
+ }
526
+
527
+ type RelativeAccountAggregate {
528
+ accountKey: String
529
+ accountName: String
530
+ loads: Int
531
+ uniqueLoads: Int
532
+ plays: Int
533
+ uniquePlays: Int
534
+ playedTime: Int
535
+ uniquePlayedTime: Int
536
+ playRate: Float
537
+ uniqueVisitors: Int
538
+ ctaImpressions: Int
539
+ ctaConversions: Int
540
+ ctaConversionRate: Float
541
+ engagementRate: Float
542
+ }
543
+
544
+ type MediaViewerScreenSizeAggregate {
545
+ accountKey: String
546
+ accountName: String
547
+ containerGlobalId: String
548
+ containerHashedId: String
549
+ containerName: String
550
+ episodeHashedId: String
551
+ episodeGlobalId: String
552
+ episodeTitle: String
553
+ mediaHashedId: String
554
+ mediaGlobalId: String
555
+ mediaName: String
556
+ viewerScreenSize: String
557
+ plays: Int
558
+ playRate: Float
559
+ engagementRate: Float
560
+ playedTime: Int
561
+ loads: Int
562
+ uniqueVisitors: Int
563
+ ctaConversionRate: Float
564
+ }
565
+
566
+ type MediaUtmMediumAggregate {
567
+ accountKey: String
568
+ accountName: String
569
+ containerGlobalId: String
570
+ containerHashedId: String
571
+ containerName: String
572
+ episodeHashedId: String
573
+ episodeGlobalId: String
574
+ episodeTitle: String
575
+ mediaHashedId: String
576
+ mediaGlobalId: String
577
+ mediaName: String
578
+ utmMedium: String
579
+ plays: Int
580
+ playRate: Float
581
+ engagementRate: Float
582
+ playedTime: Int
583
+ loads: Int
584
+ uniqueVisitors: Int
585
+ ctaConversionRate: Float
586
+ }
587
+
588
+ type AccountAggregate {
589
+ accountKey: String
590
+ accountName: String
591
+ loads: Int
592
+ uniqueLoads: Int
593
+ plays: Int
594
+ uniquePlays: Int
595
+ playedTime: Int
596
+ uniquePlayedTime: Int
597
+ playRate: Float
598
+ uniqueVisitors: Int
599
+ mediaCount: Int
600
+ ctaImpressions: Int
601
+ ctaConversions: Int
602
+ ctaConversionRate: Float
603
+ engagementRate: Float
604
+ formImpressions: Int
605
+ formConversions: Int
606
+ formConversionRate: Float
607
+ }
608
+
609
+ type LiveEvent {
610
+ aggregate(includePostEvent: Boolean): LiveStreamEventAggregate
611
+ timeseries(granularity: Granularity!): [LiveEventDataPoint]
612
+ referrerDomainRegistrations(orderBy: TrafficMetric!, order: Order!): [LiveEventReferrerDomainAggregate]
613
+ utmCampaignRegistrations(orderBy: TrafficMetric!, order: Order!): [LiveEventUtmCampaignAggregate]
614
+ utmSourceRegistrations(orderBy: TrafficMetric!, order: Order!): [LiveEventUtmSourceAggregate]
615
+ utmMediumRegistrations(orderBy: TrafficMetric!, order: Order!): [LiveEventUtmMediumAggregate]
616
+ }
617
+
618
+ type MediaFormAggregateResult {
619
+ pageInfo: PageInfo!
620
+ entries: [MediaFormAggregate]
621
+ }
622
+
623
+ type RelativeMediaEventDatapoint {
624
+ relativePeriod: String
625
+ entries: [RelativeMediaAggregate]
626
+ }
627
+
628
+ type RelativeMediaEvents {
629
+ timeseries(granularity: Granularity!, limit: Int): [RelativeMediaEventDatapoint]
630
+ orderedEntriesResult(orderBy: MediaEventMetric!, order: Order!, limit: Int!): RelativeMediaEventAggregateResult
631
+ aggregate: RelativeAggregate
632
+ }
633
+
634
+ type RelativeAggregateEntries {
635
+ entries: [RelativeMediaAggregate]
636
+ }
637
+
638
+ type AggregateEntries {
639
+ entries: [MediaEventAggregate]
640
+ }
641
+
642
+ type AggregateError {
643
+ error: AggregateErrorType!
644
+ message: String!
645
+ }
646
+
647
+ type PlaysDatapointTimestamp {
648
+ timestamp: DateTime!
649
+ plays: Int!
650
+ }
651
+
652
+ type PlayedTimeDatapointTimestamp {
653
+ timestamp: DateTime!
654
+ playedTime: Int!
655
+ }
656
+
657
+ "A field to group entries by"
658
+ enum MediaEventDimension {
659
+ ACCOUNT
660
+ PROJECT
661
+ CHANNEL
662
+ EPISODE
663
+ MEDIA
664
+ ACCOUNT_EMBED_LOCATION
665
+ MEDIA_EMBED_LOCATION
666
+ MEDIA_EMBED_LANGUAGE
667
+ PODCAST_EPISODE_APPLICATION
668
+ MEDIA_REFERRER_DOMAIN
669
+ MEDIA_VIEWER_SCREEN_SIZE
670
+ MEDIA_UTM_CAMPAIGN
671
+ MEDIA_UTM_SOURCE
672
+ MEDIA_UTM_MEDIUM
673
+ }
674
+
675
+ "Which way to paginate from a cursor"
676
+ enum CursorDirection {
677
+ BEFORE
678
+ AFTER
679
+ }
680
+
681
+ "A field to filter entries by"
682
+ enum FilterDimension {
683
+ EMBED_DOMAIN
684
+ }
685
+
686
+ type DownloadsDatapointApplication {
687
+ application: String!
688
+ downloads: Int!
689
+ }
690
+
691
+ type PlaysDatapointApplication {
692
+ application: String!
693
+ plays: Int!
694
+ }
695
+
696
+ type LiveEventUtmSourceAggregate {
697
+ accountKey: String
698
+ accountName: String
699
+ liveStreamEventId: Int
700
+ utmSource: String
701
+ impressions: Int
702
+ registrations: Int
703
+ attendees: Int
704
+ }
705
+
706
+ union RelativeAggregate = RelativeAccountAggregate
707
+
708
+ type MediaAggregate {
709
+ accountKey: String
710
+ accountName: String
711
+ projectHashedId: String
712
+ projectName: String
713
+ mediaGlobalId: String
714
+ mediaHashedId: String
715
+ mediaName: String
716
+ mediaType: String
717
+ mediaUploadedAt: DateTime
718
+ mediaDeletedAt: DateTime
719
+ mediaDuration: Float
720
+ mediaThumbnailUrl: String
721
+ episodeGlobalId: String
722
+ episodeHashedId: String
723
+ episodeTitle: String
724
+ episodeUploadedAt: DateTime
725
+ episodeDeletedAt: DateTime
726
+ episodePublishedAt: DateTime
727
+ liveStreamEventId: Int
728
+ containerIsPodcastEnabled: Boolean
729
+ loads: Int
730
+ uniqueLoads: Int
731
+ plays: Int
732
+ uniquePlays: Int
733
+ playedTime: Int
734
+ uniquePlayedTime: Int
735
+ playRate: Float
736
+ uniqueVisitors: Int
737
+ ctaImpressions: Int
738
+ ctaConversions: Int
739
+ ctaConversionRate: Float
740
+ engagementRate: Float
741
+ formImpressions: Int
742
+ formConversions: Int
743
+ formConversionRate: Float
744
+ }
745
+
746
+ type MediaUtmSourceAggregate {
747
+ accountKey: String
748
+ accountName: String
749
+ containerGlobalId: String
750
+ containerHashedId: String
751
+ containerName: String
752
+ episodeHashedId: String
753
+ episodeGlobalId: String
754
+ episodeTitle: String
755
+ mediaHashedId: String
756
+ mediaGlobalId: String
757
+ mediaName: String
758
+ utmSource: String
759
+ plays: Int
760
+ playRate: Float
761
+ engagementRate: Float
762
+ playedTime: Int
763
+ loads: Int
764
+ uniqueVisitors: Int
765
+ ctaConversionRate: Float
766
+ }
767
+
768
+ "Type of export aggregate"
769
+ enum ExportAggregate {
770
+ MEDIA
771
+ PROJECT_MEDIA
772
+ MEDIA_EMBED_LOCATION
773
+ PROJECTS
774
+ CHANNELS
775
+ PODCAST_EPISODE_APPLICATION
776
+ CHANNEL_EPISODE
777
+ PODCAST_EPISODE
778
+ MEDIA_FORM_CONVERSION
779
+ MEDIA_COMPARISON
780
+ }
781
+
782
+ union MediaEventAggregate = AccountAggregate | ChannelAggregate | EpisodeAggregate | MediaAggregate | PodcastEpisodeAggregate | PodcastEpisodeApplicationAggregate | ProjectAggregate | AccountEmbedLocationAggregate | MediaEmbedLocationAggregate | MediaReferrerDomainAggregate | MediaEmbedLanguageAggregate | MediaViewerScreenSizeAggregate | MediaUtmCampaignAggregate | MediaUtmSourceAggregate | MediaUtmMediumAggregate
783
+
784
+ union MediaEventAggregateResult = AggregateEntries | AggregateError
785
+
786
+ type MediaEvents {
787
+ aggregate(typeFilter: TypeFilter): MediaEventAggregate
788
+ timeseries(
789
+ for: MediaEventMetric!, over: MediaEventDimension!, granularity: Granularity!, typeFilter: TypeFilter, limit: Int
790
+ ): [MediaEventDatapoint]
791
+ orderedEntries(
792
+ groupBy: MediaEventDimension!, orderBy: MediaEventMetric!, order: Order!, limit: Int!, excludeAggregatesWithoutStats: Boolean, filters: [Filter]
793
+ ): [MediaEventAggregate]
794
+ orderedEntriesResult(
795
+ groupBy: MediaEventDimension!, orderBy: MediaEventMetric!, order: Order!, limit: Int!, excludeAggregatesWithoutStats: Boolean, filters: [Filter]
796
+ ): MediaEventAggregateResult
797
+ }
798
+
799
+ type ExportStatus {
800
+ name: String!
801
+ status: String!
802
+ }
803
+
804
+ type Medias {
805
+ totalCount: Int
806
+ }
807
+
808
+ type LiveEvents {
809
+ aggregate: LiveStreamEventAggregate
810
+ }
811
+
812
+ "A metric to order entries by"
813
+ enum MediaEventMetric {
814
+ PLAYS
815
+ PLAYED_TIME
816
+ PLAY_RATE
817
+ ENGAGEMENT_RATE
818
+ CTA_CONVERSION_RATE
819
+ LOADS
820
+ UNIQUE_VISITORS
821
+ DOWNLOADS
822
+ PERCENT_OF_DOWNLOADS
823
+ PLAYABLE_TIME_DOWNLOADED
824
+ PLACEMENT
825
+ SIZE
826
+ FORM_CONVERSIONS
827
+ }
828
+
829
+ "Sort order"
830
+ enum Order {
831
+ "Ascending sort order"
832
+ ASC
833
+
834
+ "Descending sort order"
835
+ DESC
836
+ }
837
+
838
+ input Filter {
839
+ dimension: FilterDimension!
840
+ value: String
841
+ operator: Operator
842
+ }
843
+
844
+ "Operation to perform on filter"
845
+ enum Operator {
846
+ EQUALS
847
+ NOT_EQUALS
848
+ }