Open m0nk3y2k4 opened 2 years ago
Thank you @m0nk3y2k4 we really appreciate how extensive this list is and all the hard work that went into listing it out. We will work through every item on it.
Internal ticket for our reference - https://mediamorph.atlassian.net/browse/TVD-2629
New issues since the recent v4.4.5 API documentation update:
(1) Fields that are retuned within the JSON response but are not yet delared in the OpenAPI documentation
data.tagOptions
data.tagOptions
(3) Fields that are delared in the OpenAPI documentation but seem not to be returned in the JSON response
data.companies
Thanks @m0nk3y2k4 we have added this to the ticket as well.
New issues since the recent v4.5.0 API documentation update:
(1) Fields that are retuned within the JSON response but are not yet declared in the OpenAPI documentation
data.image
, data.imageIsFallback
: look like empty/default values thoughAnd these one I probably already missed with my initial post:
(2) Fields that are retuned within the JSON response but are declared differently in the OpenAPI documentation
data.type
: documented to be int64 but actually returns a SeasonType object(3) Fields that are declared in the OpenAPI documentation but seem not to be returned in the JSON response
data.abbreviation
, data.slug
I updated my initial post accordingly, also with regards to my recent comments and the latest API changes. I hope so we can track all this stuff. However, no guarantee for completeness! :neutral_face:
Hi @m0nk3y2k4 I have ticketed the additional issues you found in a separate ticket for our review. Thank you for your thoroughness.
Internal ticket for our reference - https://mediamorph.atlassian.net/browse/TVD-2720
New issues since the recent v4.5.2 API documentation update:
(1) Fields that are retuned within the JSON response but are not yet declared in the OpenAPI documentation
data.airsAfterSeason
, data.airsBeforeSeason
, data.airsBeforeEpisode
And this one seems not to be related to the latest update but has been occurring for several weeks (don't know exactly when it started):
(2) Fields that are retuned within the JSON response but are declared differently in the OpenAPI documentation
data.episodes
: documented to contain an array of episodes but seems to be always null
Initial post is up-to-date.
Hi @m0nk3y2k4 I have created a new ticket to address this documentation problem, but we can leave this issue open for now.
Internal ticket for our reference - https://mediamorph.atlassian.net/browse/TVD-2768
Hi @m0nk3y2k4 in regards to the Airs Before and After fields (data.airsAfterSeason, data.airsBeforeSeason, data.airsBeforeEpisode) are already declared in the documentation and the episodes array inside the series records is only populated when using meta=episodes in the series extended endpoint. This is in regards to your most recent post, I believe we are still working through elements of the longer documentation issues. Does this help?
Hi @antheaezzell, seems like there have been a lot of changes with the last Swagger update. I'll work through these in the next couple of days and update the initial post accordingly. Thanks for the hint.
Looks good @antheaezzell. A lot of stuff has been resolved. I updated my initial post accordingly. I also added or changed these:
(1) Fields that are retuned within the JSON response but are not yet declared in the OpenAPI documentation
data.companyType
data.overview
(2) Fields that are retuned within the JSON response but are declared differently in the OpenAPI documentation
data.networks
: documented as network
(singular)(3) Fields that are declared in the OpenAPI documentation but seem not to be returned in the JSON response
data.airsTimeUTC
Regarding the airsTimeUTC
: originally it was returned as part of the JSON response but was not declared in the documentation. The latter is now the case but now it looks like field is no longer included in the JSON :smile:.
and the episodes array inside the series records is only populated when using meta=episodes in the series extended endpoint
Yeah, but this endpoint returns a SeriesExtendedRecord, which is perfectly fine. I was referring to the base record which also includes an episodes
field. But unlike the extended endpoint, the base endpoint does not support the meta
query parameter setting. However, in the meantime I figured out that the episodes
field in the base record seems to at least be filled occasionally, e.g. when requesting data via the getSeriesSeasonEpisodesTranslated endpoint.
New issues since v4.6.1 API documentation update:
(2) Fields that are retuned within the JSON response but are declared differently in the OpenAPI documentation
data
: documented to contain a single SeriesBaseRecord but actually returns an array of seriesdata
: documented to contain a single MovieBaseRecord but actually returns an array of moviesInitial post has been updated.
Hi @m0nk3y2k4 I have ticketed this for review. Thanks for the response.
Internal ticket for our reference: https://mediamorph.atlassian.net/browse/TVD-3025
Hi @m0nk3y2k4 many of the issues in this ticket were released in updated documentation following the v4.6.4 release, including:
Updated - series and movie filter to return an array of records instead of a single record.
Updated - the translations in movies, episodes, series, people and the episodes field in the seriesExtendedRecord.
Updated - the episode’s networks field, which was documented as “network”.
Races in Person extended record seems to have been replaced by TagOptions (Tag Id = 6 for Race).
Hey there, sorry for the late reply.
@antheaezzell, thanks for your feedback. I updated the initial post accordingly.
Also two new issues found in the current v4.6.6 API documentation update:
(1) Fields that are retuned within the JSON response but are not yet declared in the OpenAPI documentation
data.slug
data.lastUpdated
And as mentioned by @arithon55, the race information in PeopleExtendedRecord seems to be no longer transmitted as a distinct field but within the tagOptions
instead.
(3) Fields that are declared in the OpenAPI documentation but seem not to be returned in the JSON response
data.races
Hi all, I noticed that there are lots of differences regarding fields declared in the API documentation and what is actually returned inside the various responses. Some documented fields seem to me missing in the actual JSON while at the same time, other fields are included in JSON but are not documented.
(1) Fields that are retuned within the JSON response but are not yet declared in the OpenAPI documentation
ArtworkExtendedRecord- https://api4.thetvdb.com/v4/artwork/62000530/extendeddata.status
,data.tagOptions
Character- https://api4.thetvdb.com/v4/characters/12151382data.peopleType
,data.tagOptions
,data.tagOptions
data.companyType
ContentRating- https://api4.thetvdb.com/v4/content/ratingsdata[0].description
EntityType- https://api4.thetvdb.com/v4/entities/typesdata[0].hasSpecials
EpisodeBaseRecord- https://api4.thetvdb.com/v4/episodes/5840501data.lastUpdated
,data.finaleType
,data.overview
EpisodeExtendedRecord- https://api4.thetvdb.com/v4/episodes/6757076/extended (also: 7926043, 5801485)data.lastUpdated
,data.finaleType
,data.overview
,data.studios
,data.nominations
,data.airsAfterSeason
,data.airsBeforeSeason
,data.airsBeforeEpisode
ListBaseRecord- https://api4.thetvdb.com/v4/lists/56data.score
,data.image
,data.imageIsFallback
MovieBaseRecord- https://api4.thetvdb.com/v4/movies/147651data.runtime
,data.lastUpdated
MovieExtendedRecord- https://api4.thetvdb.com/v4/movies/3201/extendeddata.runtime
,data.lastUpdated
NetworkBaseRecord- https://api4.thetvdb.com/v4/episodes/6757076/extended (removed)data.networks[0].nameTranslations
,data.networks[0].overviewTranslations
,data.networks[0].aliases
,data.networks[0].primaryCompanyType
,data.networks[0].activeDate
,data.networks[0].inactiveDate
,data.networks[0].companyType
PeopleBaseRecord- https://api4.thetvdb.com/v4/people/294100data.nameTranslations
,data.overviewTranslations
,data.nameTranslations
,data.overviewTranslations
data.lastUpdated
Race - https://api4.thetvdb.com/v4/people/254786/extendeddata.races.???
(null; no fields declared at all in OpenAPI)SearchResult- https://api4.thetvdb.com/v4/search?query=NCISdata[9].objectID
,data[9].studios
,data[9].first_air_time
,data[9].slug
SeasonBaseRecord- https://api4.thetvdb.com/v4/seasons/1733210data.companies
,data.lastUpdated
,data.averageRuntime
data.overview
,data.slug
SeriesExtendedRecord- https://api4.thetvdb.com/v4/series/292157/extendeddata.lastUpdated
,data.averageRuntime
,data.airsTimeUTC
(2) Fields that are retuned within the JSON response but are declared differently in the OpenAPI documentation
EpisodeExtendedRecord - https://api4.thetvdb.com/v4/episodes/6757076/extendeddata.networks
: documented asnetwork
(singular)SeasonType- https://api4.thetvdb.com/v4/seasons/typesdata[0].type
: documented to be int64 but actually returns a string valuegetSeriesEpisodes- https://api4.thetvdb.com/v4/series/71470/episodes/officialdata.series
: documented to be a SeriesExtendedRecord but seems to actually retun a SeriesBaseRecordgetSeriesSeasonEpisodesTranslated- https://api4.thetvdb.com/v4/series/360893/episodes/default/fradata
: should return aseries
and anepisodes
field but actually seems to return a modified SeriesBasedRecord with episodes included(?)getSeriesFilter - https://api4.thetvdb.com/v4/series/filterdata
: documented to contain a single SeriesBaseRecord but actually returns an array of seriesCompanies- https://api4.thetvdb.com/v4/seasons/669028/extendeddata.companies.special_effects
: documented camel-case but returned with underscoreTranslation- https://api4.thetvdb.com/v4/seasons/750521/translations/deudata.IsPrimary
: documented with first character being lowercaseInspiration- https://api4.thetvdb.com/v4/movies/3201/extendeddata.inspirations[0].type_name
: documented camel-case but returned with underscoregetMoviesFilter - https://api4.thetvdb.com/v4/movies/filterdata
: documented to contain a single MovieBaseRecord but actually returns an array of moviesMovieExtendedRecord- https://api4.thetvdb.com/v4/movies/3201/extendeddata.first_release
,data.production_countries
,data.spoken_languages
: all documented to be camel-case but are returned with underscoreSearchResult- https://api4.thetvdb.com/v4/search?type=series&query=NCISdata[0].image_url
,data[0].name_translated
,data[0].primary_language
,data[0].remote_ids
: all documented to be camel-case but are returned with underscoreSeasonExtendedRecord- https://api4.thetvdb.com/v4/seasons/1733210/extendeddata.type
: documented to be int64 but actually returns a SeasonType objectSeriesBaseRecord- https://api4.thetvdb.com/v4/series/280619seems to be only filled for specific reqeuest, e.g. getSeriesSeasonEpisodesTranslateddata.episodes
: documented to contain an array of episodes but seems to be alwaysnull
(3) Fields that are declared in the OpenAPI documentation but seem not to be returned in the JSON response
Company- https://api4.thetvdb.com/v4/companies/266data.companies
SearchResult- https://api4.thetvdb.com/v4/search?type=series&query=NCISdata.extendedTitle
,data.primaryType
EntityType- https://api4.thetvdb.com/v4/entities/typesdata[0].seriesId
NetworkBaseRecord- https://api4.thetvdb.com/v4/episodes/6757076/extended (removed)data.networks[0].abbreviation
SeasonBaseRecord- https://api4.thetvdb.com/v4/seasons/1733210data.abbreviation
,data.country
,data.slug
SeasonExtendedRecord- https://api4.thetvdb.com/v4/seasons/1733210/extendeddata.abbreviation
,data.slug
SeriesExtendedRecord - https://api4.thetvdb.com/v4/series/292157/extendeddata.airsTimeUTC
data.races
: probably included into thetagOptions
in the meanwhile?(4) Documentation for additional fields in case of meta=translations and meta=episodes Some models can be requested with additional information by using the meta query parameter. This affects
getEpisodeExtended-data.translations
getMovieExtended-data.translations
getPeopleExtended-data.translations
getSeriesExtended-data.episodes
,data.translations
These endpoints may return an additional
data.episodes
ordata.translations
field which is seemingly undocumented. I admit that this is a special case with having some kind of different 'conditional return values' depending if additional data is requested or not. Not sure how this can be properly documented. But no documentation at all seems to be a bad idea too.