-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathschema.graphql
2092 lines (1631 loc) · 55.3 KB
/
schema.graphql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
"""The information for a third-party account link."""
type AccountLink {
"""The account links UUID"""
id: ID!
"""The name displayed on the third-party account site."""
displayName: String
"""The type of account for the account link (usually a publisher name)."""
accountType: String!
"""The current state of the account link."""
status: AccountLinkStatus!
}
"""Account linking configuration for a third party."""
type AccountLinkConfig {
"""
The type of account for the account link (usually a publisher name). Only
present for third parties where account links are stored by Twitch Prime
"""
accountType: String
"""
The URL to direct the user to link their game account to their Twitch Prime account.
"""
linkingUrl: String
"""Instructions for linking an account"""
linkingInstructions: [String!]
"""Confirmation text for a user who has linked"""
linkedAccountConfirmation: String
"""
A URL to the page where users can manage and remove their third party account link
"""
thirdPartyAccountManagementUrl: String
}
"""An indicator for the account link's status in our system."""
enum AccountLinkStatus {
"""
The account link is currently being used by the customer and third-party.
"""
ACTIVE
"""
The account link is marked as no longer in use but kept for historical purposes.
"""
DISABLED
}
"""Notification that should be shown to the customer"""
type Alert {
"""What form does the alert take."""
type: AlertType!
"""A call to action to redirect a customer to an external page."""
button: AlertButton
"""Information about a situation or knowledge the customer needs."""
message: String!
"""Priority of the notification"""
order: Int!
}
"""A call to action."""
type AlertButton {
"""Text to be shown in the button."""
text: String!
"""Where the button redirects to."""
url: String!
}
enum AlertType {
INFORMATION
ERROR
WARNING
}
"""
Unstructured key/value object describing appearance of a page element block
"""
type BlockMetadata {
key: String!
value: String
}
"""Error code for an error that occurs while claiming a journey offer."""
type ClaimJourneyOfferError {
"""Error code for error that occurred while claiming a journey offer."""
code: ClaimJourneyOfferErrorCode!
}
"""Error types recognized."""
enum ClaimJourneyOfferErrorCode {
"""Unknown error being returned from service."""
UNKNOWN
"""Status when the offerId or journeyId not found."""
ENTITY_NOT_FOUND
"""Status when the customer account is not eligible for claim."""
INELIGIBLE_ACCOUNT
"""Status when user is not logged in to an Amazon account."""
NOT_SIGNED_IN
}
input ClaimJourneyOfferInput {
"""Unique Identifier for a journey."""
journeyId: ID!
"""Unique Identifier for an offer."""
offerId: ID!
"""
Optional - Date override in UTC to claim the campaigns available for a
specific date for allowlist accounts. Defaults to current time.
"""
dateOverride: Time
"""If the offer being claimed is claim-code based"""
isClaimCode: Boolean
}
"""
Data that was mutated after claiming the journey and offer, in this case, the entitlement.
"""
type ClaimJourneyOfferPayload {
"""The connection contains both journey and offer."""
self: ClaimJourneyOfferSelfConnection
"""The possible error returned from the service."""
error: ClaimJourneyOfferError
"""Unique Identifier for a journey returned from the service."""
journeyId: ID!
"""Unique Identifier for an offer returned from the service."""
offerId: ID!
}
"""Data that contains the journey offer claim status."""
type ClaimJourneyOfferSelfConnection {
"""The connection for whether the user is entitled to the offer."""
offer: JourneyOfferSelfConnection!
}
"""Error code for an error that occurs while claiming prime offer."""
type ClaimPrimeOfferError {
"""Error code for error that occurred while claiming prime offer."""
code: ClaimPrimeOfferErrorCode!
}
"""Error types recognized."""
enum ClaimPrimeOfferErrorCode {
"""
Status when offer is already claimed by the current user or an associated account.
"""
OFFER_ALREADY_CLAIMED
"""
Error when the offer is unclaimable because of an entitlement to the linked twitch account
"""
OFFER_CLAIMED_ON_TWITCH_NOT_AMAZON
"""Unknown error being returned from service."""
UNKNOWN
"""Status when user is not logged in to an Amazon account."""
NOT_SIGNED_IN
"""
Status when a user has no linked Twitch accounts, no selected Twitch account, or an invalid selected Twitch account.
"""
NO_SELECTED_TWITCH_ACCOUNT
"""
Users Twitch Prime membership is in an invalid Prime marketplace for this Offer.
"""
INELIGIBLE_COUNTRY
}
input ClaimPrimeOfferInput {
"""Unique Identifier for an offer."""
offerID: ID!
"""
Temporary parameter for indicating that a FGWP offer is being claimed.
Long term, we will deprecate this in favor of backend systems flexibly allowing claims of various types.
"""
isFGWPClaim: Boolean
}
"""
Data that was mutated after claiming the prime offer, in this case, the entitlement.
"""
type ClaimPrimeOfferPayload {
"""The possible error returned from the service."""
error: ClaimPrimeOfferError
"""The connection for whether the user is entitled to the offer."""
self: OfferSelfConnection
}
"""Information for Household user who has already claimed the content."""
type ConflictingClaimUser {
"""
The user's full name. Will be blank if the customer does not have a full name (there are valid customer in this state).
"""
fullName: String
"""The user's obfuscated email address. Ex: c******[email protected]."""
obfuscatedEmail: String
}
"""
"A country is a distinct territorial body or political entity. It is often
referred to as the land of an individual's birth, residence or citizenship." - Wikipedia.
"""
type Country {
"""ISO 3166-1 alpha-2 identifier for the country."""
countryCode: String!
"""Prime Gaming eligibility for users in this country."""
primeGamingEligibility: CountryPrimeEligibility
}
"""
Descriptor for whether or not users in a country are eligible for Prime Gaming benefits.
"""
enum CountryPrimeEligibility {
"""Prime Gaming benefits are supported in this country."""
SUPPORTED
"""Amazon is legally prohibited from doing business in this country."""
EMBARGOED
"""Prime Gaming benefits are not yet offered in this country."""
EXCLUDED
}
"""Error that occurs while creating an account link."""
type CreateAccountLinkError {
"""Error code for error that occurred while creating an account link."""
code: CreateAccountLinkErrorCode!
}
"""Recognized error types for creating an account link."""
enum CreateAccountLinkErrorCode {
"""The Amazon customer who we are trying to link is not signed in"""
NOT_SIGNED_IN
"""Unknown error being returned from service."""
UNKNOWN
}
"""
Information to create a link between an Amazon account and a third-party account
"""
input CreateAccountLinkInput {
"""The third-party account type"""
accountType: String!
"""The token that is associated with the third party account"""
token: String!
"""The redirect URI that was used to get the token."""
redirectUri: String
"""Optional param to overwrite the existing account link"""
overwrite: Boolean
"""Optional param to specify a specific OAuth client ID"""
clientId: String
}
"""
Data that was mutated after creating a link between an Amazon account and a third-party account.
"""
type CreateAccountLinkPayload {
"""The possible error returned from the service."""
error: CreateAccountLinkError
"""The information about the link that was created."""
account: AccountLink
}
"""Signed in customers information."""
type CurrentUser {
"""Unique identifier for a user"""
id: ID
"""DEPRECATED: use obfuscatedEmail"""
email: String
"""The user's obfuscated email address. Ex: c******[email protected]."""
obfuscatedEmail: String
"""Details if the customer is signed in"""
isSignedIn: Boolean!
"""
Details if the customer is signed up for Twitch Prime. This will be true if
the user is Amazon Prime and they've gone through the Twitch Prime signup flow.
"""
isTwitchPrime: Boolean!
"""Details if the customer is signed up for Amazon Prime."""
isAmazonPrime: Boolean!
"""The Twitch Accounts associated with the current signed in user."""
twitchAccounts: [TwitchAccount!]
"""
The first name of the current signed in user. Will be blank if the customer
does not have a first name (there are valid customer in this state).
"""
firstName: String
"""
The full name of the current signed in user. Will be blank if the customer
does not have a full name (there are valid customer in this state).
"""
fullName: String
"""The Twitch Prime signup status of the user."""
primeSignupStatus: PrimeSignupStatus!
"""
The url for additional mobile verification/setup for Twitch Prime signup. Currently not available for ROW countries.
"""
mobileVerificationUrl: String
"""The users preferences across Amazon and Twitch Prime"""
preferences: UserPreferences
}
type DeveloperConsoleOptions {
"""List of configurable Dino services/operations."""
dinoServices: [DinoService!]
}
type DinoOperation {
"""Name of the service."""
serviceName: String!
"""Name of the operation."""
operationName: String!
}
type DinoService {
"""Name of the service."""
name: ID!
"""List of configurable Dino operations in this service."""
operations: [DinoOperation!]
}
"""A frequently asked question about an entity, e.g. a game or item."""
type FAQ {
"""The question"""
question: String
"""The answer"""
answer: String
}
"""Legacy game type used by AGA."""
type Game {
"""Product ID of the game"""
id: ID!
"""Video urls"""
gameplayVideoLinks: [String]
"""Keywords that describe the game"""
keywords: [String]
"""DateTime the game was released in 2012-01-21T00:00:00.000Z format"""
releaseDate: Time
"""ESRB rating"""
esrb: String
"""Pan European Game Information identifier"""
pegi: String
"""Unterhaltungssoftware Selbstkontrolle (German Rating Board)"""
usk: String
"""Developer url"""
website: String
"""List of genres that apply to the game"""
genres: [String]
"""Single player, co-op, etc."""
gameModes: [String]
"""Links to social media platforms"""
externalWebsites: [SocialMedia]
"""Devloper that worked on the game"""
developerName: String
"""URL that links to a transparent image"""
logoImage: Media
"""URL that links to an image used for the Prime Gaming crown"""
pgCrownImage: Media
"""URL that links to a thumbnail for the game trailer"""
trailerImage: Media
"""Publisher of the game"""
publisher: String
"""URL for the hero image"""
background: Media
"""URL for the banner image"""
banner: Media
"""Description"""
description: String
"""Other Developers (for games developed by multiple studios)."""
otherDevelopers: [String]
}
"""Text and media assets for a game"""
type GameAssets {
"""Name of the game"""
title: String
"""Short-form description of the game"""
shortformDescription: String
"""Long-form description of the game"""
longformDescription: String
"""Release date of the game"""
releaseDate: Time
"""Name of the game publisher"""
publisher: String
"""Name of the game developer"""
developer: String @deprecated(reason: "Use `developers` instead.")
"""Names of the game developers"""
developers: [String]
"""Platforms the game is available on"""
platforms: [String]
"""Genres applicable to the game"""
genres: [String]
"""Game modes supported by the game"""
gameModes: [String]
"""Instructions for purchasing the game"""
purchaseGameText: String
"""A list of faqs relating to the game"""
faqList: [FAQ]
"""Image representing the developer or publisher of the game"""
vendorIcon: Media
}
"""Information about a customers relationship to a game"""
type GameSelfConnection {
"""Customer's third-party account link information"""
accountLink: AccountLink
"""
True if the customer is subscribed to email notifications for this game
"""
isSubscribedToNotifications: Boolean
}
type GameV2 {
"""Unique identifier for the Game"""
id: ID!
"""URL of the game website"""
officialWebsite: String
"""The URL to the third party's (e.g. Riot's) technical support page"""
thirdPartySupportPageUrl: String
"""Text and media assets for a game"""
assets: GameAssets
"""Account linking configuration for a third-party"""
accountLinkConfig: AccountLinkConfig
"""Information about a customers relationship to a game"""
gameSelfConnection: GameSelfConnection
}
type Item {
"""Unique identifier for the Item"""
id: ID!
"""
Identifies an item that requires a 3P account link before claiming; i.e. uses "push" fulfillment
"""
requiresLinkBeforeClaim: Boolean
"""Identifies an item that uses claim code fulfillment"""
grantsCode: Boolean
"""Identifies a "free game with prime" item"""
isFGWP: Boolean
"""The internal path to redirect to once an item is no longer available"""
redirectPath: String
"""Game related to the item"""
game: GameV2
"""Offers related to the item"""
offers: [Offer]
"""Text and visual media assets"""
assets: ItemAssets
"""
Alerts to be shown to the customer to inform them about a status of the item
"""
alertList: [Alert]
"""List of pixels to track item actions"""
pixels: [Pixel]
"""Old style Journey associated with this Item."""
journey: Journey
"""
Ranking for which the item should be displayed ordered asc.
An item with 0 priority would be shown before an item with 100 priority.
"""
priority: Int
}
"""Text and media assets for an item"""
type ItemAssets {
"""Unique identifier for the assets object"""
id: ID!
"""Title of the item"""
title: String
"""Short-form description of the item"""
shortformDescription: String
"""Long-form description of the item"""
longformDescription: String
"""Details about what comes with the item"""
itemDetails: [String]
"""List of platforms the item is claimable for"""
platforms: [String]
"""Short-form legalese"""
shortformLegalText: String
"""Long-form legalese"""
longformLegalText: String
"""Link to external claiming location for mobile items"""
externalClaimLink: String
"""A list of faqs relating to the item"""
faqList: [FAQ]
"""Media rendered in the hero banner"""
heroMedia: Media
"""Additional images/video about the content of the item"""
additionalMedia: [Media]
"""Thumbnail image of the item rendered in the item content box"""
thumbnailImage: Media
"""Media to use when rendering this Item as a card in a shoveler."""
cardMedia: Media
"""Visual media showing customers how to claim the item"""
claimVisualInstructions: Media
"""Text instructions for claiming the item"""
claimInstructions: String
}
"""Collection type for Items."""
enum ItemCollectionType {
"""Items featured by Prime Gaming."""
FEATURED
"""Items that are popular right now."""
POPULAR
"""Items that are free games."""
FREE_GAMES
"""Items with offers that went live recently."""
NEW
"""Items with offers ending soon."""
EXPIRING
"""Items with offers starting soon."""
COMING_SOON
}
"""A page containing a list of Items and a token for further pagination."""
type ItemsPage {
"""A pagination token for fetching the next page."""
nextToken: String
"""A list of items."""
items: [Item]
}
"""
An object containing grouped offers available based on time windows or eligibility
"""
type Journey {
"""Unique identifier for the journey."""
id: ID!
"""List of offers associated with a Journey"""
offers: [JourneyOffer]!
"""The type for if a journey is a CAMPAIGN or JOURNEY"""
type: JourneyType!
game: GameV2
"""Connection for the current user"""
self: JourneySelfConnection
"""Assets for the journey"""
assets: JourneyAssets!
"""
The account link information for this Journey if thirdPartyAccountType is
present and the customer has already linked their account.
"""
accountLink: AccountLink
"""
Configuration for the third-party account link for this Journey.
journeyShortName - name of the journey page used to validate the redirectUrl
passed to build the third party account link url
redirectUrl - page url user gets redirected to after linking their third party account
Optional - String debug will display the string id and locale for string assets
"""
accountLinkConfig(journeyShortName: String, redirectUrl: String, stringDebug: Boolean = false): AccountLinkConfig
}
"""Assets for a Journey."""
type JourneyAssets {
"""Title of the journey."""
title: String!
"""Subtitle describing the journey."""
subtitle: String!
"""Longer description of the journey."""
description: String!
"""Legal disclaimer text for journey."""
legal: String
"""Main asset for the journey"""
hero: Media!
"""
Alerts to be shown to the customer to inform them about a status of the campaign
"""
alertList: [Alert!]
"""Instructions for claiming offers in the journey"""
claimInstructions: String
"""Image or video showing customers how to claim offers in the journey"""
claimVisualInstructions: Media
"""Instructions for purchasing a game"""
purchaseGameText: String
"""The URL to the third party's (e.g. Riot's) technical support page"""
thirdPartySupportPageUrl: String
"""
A URL to the page where users can manage and remove their third party account link
"""
thirdPartyAccountManagementUrl: String
"""
The platforms supported by the game e.g. "Available on Xbox, PC, Switch"
"""
platformAvailability: String
"""Publisher name of the journey"""
publisherName: String
}
"""An object containing information about an offer in a Journey"""
type JourneyOffer {
"""Unique identifier for the journey offer."""
id: ID!
"""Unique identifier for the catalog equivalent of the offer"""
catalogId: String
"""Connection for the current user"""
self: JourneyOfferSelfConnection
"""Assets for the journey offer."""
assets: JourneyOfferAssets
"""Flag if the offer is claim-code based"""
grantsCode: Boolean!
"""Denotes if the journeyOffer is representing a FGWP offer"""
isFGWP: Boolean
"""The time at which the offer becomes available"""
startTime: Time
"""The time at which the offer is no longer available"""
endTime: Time
}
type JourneyOfferAssets {
"""Title of journey offer."""
title: String!
"""Subtitle that describes journey offer."""
subtitle: String
"""Optional header of journey offer that displays custom strings."""
header: String
"""Main journey offer image or video."""
card: Media!
"""Additional images and videos for journey asset."""
additionalMedia: [Media!]
"""List of items available in the journey offer."""
items: [String!]
"""List of pixels to track offer actions"""
pixels: [Pixel!]
"""
Optional URL used to take a user to an external site to claim the offer
"""
externalClaimLink: String
}
"""
An object containing information about an offer's marketplace restrictions
"""
type JourneyOfferMarketplaceRestriction {
"""Whether or not there is a marketplace restriction blocking claiming"""
isRestricted: Boolean!
}
"""
An object containing information about another offer claim that may be blocking the current offer's availability
"""
type JourneyOfferOtherClaim {
"""
Whether or not there is another offer that must be claimed before this journey offer is available
"""
isRequired: Boolean!
}
"""
An object containing information about a Journey Offer for the current user
"""
type JourneyOfferSelfConnection {
"""The status for if a journey offer is AVAILABLE, FUTURE, EXPIRED, etc."""
claimStatus: JourneyOfferStatus!
"""The claim data (link, text, or claim code) for the Journey Offer"""
claimData: String
"""Time at which the offer becomes claimable"""
claimableAt: Time
"""The data about the offer's marketplace restriction"""
marketplaceRestriction: JourneyOfferMarketplaceRestriction!
"""The data about the offer's other relevant offer claims"""
otherClaim: JourneyOfferOtherClaim!
"""
Represents accounts a user has already claimed from, thus removing their
eligibility to claim a particular journey offer (e.g. TWITCH, AMAZON, BLIZZARD).
"""
conflictingAccounts: [String!]
"""
Represents the user's ability to claim an offer
Optional - getOnlyActiveOffers excludes eligibility data for offers that are inactive (future or expired).
"""
eligibility(getOnlyActiveOffers: Boolean = false): OfferEligibility
"""Represents data that was used to previously claim this offer"""
orderInformation: [OfferOrderInformation!]
}
"""Possible values for the status of a Journey Offer"""
enum JourneyOfferStatus {
"""Offer can be claimed now"""
AVAILABLE
"""Offer has been claimed by the user"""
CLAIMED
"""Offer has expired and is no longer claimable"""
EXPIRED
"""Offer is not yet available"""
FUTURE
}
"""An object containing information about a Journey for the current user"""
type JourneySelfConnection {
"""The status for if a journey is AVAILABLE, FUTURE, EXPIRED, etc."""
enrollmentStatus: JourneyStatus!
}
"""Possible values for the status of a Journey"""
enum JourneyStatus {
"""Journey can be enrolled in now"""
AVAILABLE
"""Journey is CLAIMED when the user claims at least 1 journey offer"""
CLAIMED
"""Journey has expired and is no longer available"""
EXPIRED
"""Journey is not yet available"""
FUTURE
}
"""Possible values for the type of Journey"""
enum JourneyType {
"""Type if Journey where offers are available based eligibility rules"""
JOURNEY
}
"""Error that occurs while creating an account link."""
type LinkTwitchAccountError {
"""Error code for error that occurred while creating the account link."""
code: LinkTwitchAccountErrorCode!
"""
When the ACCOUNT_UNAVAILABLE error code is present, the call can be retried after waiting this length of time.
"""
backoffMilliseconds: Int
}
"""Recognized error types for creating an account link."""
enum LinkTwitchAccountErrorCode {
"""The Amazon customer who we are trying to link is not signed in"""
NOT_SIGNED_IN
"""
The Twitch account trying to be linked is linked to another Amazon account.
Shouldn't happen because we unlink the Twitch account from any existing
accounts before linking to the new account.
"""
TWITCH_ACCOUNT_ALREADY_LINKED
"""
The number of currently linked Twitch accounts to the current Amazon is greater than the maximum.
"""
TOO_MANY_LINKS
"""
The given auth token was either expired or did not match the current customer ID.
"""
INVALID_TOKEN
"""
The given account was not available to be linked at this time. Can be retried based on the backoffMilliseconds field.
"""
ACCOUNT_UNAVAILABLE
"""Unknown error being returned from service."""
UNKNOWN
"""
neither `oAuthToken` or `authToken` is provided in LinkTwitchAccountInput, must provided one of them.
"""
NO_TOKEN_PROVIDED
"""
his is client error(4xx) from Tails when call GetTwitchUserInfo, includes invalid token error.
"""
INVALID_PARAMETER
}
"""
Information to create a link between an Amazon account and a Twitch account.
Provide either JWT token or OAuth token, if they both provided, we take OAuth token.
"""
input LinkTwitchAccountInput {
"""
Authorization token representing a Twitch account, generated by the twitchUserAuthToken query. This is JWT token.
"""
authToken: String
"""Twitch OAuth token."""
oAuthToken: String
}
"""
Data that was mutated after creating a link between an Amazon account and a Twitch account.
"""
type LinkTwitchAccountPayload {
"""The updated current user with the new Twitch account linked."""
currentUser: CurrentUser
"""The possible error returned from the service."""
error: LinkTwitchAccountError
}
"""Error code for an error that occurs while marking the offers as seen."""
type MarkPrimeOffersAsSeenError {
"""Error code for error that occurred while marking the offers as seen."""
code: MarkPrimeOffersAsSeenErrorCode!
}
"""Error types recognized."""
enum MarkPrimeOffersAsSeenErrorCode {
"""Unknown error being returned from service."""
UNKNOWN
"""Status when user is not logged in to an Amazon account."""
NOT_SIGNED_IN
"""Status when a user has no linked Twitch accounts."""
NO_LINKED_TWITCH_ACCOUNTS
"""Status when a user has no selected Twitch account."""
NO_SELECTED_TWITCH_ACCOUNT
}
input MarkPrimeOffersAsSeenInput {
"""Unique Identifiers for a list of offers."""
offerIDs: [ID!]
}
"""Data that was mutated after marking the offers as seen."""
type MarkPrimeOffersAsSeenPayload {
"""The possible error returned from the service."""
error: MarkPrimeOffersAsSeenError
}
"""Media type for displaying content"""
type Media {
"""Default image asset, for mobile and higher."""
defaultMedia: MediaAsset!
"""Tablet specific image asset."""
tablet: MediaAsset
"""Desktop specific image asset."""
desktop: MediaAsset
"""Text describing the asset in a marketing context."""
description: String
"""Text describing the asset."""
alt: String
"""Default image to render while a video is loading"""
videoPlaceholderImage: MediaAsset
}
"""JPEG, PNG Media"""
type MediaAsset {