Version 5.1 - All the GraphQL #32

Closed
timw4mail wants to merge 1160 commits from develop into master
2 changed files with 6927 additions and 6736 deletions
Showing only changes of commit 92e283bdbe - Show all commits

View File

@ -665,9 +665,13 @@ type InternalPage {
isAdult: Boolean,
"If the media is officially licensed or a self-published doujin release"
isLicensed: Boolean,
"Filter media by sites with a online streaming or reading license"
"Filter media by sites name with a online streaming or reading license"
licensedBy: String,
"Filter media by sites with a online streaming or reading license"
"Filter media by sites id with a online streaming or reading license"
licensedById: Int,
"Filter media by sites id with a online streaming or reading license"
licensedById_in: [Int],
"Filter media by sites name with a online streaming or reading license"
licensedBy_in: [String],
"Only apply the tags filter argument to tags above this rank. Default: 18"
minimumTagRank: Int,
@ -999,6 +1003,8 @@ type ListActivity {
isLiked: Boolean
"If the activity is locked and can receive replies"
isLocked: Boolean
"If the activity is pinned to the top of the users activity feed"
isPinned: Boolean
"If the currently authenticated user is subscribed to the activity"
isSubscribed: Boolean
"The amount of likes the activity has"
@ -1025,6 +1031,11 @@ type ListActivity {
userId: Int
}
type ListActivityOption {
disabled: Boolean
type: MediaListStatus
}
"User's list score statistics"
type ListScoreStats {
meanScore: Int
@ -1100,6 +1111,8 @@ type Media {
isLocked: Boolean
"If the media is blocked from being recommended to/from"
isRecommendationBlocked: Boolean
"If the media is blocked from being reviewed"
isReviewBlocked: Boolean
"Mean score of all the user's scores of the media"
meanScore: Int
"The authenticated user's media list entry for the media"
@ -1292,14 +1305,24 @@ type MediaEdge {
voiceActors(language: StaffLanguage, sort: [StaffSort]): [Staff]
}
"An external link to another site related to the media"
"An external link to another site related to the media or staff member"
type MediaExternalLink {
color: String
"The icon image url of the site. Not available for all links. Transparent PNG 64x64"
icon: String
"The id of the external link"
id: Int!
"The site location of the external link"
isDisabled: Boolean
"Language the site content is in. See Staff language field for values."
language: String
notes: String
"The links website site name"
site: String!
"The url of the external link"
url: String!
"The links website site id"
siteId: Int
type: ExternalLinkType
"The url of the external link or base url of link source"
url: String
}
"List of anime or manga"
@ -1473,7 +1496,7 @@ type MediaSubmission {
changes: [String]
characters: [MediaSubmissionComparison]
createdAt: Int
externalLinks: [MediaExternalLink]
externalLinks: [MediaSubmissionComparison]
"The id of the submission"
id: Int!
"Whether the submission is locked"
@ -1495,6 +1518,7 @@ type MediaSubmission {
"Media submission with comparison to current data"
type MediaSubmissionComparison {
character: MediaCharacter
externalLink: MediaExternalLink
staff: StaffEdge
studio: StudioEdge
submission: MediaSubmissionEdge
@ -1506,6 +1530,7 @@ type MediaSubmissionEdge {
characterRole: CharacterRole
characterSubmission: Character
dubGroup: String
externalLink: MediaExternalLink
"The id of the direct submission"
id: Int
isMain: Boolean
@ -1826,6 +1851,13 @@ type Mutation {
"The id of thread the comment belongs to"
threadId: Int
): ThreadComment
"Toggle activity to be pinned to the top of the user's activity feed"
ToggleActivityPin(
"Toggle activity id to be pinned"
id: Int,
"If the activity should be pinned or unpinned"
pinned: Boolean
): ActivityUnion
"Toggle the subscription of an activity item"
ToggleActivitySubscription(
"The id of the activity to un/subscribe"
@ -1941,6 +1973,7 @@ type Mutation {
airingNotifications: Boolean,
"The user's anime list options"
animeListOptions: MediaListOptionsInput,
disabledListActivity: [ListActivityOptionInput],
"If the user should see media marked as adult-only"
displayAdultContent: Boolean,
"Profile highlight color"
@ -1951,6 +1984,8 @@ type Mutation {
notificationOptions: [NotificationOptionInput],
"Profile highlight color"
profileColor: String,
"Only allow messages from other users the user follows"
restrictMessagesToFollowing: Boolean,
"The user's default list order"
rowOrder: String,
"The user's list scoring system"
@ -2181,9 +2216,13 @@ type Page {
isAdult: Boolean,
"If the media is officially licensed or a self-published doujin release"
isLicensed: Boolean,
"Filter media by sites with a online streaming or reading license"
"Filter media by sites name with a online streaming or reading license"
licensedBy: String,
"Filter media by sites with a online streaming or reading license"
"Filter media by sites id with a online streaming or reading license"
licensedById: Int,
"Filter media by sites id with a online streaming or reading license"
licensedById_in: [Int],
"Filter media by sites name with a online streaming or reading license"
licensedBy_in: [String],
"Only apply the tags filter argument to tags above this rank. Default: 18"
minimumTagRank: Int,
@ -2475,7 +2514,7 @@ type PageInfo {
lastPage: Int
"The count on a page"
perPage: Int
"The total number of items"
"The total number of items. Note: This value is not guaranteed to be accurate, do not rely on this for logic"
total: Int
}
@ -2609,6 +2648,13 @@ type Query {
"The order the results will be returned in"
sort: [CharacterSort]
): Character
"ExternalLinkSource collection query"
ExternalLinkSourceCollection(
"Filter by the link id"
id: Int,
mediaType: ExternalLinkMediaType,
type: ExternalLinkType
): [MediaExternalLink]
"Follow query"
Follower(
"The order the results will be returned in"
@ -2709,9 +2755,13 @@ type Query {
isAdult: Boolean,
"If the media is officially licensed or a self-published doujin release"
isLicensed: Boolean,
"Filter media by sites with a online streaming or reading license"
"Filter media by sites name with a online streaming or reading license"
licensedBy: String,
"Filter media by sites with a online streaming or reading license"
"Filter media by sites id with a online streaming or reading license"
licensedById: Int,
"Filter media by sites id with a online streaming or reading license"
licensedById_in: [Int],
"Filter media by sites name with a online streaming or reading license"
licensedBy_in: [String],
"Only apply the tags filter argument to tags above this rank. Default: 18"
minimumTagRank: Int,
@ -3177,6 +3227,8 @@ type RevisionHistory {
character: Character
"When the mod feed entry was created"
createdAt: Int
"The external link source the mod feed entry references"
externalLink: MediaExternalLink
"The id of the media"
id: Int!
"The media the mod feed entry references"
@ -3315,7 +3367,7 @@ type Staff {
isFavouriteBlocked: Boolean!
"The primary language the staff member dub's in"
language: StaffLanguage @deprecated(reason: "Replaced with languageV2")
"The primary language of the staff member. Current values: Japanese, English, Korean, Italian, Spanish, Portuguese, French, German, Hebrew, Hungarian, Chinese, Arabic, Filipino, Catalan"
"The primary language of the staff member. Current values: Japanese, English, Korean, Italian, Spanish, Portuguese, French, German, Hebrew, Hungarian, Chinese, Arabic, Filipino, Catalan, Finnish, Turkish, Dutch, Swedish, Thai, Tagalog, Malaysian, Indonesian, Vietnamese, Nepali, Hindi, Urdu"
languageV2: String
"Notes for site moderators"
modNotes: String
@ -3514,6 +3566,8 @@ type TextActivity {
isLiked: Boolean
"If the activity is locked and can receive replies"
isLocked: Boolean
"If the activity is pinned to the top of the users activity feed"
isPinned: Boolean
"If the currently authenticated user is subscribed to the activity"
isSubscribed: Boolean
"The amount of likes the activity has"
@ -3868,12 +3922,16 @@ type UserOptions {
activityMergeTime: Int
"Whether the user receives notifications when a show they are watching aires"
airingNotifications: Boolean
"The list activity types the user has disabled from being created from list updates"
disabledListActivity: [ListActivityOption]
"Whether the user has enabled viewing of 18+ content"
displayAdultContent: Boolean
"Notification options"
notificationOptions: [NotificationOption]
"Profile highlight color (blue, purple, pink, orange, red, green, gray)"
profileColor: String
"Whether the user only allow messages from users they follow"
restrictMessagesToFollowing: Boolean
"The language the user wants to see staff and character names in"
staffNameLanguage: UserStaffNameLanguage
"The user's timezone offset (Auth user only)"
@ -4026,6 +4084,7 @@ type YearStats {
enum ActivitySort {
ID
ID_DESC
PINNED
}
"Activity type enum."
@ -4077,6 +4136,18 @@ enum CharacterSort {
SEARCH_MATCH
}
enum ExternalLinkMediaType {
ANIME
MANGA
STAFF
}
enum ExternalLinkType {
INFO
SOCIAL
STREAMING
}
"Types that can be liked"
enum LikeableType {
ACTIVITY
@ -4654,6 +4725,11 @@ input FuzzyDateInput {
year: Int
}
input ListActivityOptionInput {
disabled: Boolean
type: MediaListStatus
}
"An external link to another site related to the media"
input MediaExternalLinkInput {
"The id of the external link"

View File

@ -73,8 +73,10 @@ interface Media {
ageRatingGuide: String
"The average rating of this media amongst all Kitsu users"
averageRating: Float
"The rank of this media by rating"
averageRatingRank: Int
"A large banner image for this media"
bannerImage: Image!
bannerImage: Image
"A list of categories for this media"
categories(
"Returns the elements in the list that come after the specified cursor."
@ -133,10 +135,26 @@ interface Media {
): WikiSubmissionConnection!
"The time of the next release of this media"
nextRelease: ISO8601DateTime
"The countries in which the media was originally primarily produced"
originCountries: [String!]!
"The languages the media was originally produced in"
originLanguages: [String!]!
"The country in which the media was primarily produced"
originalLocale: String
originalLocale: String @deprecated(reason: "Replaced with originCountries and originLanguages")
"The poster image of this media"
posterImage: Image!
posterImage: Image
"All posts that tag this media."
posts(
"Returns the elements in the list that come after the specified cursor."
after: String,
"Returns the elements in the list that come before the specified cursor."
before: String,
"Returns the first _n_ elements from the list."
first: Int,
"Returns the last _n_ elements from the list."
last: Int,
sort: [PostSortOption]
): PostConnection!
"The companies which helped to produce this media"
productions(
"Returns the elements in the list that come after the specified cursor."
@ -198,6 +216,8 @@ interface Media {
type: String!
"The number of users with this in their library"
userCount: Int
"The rank of this media by popularity"
userCountRank: Int
}
"Media that is streamable."
@ -230,6 +250,8 @@ interface WithTimestamps {
updatedAt: ISO8601DateTime!
}
union AccountCreateErrorsUnion = ValidationError
"Objects which are Favoritable"
union FavoriteItemUnion = Anime | Character | Manga | Person
@ -274,6 +296,12 @@ type Account implements WithTimestamps {
updatedAt: ISO8601DateTime!
}
"Autogenerated return type of AccountCreate"
type AccountCreatePayload {
errors: [AccountCreateErrorsUnion!]
result: Account
}
type AccountMutations {
"Send a password reset email"
sendPasswordReset(
@ -294,8 +322,10 @@ type Anime implements Episodic & Media & WithTimestamps {
ageRatingGuide: String
"The average rating of this media amongst all Kitsu users"
averageRating: Float
"The rank of this media by rating"
averageRatingRank: Int
"A large banner image for this media"
bannerImage: Image!
bannerImage: Image
"A list of categories for this media"
categories(
"Returns the elements in the list that come after the specified cursor."
@ -371,10 +401,26 @@ type Anime implements Episodic & Media & WithTimestamps {
): WikiSubmissionConnection!
"The time of the next release of this media"
nextRelease: ISO8601DateTime
"The countries in which the media was originally primarily produced"
originCountries: [String!]!
"The languages the media was originally produced in"
originLanguages: [String!]!
"The country in which the media was primarily produced"
originalLocale: String
originalLocale: String @deprecated(reason: "Replaced with originCountries and originLanguages")
"The poster image of this media"
posterImage: Image!
posterImage: Image
"All posts that tag this media."
posts(
"Returns the elements in the list that come after the specified cursor."
after: String,
"Returns the elements in the list that come before the specified cursor."
before: String,
"Returns the first _n_ elements from the list."
first: Int,
"Returns the last _n_ elements from the list."
last: Int,
sort: [PostSortOption]
): PostConnection!
"The companies which helped to produce this media"
productions(
"Returns the elements in the list that come after the specified cursor."
@ -454,6 +500,8 @@ type Anime implements Episodic & Media & WithTimestamps {
updatedAt: ISO8601DateTime!
"The number of users with this in their library"
userCount: Int
"The rank of this media by popularity"
userCountRank: Int
"Video id for a trailer on YouTube"
youtubeTrailerVideoId: String
}
@ -906,7 +954,11 @@ type FranchiseEdge {
node: Franchise
}
type Generic implements Error {
type GenericDelete {
id: ID!
}
type GenericError implements Error {
"The error code."
code: String
"A description of the error"
@ -915,10 +967,6 @@ type Generic implements Error {
path: [String!]
}
type GenericDelete {
id: ID!
}
type Image {
"A blurhash-encoded version of this image"
blurhash: String
@ -1273,8 +1321,10 @@ type Manga implements Media & WithTimestamps {
ageRatingGuide: String
"The average rating of this media amongst all Kitsu users"
averageRating: Float
"The rank of this media by rating"
averageRatingRank: Int
"A large banner image for this media"
bannerImage: Image!
bannerImage: Image
"A list of categories for this media"
categories(
"Returns the elements in the list that come after the specified cursor."
@ -1350,10 +1400,26 @@ type Manga implements Media & WithTimestamps {
): WikiSubmissionConnection!
"The time of the next release of this media"
nextRelease: ISO8601DateTime
"The countries in which the media was originally primarily produced"
originCountries: [String!]!
"The languages the media was originally produced in"
originLanguages: [String!]!
"The country in which the media was primarily produced"
originalLocale: String
originalLocale: String @deprecated(reason: "Replaced with originCountries and originLanguages")
"The poster image of this media"
posterImage: Image!
posterImage: Image
"All posts that tag this media."
posts(
"Returns the elements in the list that come after the specified cursor."
after: String,
"Returns the elements in the list that come before the specified cursor."
before: String,
"Returns the first _n_ elements from the list."
first: Int,
"Returns the last _n_ elements from the list."
last: Int,
sort: [PostSortOption]
): PostConnection!
"The companies which helped to produce this media"
productions(
"Returns the elements in the list that come after the specified cursor."
@ -1418,6 +1484,8 @@ type Manga implements Media & WithTimestamps {
updatedAt: ISO8601DateTime!
"The number of users with this in their library"
userCount: Int
"The rank of this media by popularity"
userCountRank: Int
"The number of volumes in this manga."
volumeCount: Int
}
@ -1639,6 +1707,8 @@ type MediaReaction implements WithTimestamps {
"The author who wrote this reaction."
author: Profile!
createdAt: ISO8601DateTime!
"Whether you have liked this media reaction"
hasLiked: Boolean!
id: ID!
"The library entry related to this reaction."
libraryEntry: LibraryEntry!
@ -1718,6 +1788,8 @@ type MediaStaffEdge {
type Mutation {
account: AccountMutations!
"Create a new Kitsu account"
accountCreate(input: AccountCreateInput!): AccountCreatePayload
anime: AnimeMutations!
episode: EpisodeMutations!
libraryEntry: LibraryEntryMutations!
@ -2471,7 +2543,7 @@ type Report implements WithTimestamps {
"The moderator who responded to this report"
moderator: Profile
"The entity that the report is related to"
naughty: ReportItemUnion!
naughty: ReportItemUnion
"The reason for why the report was made"
reason: ReportReasonEnum!
"The user who made this report"
@ -2672,11 +2744,34 @@ type TitlesList {
"A list of additional, alternative, abbreviated, or unofficial titles"
alternatives: [String!]
"The official or de facto international title"
canonical: String
canonical: String!
"The locale code that identifies which title is used as the canonical title"
canonicalLocale: String
"The list of localized titles keyed by locale"
localized(locales: [String!]): Map!
"The original title of the media in the original language"
original: String
"The locale code that identifies which title is used as the original title"
originalLocale: String
"The title that best matches the user's preferred settings"
preferred: String!
"The original title, romanized into latin script"
romanized: String
"The locale code that identifies which title is used as the romanized title"
romanizedLocale: String
"The title translated into the user's locale"
translated: String
"The locale code that identifies which title is used as the translated title"
translatedLocale: String
}
type ValidationError implements Error {
"The error code."
code: String
"A description of the error"
message: String!
"Which input value this error came from"
path: [String!]
}
"The media video."
@ -2875,6 +2970,11 @@ enum EpisodeSortEnum {
UPDATED_AT
}
enum ExternalIdentityProviderEnum {
"Facebook identity"
FACEBOOK
}
enum FollowSortEnum {
CREATED_AT
FOLLOWING_FOLLOWED
@ -3029,9 +3129,9 @@ enum PostSortEnum {
enum ProTierEnum {
"Aozora Pro (only hides ads)"
AO_PRO @deprecated(reason : "No longer for sale")
AO_PRO @deprecated(reason: "No longer for sale")
"Aozora Pro+ (only hides ads)"
AO_PRO_PLUS @deprecated(reason : "No longer for sale")
AO_PRO_PLUS @deprecated(reason: "No longer for sale")
"Top tier of Kitsu Pro"
PATRON
"Basic tier of Kitsu Pro"
@ -3134,6 +3234,39 @@ enum WikiSubmissionStatusEnum {
REJECTED
}
"A date, expressed as an ISO8601 string"
scalar Date
"An ISO 8601-encoded date"
scalar ISO8601Date
"An ISO 8601-encoded datetime"
scalar ISO8601DateTime
"Represents untyped JSON"
scalar JSON
"A loose key-value map in GraphQL"
scalar Map
scalar Upload
input AccountCreateInput {
"The email address to reset the password for"
email: String!
"An external identity to associate with the account on creation"
externalIdentity: AccountExternalIdentityInput
"The name of the user"
name: String!
"The password for the user"
password: String!
}
input AccountExternalIdentityInput {
id: String!
provider: ExternalIdentityProviderEnum!
}
input AnimeCreateInput {
ageRating: AgeRatingEnum
ageRatingGuide: String
@ -3373,21 +3506,3 @@ input WikiSubmissionUpdateDraftInput {
id: ID!
notes: String
}
"A date, expressed as an ISO8601 string"
scalar Date
"An ISO 8601-encoded date"
scalar ISO8601Date
"An ISO 8601-encoded datetime"
scalar ISO8601DateTime
"Represents untyped JSON"
scalar JSON
"A loose key-value map in GraphQL"
scalar Map
scalar Upload