kuapir 0.1.2

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 (190) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +13 -0
  3. data/Gemfile.lock +77 -0
  4. data/LICENSE +21 -0
  5. data/README.md +170 -0
  6. data/Rakefile +12 -0
  7. data/docs/BoxOffice.md +26 -0
  8. data/docs/BoxOfficeResponse.md +20 -0
  9. data/docs/Company.md +18 -0
  10. data/docs/Country.md +18 -0
  11. data/docs/DigitalReleaseItem.md +44 -0
  12. data/docs/DigitalReleaseResponse.md +22 -0
  13. data/docs/Distribution.md +28 -0
  14. data/docs/DistributionResponse.md +20 -0
  15. data/docs/Episode.md +28 -0
  16. data/docs/Fact.md +22 -0
  17. data/docs/FactResponse.md +20 -0
  18. data/docs/Film.md +100 -0
  19. data/docs/FilmSearchByFiltersResponse.md +22 -0
  20. data/docs/FilmSearchByFiltersResponseItems.md +42 -0
  21. data/docs/FilmSearchResponse.md +24 -0
  22. data/docs/FilmSearchResponseFilms.md +42 -0
  23. data/docs/FilmSequelsAndPrequelsResponse.md +30 -0
  24. data/docs/FilmTopResponse.md +20 -0
  25. data/docs/FilmTopResponseFilms.md +38 -0
  26. data/docs/FilmsApi.md +1126 -0
  27. data/docs/FiltersResponse.md +20 -0
  28. data/docs/FiltersResponseCountries.md +20 -0
  29. data/docs/FiltersResponseGenres.md +20 -0
  30. data/docs/Genre.md +18 -0
  31. data/docs/ImageResponse.md +22 -0
  32. data/docs/ImageResponseItems.md +20 -0
  33. data/docs/PersonByNameResponse.md +20 -0
  34. data/docs/PersonByNameResponseItems.md +28 -0
  35. data/docs/PersonResponse.md +50 -0
  36. data/docs/PersonResponseFilms.md +30 -0
  37. data/docs/PersonResponseSpouses.md +32 -0
  38. data/docs/PersonsApi.md +83 -0
  39. data/docs/PremiereResponse.md +20 -0
  40. data/docs/PremiereResponseItem.md +36 -0
  41. data/docs/RelatedFilmResponse.md +20 -0
  42. data/docs/RelatedFilmResponseItems.md +30 -0
  43. data/docs/ReviewDetailsResponse.md +32 -0
  44. data/docs/ReviewsApi.md +155 -0
  45. data/docs/ReviewsResponse.md +34 -0
  46. data/docs/ReviewsResponseReviews.md +32 -0
  47. data/docs/Season.md +20 -0
  48. data/docs/SeasonResponse.md +20 -0
  49. data/docs/StaffApi.md +147 -0
  50. data/docs/StaffResponse.md +30 -0
  51. data/docs/VideoResponse.md +20 -0
  52. data/docs/VideoResponseItems.md +22 -0
  53. data/kinopoiskapiunofficial-openapi.json +2918 -0
  54. data/kuapir.gemspec +42 -0
  55. data/lib/kuapir/api/films_api.rb +1193 -0
  56. data/lib/kuapir/api/persons_api.rb +89 -0
  57. data/lib/kuapir/api/reviews_api.rb +165 -0
  58. data/lib/kuapir/api/staff_api.rb +145 -0
  59. data/lib/kuapir/api_client.rb +390 -0
  60. data/lib/kuapir/api_error.rb +57 -0
  61. data/lib/kuapir/configuration.rb +287 -0
  62. data/lib/kuapir/models/box_office.rb +246 -0
  63. data/lib/kuapir/models/box_office_response.rb +224 -0
  64. data/lib/kuapir/models/company.rb +214 -0
  65. data/lib/kuapir/models/country.rb +214 -0
  66. data/lib/kuapir/models/digital_release_item.rb +334 -0
  67. data/lib/kuapir/models/digital_release_response.rb +232 -0
  68. data/lib/kuapir/models/distribution.rb +300 -0
  69. data/lib/kuapir/models/distribution_response.rb +224 -0
  70. data/lib/kuapir/models/episode.rb +249 -0
  71. data/lib/kuapir/models/fact.rb +266 -0
  72. data/lib/kuapir/models/fact_response.rb +224 -0
  73. data/lib/kuapir/models/film.rb +551 -0
  74. data/lib/kuapir/models/film_search_by_filters_response.rb +232 -0
  75. data/lib/kuapir/models/film_search_by_filters_response_items.rb +319 -0
  76. data/lib/kuapir/models/film_search_response.rb +244 -0
  77. data/lib/kuapir/models/film_search_response_films.rb +311 -0
  78. data/lib/kuapir/models/film_sequels_and_prequels_response.rb +300 -0
  79. data/lib/kuapir/models/film_top_response.rb +224 -0
  80. data/lib/kuapir/models/film_top_response_films.rb +272 -0
  81. data/lib/kuapir/models/filters_response.rb +226 -0
  82. data/lib/kuapir/models/filters_response_countries.rb +214 -0
  83. data/lib/kuapir/models/filters_response_genres.rb +214 -0
  84. data/lib/kuapir/models/genre.rb +214 -0
  85. data/lib/kuapir/models/image_response.rb +238 -0
  86. data/lib/kuapir/models/image_response_items.rb +214 -0
  87. data/lib/kuapir/models/person_by_name_response.rb +224 -0
  88. data/lib/kuapir/models/person_by_name_response_items.rb +274 -0
  89. data/lib/kuapir/models/person_response.rb +363 -0
  90. data/lib/kuapir/models/person_response_films.rb +284 -0
  91. data/lib/kuapir/models/person_response_spouses.rb +283 -0
  92. data/lib/kuapir/models/premiere_response.rb +224 -0
  93. data/lib/kuapir/models/premiere_response_item.rb +289 -0
  94. data/lib/kuapir/models/related_film_response.rb +224 -0
  95. data/lib/kuapir/models/related_film_response_items.rb +279 -0
  96. data/lib/kuapir/models/review_details_response.rb +314 -0
  97. data/lib/kuapir/models/reviews_response.rb +294 -0
  98. data/lib/kuapir/models/reviews_response_reviews.rb +282 -0
  99. data/lib/kuapir/models/season.rb +224 -0
  100. data/lib/kuapir/models/season_response.rb +224 -0
  101. data/lib/kuapir/models/staff_response.rb +301 -0
  102. data/lib/kuapir/models/video_response.rb +224 -0
  103. data/lib/kuapir/models/video_response_items.rb +255 -0
  104. data/lib/kuapir/version.rb +5 -0
  105. data/lib/kuapir.rb +83 -0
  106. data/openapi-generator-templates/Gemfile.mustache +9 -0
  107. data/openapi-generator-templates/README.mustache +148 -0
  108. data/openapi-generator-templates/Rakefile.mustache +10 -0
  109. data/openapi-generator-templates/api.mustache +205 -0
  110. data/openapi-generator-templates/api_client.mustache +260 -0
  111. data/openapi-generator-templates/api_client_faraday_partial.mustache +136 -0
  112. data/openapi-generator-templates/api_client_spec.mustache +216 -0
  113. data/openapi-generator-templates/api_client_typhoeus_partial.mustache +153 -0
  114. data/openapi-generator-templates/api_doc.mustache +118 -0
  115. data/openapi-generator-templates/api_error.mustache +45 -0
  116. data/openapi-generator-templates/api_info.mustache +12 -0
  117. data/openapi-generator-templates/api_test.mustache +43 -0
  118. data/openapi-generator-templates/base_object.mustache +120 -0
  119. data/openapi-generator-templates/configuration.mustache +381 -0
  120. data/openapi-generator-templates/configuration_spec.mustache +30 -0
  121. data/openapi-generator-templates/configuration_tls_faraday_partial.mustache +29 -0
  122. data/openapi-generator-templates/configuration_tls_typhoeus_partial.mustache +34 -0
  123. data/openapi-generator-templates/gem.mustache +50 -0
  124. data/openapi-generator-templates/gemspec.mustache +31 -0
  125. data/openapi-generator-templates/git_push.sh.mustache +57 -0
  126. data/openapi-generator-templates/gitignore.mustache +39 -0
  127. data/openapi-generator-templates/model.mustache +22 -0
  128. data/openapi-generator-templates/model_doc.mustache +12 -0
  129. data/openapi-generator-templates/model_test.mustache +73 -0
  130. data/openapi-generator-templates/partial_model_enum_class.mustache +20 -0
  131. data/openapi-generator-templates/partial_model_generic.mustache +371 -0
  132. data/openapi-generator-templates/partial_model_generic_doc.mustache +28 -0
  133. data/openapi-generator-templates/partial_oneof_module.mustache +137 -0
  134. data/openapi-generator-templates/partial_oneof_module_doc.mustache +92 -0
  135. data/openapi-generator-templates/rspec.mustache +2 -0
  136. data/openapi-generator-templates/rubocop.mustache +148 -0
  137. data/openapi-generator-templates/spec_helper.mustache +99 -0
  138. data/openapi-generator-templates/travis.mustache +14 -0
  139. data/openapi-generator-templates/version.mustache +3 -0
  140. data/openapitools.json +21 -0
  141. data/spec/api/films_api_spec.rb +227 -0
  142. data/spec/api/persons_api_spec.rb +45 -0
  143. data/spec/api/reviews_api_spec.rb +57 -0
  144. data/spec/api/staff_api_spec.rb +54 -0
  145. data/spec/api_client_spec.rb +229 -0
  146. data/spec/configuration_spec.rb +28 -0
  147. data/spec/models/box_office_response_spec.rb +37 -0
  148. data/spec/models/box_office_spec.rb +55 -0
  149. data/spec/models/company_spec.rb +31 -0
  150. data/spec/models/country_spec.rb +31 -0
  151. data/spec/models/digital_release_item_spec.rb +109 -0
  152. data/spec/models/digital_release_response_spec.rb +43 -0
  153. data/spec/models/distribution_response_spec.rb +37 -0
  154. data/spec/models/distribution_spec.rb +69 -0
  155. data/spec/models/episode_spec.rb +61 -0
  156. data/spec/models/fact_response_spec.rb +37 -0
  157. data/spec/models/fact_spec.rb +47 -0
  158. data/spec/models/film_search_by_filters_response_items_spec.rb +107 -0
  159. data/spec/models/film_search_by_filters_response_spec.rb +43 -0
  160. data/spec/models/film_search_response_films_spec.rb +107 -0
  161. data/spec/models/film_search_response_spec.rb +49 -0
  162. data/spec/models/film_sequels_and_prequels_response_spec.rb +71 -0
  163. data/spec/models/film_spec.rb +285 -0
  164. data/spec/models/film_top_response_films_spec.rb +91 -0
  165. data/spec/models/film_top_response_spec.rb +37 -0
  166. data/spec/models/filters_response_countries_spec.rb +37 -0
  167. data/spec/models/filters_response_genres_spec.rb +37 -0
  168. data/spec/models/filters_response_spec.rb +37 -0
  169. data/spec/models/genre_spec.rb +31 -0
  170. data/spec/models/image_response_items_spec.rb +37 -0
  171. data/spec/models/image_response_spec.rb +43 -0
  172. data/spec/models/person_by_name_response_items_spec.rb +65 -0
  173. data/spec/models/person_by_name_response_spec.rb +37 -0
  174. data/spec/models/person_response_films_spec.rb +71 -0
  175. data/spec/models/person_response_spec.rb +131 -0
  176. data/spec/models/person_response_spouses_spec.rb +77 -0
  177. data/spec/models/premiere_response_item_spec.rb +85 -0
  178. data/spec/models/premiere_response_spec.rb +37 -0
  179. data/spec/models/related_film_response_items_spec.rb +71 -0
  180. data/spec/models/related_film_response_spec.rb +37 -0
  181. data/spec/models/review_details_response_spec.rb +77 -0
  182. data/spec/models/reviews_response_reviews_spec.rb +77 -0
  183. data/spec/models/reviews_response_spec.rb +79 -0
  184. data/spec/models/season_response_spec.rb +37 -0
  185. data/spec/models/season_spec.rb +37 -0
  186. data/spec/models/staff_response_spec.rb +71 -0
  187. data/spec/models/video_response_items_spec.rb +47 -0
  188. data/spec/models/video_response_spec.rb +37 -0
  189. data/spec/spec_helper.rb +107 -0
  190. metadata +326 -0
@@ -0,0 +1,2918 @@
1
+ {
2
+ "openapi": "3.0.0",
3
+ "info": {
4
+ "title": "Kinopoisk Unofficial API",
5
+ "description": "Kinopoisk Unofficial API предеставляет доступ к данным сайта https://www.kinopoisk.ru. Для доступа вы должны получить токен, который будет доступен после регистрации на <a href=\"https://kinopoiskapiunofficial.tech\">https://kinopoiskapiunofficial.tech</a> </br> <b>Ограничения:</b> лимитов на общее кол-во запросов нет. Но есть на кол-во запросов в секунду. </br> Каждый пользователь имеет ограничение в <b>20 req/sec</b>. </br> <b>Некоторые</b> эндпоинты имеют свои собственные ограничения, они указаны в описании для статуса <b>429</b>. </br>",
6
+ "contact": {
7
+ "name": "Support",
8
+ "email": "support@kinopoiskapiunofficial.tech"
9
+ },
10
+ "version": "2.0.1"
11
+ },
12
+ "servers": [
13
+ {
14
+ "url": "https://kinopoiskapiunofficial.tech",
15
+ "description": "Main (production) server"
16
+ }
17
+ ],
18
+ "security": [
19
+ {
20
+ "ApiKeyAuth": []
21
+ }
22
+ ],
23
+ "tags": [
24
+ {
25
+ "name": "films",
26
+ "description": "Набор методов для работы с данными о фильмах"
27
+ },
28
+ {
29
+ "name": "reviews",
30
+ "description": "Набор методов для работы с ревью о фильмах"
31
+ },
32
+ {
33
+ "name": "staff",
34
+ "description": "Набор методов для работы с данными об актерах, режиссерах и т.д."
35
+ }
36
+ ],
37
+ "paths": {
38
+ "/api/v2.2/films/{id}": {
39
+ "get": {
40
+ "tags": [
41
+ "films"
42
+ ],
43
+ "summary": "получить данные о фильме по kinopoisk id",
44
+ "description": "Данный эндпоинт возвращает базовые данные о фильме. Поле <b>lastSync</b> показывает дату последнего обновления данных.",
45
+ "parameters": [
46
+ {
47
+ "name": "id",
48
+ "in": "path",
49
+ "description": "kinopoisk film id",
50
+ "required": true,
51
+ "style": "simple",
52
+ "explode": false,
53
+ "schema": {
54
+ "maximum": 5000000,
55
+ "minimum": 1,
56
+ "type": "integer"
57
+ }
58
+ }
59
+ ],
60
+ "responses": {
61
+ "200": {
62
+ "description": "Запрос выполнен успешно",
63
+ "content": {
64
+ "application/json": {
65
+ "schema": {
66
+ "$ref": "#/components/schemas/Film"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "401": {
72
+ "description": "Пустой или неправильный токен"
73
+ },
74
+ "404": {
75
+ "description": "Фильм не найден"
76
+ },
77
+ "429": {
78
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
79
+ }
80
+ }
81
+ }
82
+ },
83
+ "/api/v2.2/films/{id}/seasons": {
84
+ "get": {
85
+ "tags": [
86
+ "films"
87
+ ],
88
+ "summary": "получить данные о сезонах для сериала по kinopoisk film id",
89
+ "description": "Данный эндпоинт возвращает данные о сезонах для сериала.",
90
+ "parameters": [
91
+ {
92
+ "name": "id",
93
+ "in": "path",
94
+ "description": "kinopoisk film id",
95
+ "required": true,
96
+ "style": "simple",
97
+ "explode": false,
98
+ "schema": {
99
+ "maximum": 5000000,
100
+ "minimum": 1,
101
+ "type": "integer"
102
+ }
103
+ }
104
+ ],
105
+ "responses": {
106
+ "200": {
107
+ "description": "Запрос выполнен успешно",
108
+ "content": {
109
+ "application/json": {
110
+ "schema": {
111
+ "$ref": "#/components/schemas/SeasonResponse"
112
+ }
113
+ }
114
+ }
115
+ },
116
+ "401": {
117
+ "description": "Пустой или неправильный токен"
118
+ },
119
+ "429": {
120
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
121
+ }
122
+ }
123
+ }
124
+ },
125
+ "/api/v2.2/films/{id}/facts": {
126
+ "get": {
127
+ "tags": [
128
+ "films"
129
+ ],
130
+ "summary": "получить данные о фактах и ошибках в фильме по kinopoisk film id",
131
+ "description": "Данный эндпоинт возвращает список фактов и ошибок в фильме. <br> type - <b>FACT</b>, обозначает интересный факт о фильме. <br> type - <b>BLOOPER</b>, обозначает ошибку в фильме.",
132
+ "parameters": [
133
+ {
134
+ "name": "id",
135
+ "in": "path",
136
+ "description": "kinopoisk film id",
137
+ "required": true,
138
+ "style": "simple",
139
+ "explode": false,
140
+ "schema": {
141
+ "maximum": 5000000,
142
+ "minimum": 1,
143
+ "type": "integer"
144
+ }
145
+ }
146
+ ],
147
+ "responses": {
148
+ "200": {
149
+ "description": "Запрос выполнен успешно",
150
+ "content": {
151
+ "application/json": {
152
+ "schema": {
153
+ "$ref": "#/components/schemas/FactResponse"
154
+ }
155
+ }
156
+ }
157
+ },
158
+ "401": {
159
+ "description": "Пустой или неправильный токен"
160
+ },
161
+ "429": {
162
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
163
+ }
164
+ }
165
+ }
166
+ },
167
+ "/api/v2.2/films/{id}/distributions": {
168
+ "get": {
169
+ "tags": [
170
+ "films"
171
+ ],
172
+ "summary": "получить данные о прокате фильма по kinopoisk film id",
173
+ "description": "Данный эндпоинт возвращает данные о прокате в разных странах.",
174
+ "parameters": [
175
+ {
176
+ "name": "id",
177
+ "in": "path",
178
+ "description": "kinopoisk film id",
179
+ "required": true,
180
+ "style": "simple",
181
+ "explode": false,
182
+ "schema": {
183
+ "maximum": 5000000,
184
+ "minimum": 1,
185
+ "type": "integer"
186
+ }
187
+ }
188
+ ],
189
+ "responses": {
190
+ "200": {
191
+ "description": "Запрос выполнен успешно",
192
+ "content": {
193
+ "application/json": {
194
+ "schema": {
195
+ "$ref": "#/components/schemas/DistributionResponse"
196
+ }
197
+ }
198
+ }
199
+ },
200
+ "401": {
201
+ "description": "Пустой или неправильный токен"
202
+ },
203
+ "429": {
204
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
205
+ }
206
+ }
207
+ }
208
+ },
209
+ "/api/v2.2/films/{id}/box_office": {
210
+ "get": {
211
+ "tags": [
212
+ "films"
213
+ ],
214
+ "summary": "получить данные о бюджете и сборах фильма по kinopoisk film id",
215
+ "description": "Данный эндпоинт возвращает данные о бюджете и сборах.",
216
+ "parameters": [
217
+ {
218
+ "name": "id",
219
+ "in": "path",
220
+ "description": "kinopoisk film id",
221
+ "required": true,
222
+ "style": "simple",
223
+ "explode": false,
224
+ "schema": {
225
+ "maximum": 5000000,
226
+ "minimum": 1,
227
+ "type": "integer"
228
+ }
229
+ }
230
+ ],
231
+ "responses": {
232
+ "200": {
233
+ "description": "Запрос выполнен успешно",
234
+ "content": {
235
+ "application/json": {
236
+ "schema": {
237
+ "$ref": "#/components/schemas/BoxOfficeResponse"
238
+ }
239
+ }
240
+ }
241
+ },
242
+ "401": {
243
+ "description": "Пустой или неправильный токен"
244
+ },
245
+ "429": {
246
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
247
+ }
248
+ }
249
+ }
250
+ },
251
+ "/api/v2.2/films/{id}/videos": {
252
+ "get": {
253
+ "tags": [
254
+ "films"
255
+ ],
256
+ "summary": "получить трейлеры,тизеры,видео для фильма по kinopoisk film id",
257
+ "description": "Данный эндпоинт возвращает трейлеры,тизеры,видео для фильма по kinopoisk film id. В данный момент доступно два site: <br/> <ul><li>YOUTUBE - в этом случае <b>url</b> это просто ссылка на youtube видео.</li><li>KINOPOISK_WIDGET - в этом случае <b>url</b> это ссылка на кинопоиск виджет. Например https://widgets.kinopoisk.ru/discovery/trailer/123573?onlyPlayer=1&autoplay=1&cover=1. Если вы хотите вставить этот виджет на вашу страницу, вы можете сделать следующее: <br/><br/>&lt;script src=&quot;https://unpkg.com/@ungap/custom-elements-builtin&quot;&gt;&lt;/script&gt;<br/>&lt;script type=&quot;module&quot; src=&quot;https://unpkg.com/x-frame-bypass&quot;&gt;&lt;/script&gt;<br/>&lt;iframe is=&quot;x-frame-bypass&quot; src=&quot;https://widgets.kinopoisk.ru/discovery/trailer/167560?onlyPlayer=1&amp;autoplay=1&amp;cover=1&quot; width=&quot;500&quot; height=&quot;500&quot;&gt;&lt;/iframe&gt;</li></ul>",
258
+ "parameters": [
259
+ {
260
+ "name": "id",
261
+ "in": "path",
262
+ "description": "kinopoisk film id",
263
+ "required": true,
264
+ "style": "simple",
265
+ "explode": false,
266
+ "schema": {
267
+ "maximum": 5000000,
268
+ "minimum": 1,
269
+ "type": "integer"
270
+ }
271
+ }
272
+ ],
273
+ "responses": {
274
+ "200": {
275
+ "description": "Запрос выполнен успешно",
276
+ "content": {
277
+ "application/json": {
278
+ "schema": {
279
+ "$ref": "#/components/schemas/VideoResponse"
280
+ }
281
+ }
282
+ }
283
+ },
284
+ "401": {
285
+ "description": "Пустой или неправильный токен"
286
+ },
287
+ "429": {
288
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
289
+ }
290
+ }
291
+ }
292
+ },
293
+ "/api/v2.2/films/top": {
294
+ "get": {
295
+ "tags": [
296
+ "films"
297
+ ],
298
+ "summary": "получить список фильмов из различных топов или коллекций. Например https://www.kinopoisk.ru/top/lists/58/",
299
+ "description": "Возвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов.",
300
+ "parameters": [
301
+ {
302
+ "name": "type",
303
+ "in": "query",
304
+ "description": "тип топа или коллекции",
305
+ "required": false,
306
+ "style": "form",
307
+ "explode": true,
308
+ "schema": {
309
+ "type": "string",
310
+ "default": "TOP_250_BEST_FILMS",
311
+ "enum": [
312
+ "TOP_250_BEST_FILMS",
313
+ "TOP_100_POPULAR_FILMS",
314
+ "TOP_AWAIT_FILMS"
315
+ ]
316
+ }
317
+ },
318
+ {
319
+ "name": "page",
320
+ "in": "query",
321
+ "description": "номер страницы",
322
+ "required": false,
323
+ "style": "form",
324
+ "explode": true,
325
+ "schema": {
326
+ "maximum": 20,
327
+ "minimum": 1,
328
+ "type": "integer",
329
+ "default": 1
330
+ }
331
+ }
332
+ ],
333
+ "responses": {
334
+ "200": {
335
+ "description": "Запрос выполнен успешно",
336
+ "content": {
337
+ "application/json": {
338
+ "schema": {
339
+ "$ref": "#/components/schemas/FilmTopResponse"
340
+ }
341
+ }
342
+ }
343
+ },
344
+ "401": {
345
+ "description": "Пустой или неправильный токен"
346
+ },
347
+ "429": {
348
+ "description": "Слишком много запросов. Лимит 5 запроса в секунду"
349
+ }
350
+ }
351
+ }
352
+ },
353
+ "/api/v2.2/films/{id}/similars": {
354
+ "get": {
355
+ "tags": [
356
+ "films"
357
+ ],
358
+ "summary": "получить список похожих фильмов по kinopoisk film id",
359
+ "parameters": [
360
+ {
361
+ "name": "id",
362
+ "in": "path",
363
+ "description": "kinopoisk film id",
364
+ "required": true,
365
+ "style": "simple",
366
+ "explode": false,
367
+ "schema": {
368
+ "maximum": 5000000,
369
+ "minimum": 1,
370
+ "type": "integer"
371
+ }
372
+ }
373
+ ],
374
+ "responses": {
375
+ "200": {
376
+ "description": "Запрос выполнен успешно",
377
+ "content": {
378
+ "application/json": {
379
+ "schema": {
380
+ "$ref": "#/components/schemas/RelatedFilmResponse"
381
+ }
382
+ }
383
+ }
384
+ },
385
+ "401": {
386
+ "description": "Пустой или неправильный токен"
387
+ },
388
+ "429": {
389
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
390
+ }
391
+ }
392
+ }
393
+ },
394
+ "/api/v2.2/films/premieres": {
395
+ "get": {
396
+ "tags": [
397
+ "films"
398
+ ],
399
+ "summary": "получить список кинопремьер",
400
+ "description": "Данный эндпоинт возвращает список кинопремьер. Например https://www.kinopoisk.ru/premiere/",
401
+ "parameters": [
402
+ {
403
+ "name": "year",
404
+ "in": "query",
405
+ "description": "год релиза",
406
+ "required": true,
407
+ "style": "form",
408
+ "explode": true,
409
+ "schema": {
410
+ "type": "integer"
411
+ }
412
+ },
413
+ {
414
+ "name": "month",
415
+ "in": "query",
416
+ "description": "месяц релиза",
417
+ "required": true,
418
+ "style": "form",
419
+ "explode": true,
420
+ "schema": {
421
+ "type": "string",
422
+ "enum": [
423
+ "JANUARY",
424
+ "FEBRUARY",
425
+ "MARCH",
426
+ "APRIL",
427
+ "MAY",
428
+ "JUNE",
429
+ "JULY",
430
+ "AUGUST",
431
+ "SEPTEMBER",
432
+ "OCTOBER",
433
+ "NOVEMBER",
434
+ "DECEMBER"
435
+ ]
436
+ }
437
+ }
438
+ ],
439
+ "responses": {
440
+ "200": {
441
+ "description": "Запрос выполнен успешно",
442
+ "content": {
443
+ "application/json": {
444
+ "schema": {
445
+ "$ref": "#/components/schemas/PremiereResponse"
446
+ }
447
+ }
448
+ }
449
+ },
450
+ "401": {
451
+ "description": "Пустой или неправильный токен"
452
+ },
453
+ "429": {
454
+ "description": "Слишком много запросов. Лимит 5 запросов в секунду"
455
+ }
456
+ }
457
+ }
458
+ },
459
+ "/api/v2.2/films/{id}/images": {
460
+ "get": {
461
+ "tags": [
462
+ "films"
463
+ ],
464
+ "summary": "получить изображения(кадры, постеры, фан-арты, обои и т.д.) связанные с фильмом по kinopoisk film id",
465
+ "description": "Данный эндпоинт возвращает изображения связанные с фильмом с пагинацией. Каждая страница содержит <b>не более чем 20 фильмов</b>.</br> Доступные изображения:</br> <ul> <li>STILL - кадры</li> <li>SHOOTING - изображения со съемок</li> <li>POSTER - постеры</li> <li>FAN_ART - фан-арты</li> <li>PROMO - промо</li> <li>CONCEPT - концепт-арты</li> <li>WALLPAPER - обои</li> <li>COVER - обложки</li> <li>SCREENSHOT - скриншоты</li> </ul> ",
466
+ "parameters": [
467
+ {
468
+ "name": "id",
469
+ "in": "path",
470
+ "description": "kinopoisk film id",
471
+ "required": true,
472
+ "style": "simple",
473
+ "explode": false,
474
+ "schema": {
475
+ "maximum": 5000000,
476
+ "minimum": 1,
477
+ "type": "integer"
478
+ }
479
+ },
480
+ {
481
+ "name": "type",
482
+ "in": "query",
483
+ "description": "тип изображения",
484
+ "required": false,
485
+ "style": "form",
486
+ "explode": true,
487
+ "schema": {
488
+ "type": "string",
489
+ "default": "STILL",
490
+ "enum": [
491
+ "STILL",
492
+ "SHOOTING",
493
+ "POSTER",
494
+ "FAN_ART",
495
+ "PROMO",
496
+ "CONCEPT",
497
+ "WALLPAPER",
498
+ "COVER",
499
+ "SCREENSHOT"
500
+ ]
501
+ }
502
+ },
503
+ {
504
+ "name": "page",
505
+ "in": "query",
506
+ "description": "номер страницы",
507
+ "required": false,
508
+ "style": "form",
509
+ "explode": true,
510
+ "schema": {
511
+ "maximum": 20,
512
+ "minimum": 1,
513
+ "type": "integer",
514
+ "default": 1
515
+ }
516
+ }
517
+ ],
518
+ "responses": {
519
+ "200": {
520
+ "description": "Запрос выполнен успешно",
521
+ "content": {
522
+ "application/json": {
523
+ "schema": {
524
+ "$ref": "#/components/schemas/ImageResponse"
525
+ }
526
+ }
527
+ }
528
+ },
529
+ "401": {
530
+ "description": "Пустой или неправильный токен"
531
+ },
532
+ "429": {
533
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
534
+ }
535
+ }
536
+ }
537
+ },
538
+ "/api/v2.2/films/filters": {
539
+ "get": {
540
+ "tags": [
541
+ "films"
542
+ ],
543
+ "summary": "получить id стран и жанров для использования в /api/v2.2/films",
544
+ "description": "Возвращает список id стран и жанров, которые могут быть использованы в /api/v2.2/films",
545
+ "responses": {
546
+ "200": {
547
+ "description": "Запрос выполнен успешно",
548
+ "content": {
549
+ "application/json": {
550
+ "schema": {
551
+ "$ref": "#/components/schemas/FiltersResponse"
552
+ }
553
+ }
554
+ }
555
+ },
556
+ "401": {
557
+ "description": "Пустой или неправильный токен"
558
+ },
559
+ "429": {
560
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
561
+ }
562
+ }
563
+ }
564
+ },
565
+ "/api/v2.2/films": {
566
+ "get": {
567
+ "tags": [
568
+ "films"
569
+ ],
570
+ "summary": "получить список фильмов по различным фильтрам",
571
+ "description": "Возвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов. Данный эндпоинт не возращает более 400 фильмов. <i>Используй /api/v2.2/films/filters чтобы получить id стран и жанров.</i>",
572
+ "parameters": [
573
+ {
574
+ "name": "countries",
575
+ "in": "query",
576
+ "description": "список id стран разделенные запятой. Например <i>countries=1,2,3</i>. На данный момент можно указать не более одной страны.",
577
+ "required": false,
578
+ "style": "form",
579
+ "explode": true,
580
+ "schema": {
581
+ "type": "array",
582
+ "items": {
583
+ "type": "integer"
584
+ }
585
+ }
586
+ },
587
+ {
588
+ "name": "genres",
589
+ "in": "query",
590
+ "description": "список id жанров разделенные запятой. Например <i>genres=1,2,3</i>. На данный момент можно указать не более одного жанра.",
591
+ "required": false,
592
+ "style": "form",
593
+ "explode": true,
594
+ "schema": {
595
+ "type": "array",
596
+ "items": {
597
+ "type": "integer"
598
+ }
599
+ }
600
+ },
601
+ {
602
+ "name": "order",
603
+ "in": "query",
604
+ "description": "сортировка",
605
+ "required": false,
606
+ "style": "form",
607
+ "explode": true,
608
+ "schema": {
609
+ "type": "string",
610
+ "default": "RATING",
611
+ "enum": [
612
+ "RATING",
613
+ "NUM_VOTE",
614
+ "YEAR"
615
+ ]
616
+ }
617
+ },
618
+ {
619
+ "name": "type",
620
+ "in": "query",
621
+ "description": "тип фильма",
622
+ "required": false,
623
+ "style": "form",
624
+ "explode": true,
625
+ "schema": {
626
+ "type": "string",
627
+ "default": "ALL",
628
+ "enum": [
629
+ "FILM",
630
+ "VIDEO",
631
+ "TV_SERIES",
632
+ "MINI_SERIES",
633
+ "TV_SHOW",
634
+ "ALL"
635
+ ]
636
+ }
637
+ },
638
+ {
639
+ "name": "ratingFrom",
640
+ "in": "query",
641
+ "description": "минимальный рейтинг",
642
+ "required": false,
643
+ "style": "form",
644
+ "explode": true,
645
+ "schema": {
646
+ "type": "integer",
647
+ "default": 0
648
+ }
649
+ },
650
+ {
651
+ "name": "ratingTo",
652
+ "in": "query",
653
+ "description": "максимальный рейтинг",
654
+ "required": false,
655
+ "style": "form",
656
+ "explode": true,
657
+ "schema": {
658
+ "type": "integer",
659
+ "default": 10
660
+ }
661
+ },
662
+ {
663
+ "name": "yearFrom",
664
+ "in": "query",
665
+ "description": "минимальный год",
666
+ "required": false,
667
+ "style": "form",
668
+ "explode": true,
669
+ "schema": {
670
+ "type": "integer",
671
+ "default": 1000
672
+ }
673
+ },
674
+ {
675
+ "name": "yearTo",
676
+ "in": "query",
677
+ "description": "максимальный год",
678
+ "required": false,
679
+ "style": "form",
680
+ "explode": true,
681
+ "schema": {
682
+ "type": "integer",
683
+ "default": 3000
684
+ }
685
+ },
686
+ {
687
+ "name": "imdbId",
688
+ "in": "query",
689
+ "description": "imdb id",
690
+ "required": false,
691
+ "style": "form",
692
+ "explode": true,
693
+ "schema": {
694
+ "type": "string"
695
+ }
696
+ },
697
+ {
698
+ "name": "keyword",
699
+ "in": "query",
700
+ "description": "ключевое слово, которое встречается в названии фильма",
701
+ "required": false,
702
+ "style": "form",
703
+ "explode": true,
704
+ "schema": {
705
+ "type": "string"
706
+ }
707
+ },
708
+ {
709
+ "name": "page",
710
+ "in": "query",
711
+ "description": "номер страницы",
712
+ "required": false,
713
+ "style": "form",
714
+ "explode": true,
715
+ "schema": {
716
+ "maximum": 20,
717
+ "minimum": 1,
718
+ "type": "integer",
719
+ "default": 1
720
+ }
721
+ }
722
+ ],
723
+ "responses": {
724
+ "200": {
725
+ "description": "Запрос выполнен успешно",
726
+ "content": {
727
+ "application/json": {
728
+ "schema": {
729
+ "$ref": "#/components/schemas/FilmSearchByFiltersResponse"
730
+ }
731
+ }
732
+ }
733
+ },
734
+ "401": {
735
+ "description": "Пустой или неправильный токен"
736
+ },
737
+ "429": {
738
+ "description": "Слишком много запросов. Лимит 5 запросов в секунду"
739
+ }
740
+ }
741
+ }
742
+ },
743
+ "/api/v2.1/films/{id}/sequels_and_prequels": {
744
+ "get": {
745
+ "tags": [
746
+ "films"
747
+ ],
748
+ "summary": "получить сиквелы и приквелы для фильма по kinopoisk film id",
749
+ "description": "tbd",
750
+ "parameters": [
751
+ {
752
+ "name": "id",
753
+ "in": "path",
754
+ "description": "kinopoisk film id",
755
+ "required": true,
756
+ "style": "simple",
757
+ "explode": false,
758
+ "schema": {
759
+ "maximum": 5000000,
760
+ "minimum": 1,
761
+ "type": "integer"
762
+ }
763
+ }
764
+ ],
765
+ "responses": {
766
+ "200": {
767
+ "description": "Запрос выполнен успешно",
768
+ "content": {
769
+ "application/json": {
770
+ "schema": {
771
+ "type": "array",
772
+ "items": {
773
+ "$ref": "#/components/schemas/FilmSequelsAndPrequelsResponse"
774
+ }
775
+ }
776
+ }
777
+ }
778
+ },
779
+ "401": {
780
+ "description": "Пустой или неправильный токен"
781
+ },
782
+ "404": {
783
+ "description": "Фильм не найден"
784
+ },
785
+ "429": {
786
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
787
+ }
788
+ }
789
+ }
790
+ },
791
+ "/api/v2.1/films/search-by-keyword": {
792
+ "get": {
793
+ "tags": [
794
+ "films"
795
+ ],
796
+ "summary": "получить список фильмов по ключевым словам",
797
+ "description": "Возвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов.",
798
+ "parameters": [
799
+ {
800
+ "name": "keyword",
801
+ "in": "query",
802
+ "description": "ключивые слова для поиска",
803
+ "required": true,
804
+ "style": "form",
805
+ "explode": true,
806
+ "schema": {
807
+ "type": "string"
808
+ }
809
+ },
810
+ {
811
+ "name": "page",
812
+ "in": "query",
813
+ "description": "номер страницы",
814
+ "required": false,
815
+ "style": "form",
816
+ "explode": true,
817
+ "schema": {
818
+ "maximum": 20,
819
+ "minimum": 1,
820
+ "type": "integer",
821
+ "default": 1
822
+ }
823
+ }
824
+ ],
825
+ "responses": {
826
+ "200": {
827
+ "description": "Запрос выполнен успешно",
828
+ "content": {
829
+ "application/json": {
830
+ "schema": {
831
+ "$ref": "#/components/schemas/FilmSearchResponse"
832
+ }
833
+ }
834
+ }
835
+ },
836
+ "401": {
837
+ "description": "Пустой или неправильный токен"
838
+ },
839
+ "404": {
840
+ "description": "Фильмы не найдены"
841
+ },
842
+ "429": {
843
+ "description": "Слишком много запросов. Лимит 5 запросов в секунду"
844
+ }
845
+ }
846
+ }
847
+ },
848
+ "/api/v2.1/films/releases": {
849
+ "get": {
850
+ "tags": [
851
+ "films"
852
+ ],
853
+ "summary": "получить список цифровых релизов",
854
+ "description": "Данный эндпоинт возвращает список цифровых релизов. Например https://www.kinopoisk.ru/comingsoon/digital/",
855
+ "parameters": [
856
+ {
857
+ "name": "year",
858
+ "in": "query",
859
+ "description": "год релиза",
860
+ "required": true,
861
+ "style": "form",
862
+ "explode": true,
863
+ "schema": {
864
+ "type": "integer"
865
+ }
866
+ },
867
+ {
868
+ "name": "month",
869
+ "in": "query",
870
+ "description": "месяц релиза",
871
+ "required": true,
872
+ "style": "form",
873
+ "explode": true,
874
+ "schema": {
875
+ "type": "string",
876
+ "enum": [
877
+ "JANUARY",
878
+ "FEBRUARY",
879
+ "MARCH",
880
+ "APRIL",
881
+ "MAY",
882
+ "JUNE",
883
+ "JULY",
884
+ "AUGUST",
885
+ "SEPTEMBER",
886
+ "OCTOBER",
887
+ "NOVEMBER",
888
+ "DECEMBER"
889
+ ]
890
+ }
891
+ },
892
+ {
893
+ "name": "page",
894
+ "in": "query",
895
+ "description": "номер страницы",
896
+ "required": false,
897
+ "style": "form",
898
+ "explode": true,
899
+ "schema": {
900
+ "maximum": 20,
901
+ "minimum": 1,
902
+ "type": "integer",
903
+ "default": 1
904
+ }
905
+ }
906
+ ],
907
+ "responses": {
908
+ "200": {
909
+ "description": "Запрос выполнен успешно",
910
+ "content": {
911
+ "application/json": {
912
+ "schema": {
913
+ "$ref": "#/components/schemas/DigitalReleaseResponse"
914
+ }
915
+ }
916
+ }
917
+ },
918
+ "401": {
919
+ "description": "Пустой или неправильный токен"
920
+ },
921
+ "404": {
922
+ "description": "Фильмы не найдены"
923
+ },
924
+ "429": {
925
+ "description": "Слишком много запросов. Лимит 5 запросов в секунду"
926
+ }
927
+ }
928
+ }
929
+ },
930
+ "/api/v1/reviews": {
931
+ "get": {
932
+ "tags": [
933
+ "reviews"
934
+ ],
935
+ "summary": "получить рецензии зрителей",
936
+ "description": "Возвращает список рецензий с пагинацией. Каждая страница содержит не более чем 20 рецензий. Поле <b>description</b> содержит не полный текст рецензии. Полный текст может быть получен из /api/v1/reviews/details",
937
+ "parameters": [
938
+ {
939
+ "name": "filmId",
940
+ "in": "query",
941
+ "description": "kinopoisk film id",
942
+ "required": true,
943
+ "style": "form",
944
+ "explode": true,
945
+ "schema": {
946
+ "maximum": 5000000,
947
+ "minimum": 1,
948
+ "type": "integer"
949
+ }
950
+ },
951
+ {
952
+ "name": "page",
953
+ "in": "query",
954
+ "description": "номер страницы",
955
+ "required": false,
956
+ "style": "form",
957
+ "explode": true,
958
+ "schema": {
959
+ "maximum": 50,
960
+ "minimum": 1,
961
+ "type": "integer",
962
+ "default": 1
963
+ }
964
+ }
965
+ ],
966
+ "responses": {
967
+ "200": {
968
+ "description": "Запрос выполнен успешно",
969
+ "content": {
970
+ "application/json": {
971
+ "schema": {
972
+ "$ref": "#/components/schemas/ReviewsResponse"
973
+ }
974
+ }
975
+ }
976
+ },
977
+ "401": {
978
+ "description": "Пустой или неправильный токен"
979
+ },
980
+ "404": {
981
+ "description": "Рецензии не найдены"
982
+ },
983
+ "429": {
984
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
985
+ }
986
+ }
987
+ }
988
+ },
989
+ "/api/v1/reviews/details": {
990
+ "get": {
991
+ "tags": [
992
+ "reviews"
993
+ ],
994
+ "summary": "получить полную рецензию по kinopoisk review id",
995
+ "description": "Возвращает полную информацию о рецензии.",
996
+ "parameters": [
997
+ {
998
+ "name": "reviewId",
999
+ "in": "query",
1000
+ "description": "kinopoisk review id",
1001
+ "required": true,
1002
+ "style": "form",
1003
+ "explode": true,
1004
+ "schema": {
1005
+ "type": "integer"
1006
+ }
1007
+ }
1008
+ ],
1009
+ "responses": {
1010
+ "200": {
1011
+ "description": "Запрос выполнен успешно",
1012
+ "content": {
1013
+ "application/json": {
1014
+ "schema": {
1015
+ "$ref": "#/components/schemas/ReviewDetailsResponse"
1016
+ }
1017
+ }
1018
+ }
1019
+ },
1020
+ "401": {
1021
+ "description": "Пустой или неправильный токен"
1022
+ },
1023
+ "404": {
1024
+ "description": "Рецензия не найдена"
1025
+ },
1026
+ "429": {
1027
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
1028
+ }
1029
+ }
1030
+ }
1031
+ },
1032
+ "/api/v1/staff": {
1033
+ "get": {
1034
+ "tags": [
1035
+ "staff"
1036
+ ],
1037
+ "summary": "получить данные об актерах, режисерах и т.д. по kinopoisk film id",
1038
+ "parameters": [
1039
+ {
1040
+ "name": "filmId",
1041
+ "in": "query",
1042
+ "description": "kinopoisk film id",
1043
+ "required": true,
1044
+ "style": "form",
1045
+ "explode": true,
1046
+ "schema": {
1047
+ "maximum": 5000000,
1048
+ "minimum": 1,
1049
+ "type": "integer"
1050
+ }
1051
+ }
1052
+ ],
1053
+ "responses": {
1054
+ "200": {
1055
+ "description": "Запрос выполнен успешно",
1056
+ "content": {
1057
+ "application/json": {
1058
+ "schema": {
1059
+ "type": "array",
1060
+ "items": {
1061
+ "$ref": "#/components/schemas/StaffResponse"
1062
+ }
1063
+ }
1064
+ }
1065
+ }
1066
+ },
1067
+ "401": {
1068
+ "description": "Пустой или неправильный токен"
1069
+ },
1070
+ "404": {
1071
+ "description": "Данные не найдены"
1072
+ },
1073
+ "429": {
1074
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
1075
+ }
1076
+ }
1077
+ }
1078
+ },
1079
+ "/api/v1/staff/{id}": {
1080
+ "get": {
1081
+ "tags": [
1082
+ "staff"
1083
+ ],
1084
+ "summary": "получить данные о конкретном человеке по kinopoisk person id",
1085
+ "parameters": [
1086
+ {
1087
+ "name": "id",
1088
+ "in": "path",
1089
+ "description": "kinopoisk person id",
1090
+ "required": true,
1091
+ "style": "simple",
1092
+ "explode": false,
1093
+ "schema": {
1094
+ "type": "integer"
1095
+ }
1096
+ }
1097
+ ],
1098
+ "responses": {
1099
+ "200": {
1100
+ "description": "Запрос выполнен успешно",
1101
+ "content": {
1102
+ "application/json": {
1103
+ "schema": {
1104
+ "$ref": "#/components/schemas/PersonResponse"
1105
+ }
1106
+ }
1107
+ }
1108
+ },
1109
+ "401": {
1110
+ "description": "Пустой или неправильный токен"
1111
+ },
1112
+ "404": {
1113
+ "description": "Данные не найдены"
1114
+ },
1115
+ "429": {
1116
+ "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду"
1117
+ }
1118
+ }
1119
+ }
1120
+ },
1121
+ "/api/v1/persons": {
1122
+ "get": {
1123
+ "tags": [
1124
+ "persons"
1125
+ ],
1126
+ "summary": "поиск актеров, режиссеров и т.д. по имени",
1127
+ "description": "Одна страница может содержать до 50 элементов в items.",
1128
+ "parameters": [
1129
+ {
1130
+ "name": "name",
1131
+ "in": "query",
1132
+ "description": "имя человека",
1133
+ "required": true,
1134
+ "style": "form",
1135
+ "explode": true,
1136
+ "schema": {
1137
+ "type": "string"
1138
+ }
1139
+ },
1140
+ {
1141
+ "name": "page",
1142
+ "in": "query",
1143
+ "description": "номер страницы",
1144
+ "required": false,
1145
+ "style": "form",
1146
+ "explode": true,
1147
+ "schema": {
1148
+ "maximum": 2,
1149
+ "minimum": 1,
1150
+ "type": "integer",
1151
+ "default": 1
1152
+ }
1153
+ }
1154
+ ],
1155
+ "responses": {
1156
+ "200": {
1157
+ "description": "Запрос выполнен успешно",
1158
+ "content": {
1159
+ "application/json": {
1160
+ "schema": {
1161
+ "$ref": "#/components/schemas/PersonByNameResponse"
1162
+ }
1163
+ }
1164
+ }
1165
+ },
1166
+ "401": {
1167
+ "description": "Пустой или неправильный токен"
1168
+ },
1169
+ "429": {
1170
+ "description": "Слишком много запросов. Общий лимит - 5 запросов в секунду"
1171
+ }
1172
+ }
1173
+ }
1174
+ }
1175
+ },
1176
+ "components": {
1177
+ "schemas": {
1178
+ "Film": {
1179
+ "required": [
1180
+ "boxOffice",
1181
+ "countries",
1182
+ "description",
1183
+ "distributions",
1184
+ "editorAnnotation",
1185
+ "endYear",
1186
+ "facts",
1187
+ "filmLength",
1188
+ "genres",
1189
+ "has3D",
1190
+ "hasImax",
1191
+ "imdbId",
1192
+ "isTicketsAvailable",
1193
+ "kinopoiskId",
1194
+ "lastSync",
1195
+ "nameEn",
1196
+ "nameOriginal",
1197
+ "nameRu",
1198
+ "posterUrl",
1199
+ "posterUrlPreview",
1200
+ "productionStatus",
1201
+ "ratingAgeLimits",
1202
+ "ratingAwait",
1203
+ "ratingAwaitCount",
1204
+ "ratingFilmCritics",
1205
+ "ratingFilmCriticsVoteCount",
1206
+ "ratingGoodReview",
1207
+ "ratingGoodReviewVoteCount",
1208
+ "ratingImdb",
1209
+ "ratingImdbVoteCount",
1210
+ "ratingKinopoisk",
1211
+ "ratingKinopoiskVoteCount",
1212
+ "ratingMpaa",
1213
+ "ratingRfCritics",
1214
+ "ratingRfCriticsVoteCount",
1215
+ "reviewsCount",
1216
+ "seasons",
1217
+ "shortDescription",
1218
+ "slogan",
1219
+ "startYear",
1220
+ "type",
1221
+ "webUrl",
1222
+ "year"
1223
+ ],
1224
+ "type": "object",
1225
+ "properties": {
1226
+ "kinopoiskId": {
1227
+ "type": "integer",
1228
+ "example": 301
1229
+ },
1230
+ "imdbId": {
1231
+ "type": "string",
1232
+ "nullable": true,
1233
+ "example": "tt0133093"
1234
+ },
1235
+ "nameRu": {
1236
+ "type": "string",
1237
+ "nullable": true,
1238
+ "example": "Матрица"
1239
+ },
1240
+ "nameEn": {
1241
+ "type": "string",
1242
+ "nullable": true,
1243
+ "example": "The Matrix"
1244
+ },
1245
+ "nameOriginal": {
1246
+ "type": "string",
1247
+ "nullable": true,
1248
+ "example": "The Matrix"
1249
+ },
1250
+ "posterUrl": {
1251
+ "type": "string",
1252
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp/301.jpg"
1253
+ },
1254
+ "posterUrlPreview": {
1255
+ "type": "string",
1256
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg"
1257
+ },
1258
+ "reviewsCount": {
1259
+ "type": "integer",
1260
+ "example": 293
1261
+ },
1262
+ "ratingGoodReview": {
1263
+ "type": "number",
1264
+ "nullable": true,
1265
+ "example": 88.9
1266
+ },
1267
+ "ratingGoodReviewVoteCount": {
1268
+ "type": "integer",
1269
+ "nullable": true,
1270
+ "example": 257
1271
+ },
1272
+ "ratingKinopoisk": {
1273
+ "type": "number",
1274
+ "nullable": true,
1275
+ "example": 8.5
1276
+ },
1277
+ "ratingKinopoiskVoteCount": {
1278
+ "type": "integer",
1279
+ "nullable": true,
1280
+ "example": 524108
1281
+ },
1282
+ "ratingImdb": {
1283
+ "type": "number",
1284
+ "nullable": true,
1285
+ "example": 8.7
1286
+ },
1287
+ "ratingImdbVoteCount": {
1288
+ "type": "integer",
1289
+ "nullable": true,
1290
+ "example": 1729087
1291
+ },
1292
+ "ratingFilmCritics": {
1293
+ "type": "number",
1294
+ "nullable": true,
1295
+ "example": 7.8
1296
+ },
1297
+ "ratingFilmCriticsVoteCount": {
1298
+ "type": "integer",
1299
+ "nullable": true,
1300
+ "example": 155
1301
+ },
1302
+ "ratingAwait": {
1303
+ "type": "number",
1304
+ "nullable": true,
1305
+ "example": 7.8
1306
+ },
1307
+ "ratingAwaitCount": {
1308
+ "type": "integer",
1309
+ "nullable": true,
1310
+ "example": 2
1311
+ },
1312
+ "ratingRfCritics": {
1313
+ "type": "number",
1314
+ "nullable": true,
1315
+ "example": 7.8
1316
+ },
1317
+ "ratingRfCriticsVoteCount": {
1318
+ "type": "integer",
1319
+ "nullable": true,
1320
+ "example": 31
1321
+ },
1322
+ "webUrl": {
1323
+ "type": "string",
1324
+ "example": "https://www.kinopoisk.ru/film/301/"
1325
+ },
1326
+ "year": {
1327
+ "type": "integer",
1328
+ "nullable": true,
1329
+ "example": 1999
1330
+ },
1331
+ "filmLength": {
1332
+ "type": "integer",
1333
+ "nullable": true,
1334
+ "example": 136
1335
+ },
1336
+ "slogan": {
1337
+ "type": "string",
1338
+ "nullable": true,
1339
+ "example": "Добро пожаловать в реальный мир"
1340
+ },
1341
+ "description": {
1342
+ "type": "string",
1343
+ "nullable": true,
1344
+ "example": "Жизнь Томаса Андерсона разделена на две части:"
1345
+ },
1346
+ "shortDescription": {
1347
+ "type": "string",
1348
+ "nullable": true,
1349
+ "example": "Хакер Нео узнает, что его мир — виртуальный. Выдающийся экшен, доказавший, что зрелищное кино может быть умным"
1350
+ },
1351
+ "editorAnnotation": {
1352
+ "type": "string",
1353
+ "nullable": true,
1354
+ "example": "Фильм доступен только на языке оригинала с русскими субтитрами"
1355
+ },
1356
+ "isTicketsAvailable": {
1357
+ "type": "boolean",
1358
+ "example": false
1359
+ },
1360
+ "productionStatus": {
1361
+ "type": "string",
1362
+ "nullable": true,
1363
+ "example": "POST_PRODUCTION",
1364
+ "enum": [
1365
+ "FILMING",
1366
+ "PRE_PRODUCTION",
1367
+ "COMPLETED",
1368
+ "ANNOUNCED",
1369
+ "UNKNOWN",
1370
+ "POST_PRODUCTION"
1371
+ ]
1372
+ },
1373
+ "type": {
1374
+ "type": "string",
1375
+ "example": "FILM",
1376
+ "enum": [
1377
+ "FILM",
1378
+ "VIDEO",
1379
+ "TV_SERIES",
1380
+ "MINI_SERIES",
1381
+ "TV_SHOW"
1382
+ ]
1383
+ },
1384
+ "ratingMpaa": {
1385
+ "type": "string",
1386
+ "nullable": true,
1387
+ "example": "r"
1388
+ },
1389
+ "ratingAgeLimits": {
1390
+ "type": "string",
1391
+ "nullable": true,
1392
+ "example": "age16"
1393
+ },
1394
+ "hasImax": {
1395
+ "type": "boolean",
1396
+ "nullable": true,
1397
+ "example": false
1398
+ },
1399
+ "has3D": {
1400
+ "type": "boolean",
1401
+ "nullable": true,
1402
+ "example": false
1403
+ },
1404
+ "lastSync": {
1405
+ "type": "string",
1406
+ "example": "2021-07-29T20:07:49.109817"
1407
+ },
1408
+ "countries": {
1409
+ "type": "array",
1410
+ "items": {
1411
+ "$ref": "#/components/schemas/Country"
1412
+ }
1413
+ },
1414
+ "genres": {
1415
+ "type": "array",
1416
+ "items": {
1417
+ "$ref": "#/components/schemas/Genre"
1418
+ }
1419
+ },
1420
+ "startYear": {
1421
+ "type": "integer",
1422
+ "nullable": true,
1423
+ "example": 1996
1424
+ },
1425
+ "endYear": {
1426
+ "type": "integer",
1427
+ "nullable": true,
1428
+ "example": 1996
1429
+ },
1430
+ "serial": {
1431
+ "type": "boolean",
1432
+ "nullable": true,
1433
+ "example": false
1434
+ },
1435
+ "shortFilm": {
1436
+ "type": "boolean",
1437
+ "nullable": true,
1438
+ "example": false
1439
+ },
1440
+ "completed": {
1441
+ "type": "boolean",
1442
+ "nullable": true,
1443
+ "example": false
1444
+ }
1445
+ }
1446
+ },
1447
+ "SeasonResponse": {
1448
+ "required": [
1449
+ "items",
1450
+ "total"
1451
+ ],
1452
+ "type": "object",
1453
+ "properties": {
1454
+ "total": {
1455
+ "type": "integer",
1456
+ "example": 5
1457
+ },
1458
+ "items": {
1459
+ "type": "array",
1460
+ "items": {
1461
+ "$ref": "#/components/schemas/Season"
1462
+ }
1463
+ }
1464
+ }
1465
+ },
1466
+ "FactResponse": {
1467
+ "required": [
1468
+ "items",
1469
+ "total"
1470
+ ],
1471
+ "type": "object",
1472
+ "properties": {
1473
+ "total": {
1474
+ "type": "integer",
1475
+ "example": 5
1476
+ },
1477
+ "items": {
1478
+ "type": "array",
1479
+ "items": {
1480
+ "$ref": "#/components/schemas/Fact"
1481
+ }
1482
+ }
1483
+ }
1484
+ },
1485
+ "DistributionResponse": {
1486
+ "required": [
1487
+ "items",
1488
+ "total"
1489
+ ],
1490
+ "type": "object",
1491
+ "properties": {
1492
+ "total": {
1493
+ "type": "integer",
1494
+ "example": 5
1495
+ },
1496
+ "items": {
1497
+ "type": "array",
1498
+ "items": {
1499
+ "$ref": "#/components/schemas/Distribution"
1500
+ }
1501
+ }
1502
+ }
1503
+ },
1504
+ "BoxOfficeResponse": {
1505
+ "required": [
1506
+ "items",
1507
+ "total"
1508
+ ],
1509
+ "type": "object",
1510
+ "properties": {
1511
+ "total": {
1512
+ "type": "integer",
1513
+ "example": 5
1514
+ },
1515
+ "items": {
1516
+ "type": "array",
1517
+ "items": {
1518
+ "$ref": "#/components/schemas/BoxOffice"
1519
+ }
1520
+ }
1521
+ }
1522
+ },
1523
+ "Fact": {
1524
+ "required": [
1525
+ "spoiler",
1526
+ "text",
1527
+ "type"
1528
+ ],
1529
+ "type": "object",
1530
+ "properties": {
1531
+ "text": {
1532
+ "type": "string",
1533
+ "example": "В эпизоде, где Тринити и Нео в поисках Морфиуса оказываются на крыше..."
1534
+ },
1535
+ "type": {
1536
+ "type": "string",
1537
+ "example": "BLOOPER",
1538
+ "enum": [
1539
+ "FACT",
1540
+ "BLOOPER"
1541
+ ]
1542
+ },
1543
+ "spoiler": {
1544
+ "type": "boolean",
1545
+ "example": false
1546
+ }
1547
+ }
1548
+ },
1549
+ "BoxOffice": {
1550
+ "required": [
1551
+ "amount",
1552
+ "currencyCode",
1553
+ "name",
1554
+ "symbol",
1555
+ "type"
1556
+ ],
1557
+ "type": "object",
1558
+ "properties": {
1559
+ "type": {
1560
+ "type": "string",
1561
+ "example": "BUDGET"
1562
+ },
1563
+ "amount": {
1564
+ "type": "integer",
1565
+ "example": 63000000
1566
+ },
1567
+ "currencyCode": {
1568
+ "type": "string",
1569
+ "example": "USD"
1570
+ },
1571
+ "name": {
1572
+ "type": "string",
1573
+ "example": "US Dollar"
1574
+ },
1575
+ "symbol": {
1576
+ "type": "string",
1577
+ "example": "$"
1578
+ }
1579
+ }
1580
+ },
1581
+ "Distribution": {
1582
+ "required": [
1583
+ "companies",
1584
+ "country",
1585
+ "date",
1586
+ "reRelease",
1587
+ "subType",
1588
+ "type"
1589
+ ],
1590
+ "type": "object",
1591
+ "properties": {
1592
+ "type": {
1593
+ "type": "string",
1594
+ "example": "PREMIERE",
1595
+ "enum": [
1596
+ "LOCAL",
1597
+ "COUNTRY_SPECIFIC",
1598
+ "PREMIERE",
1599
+ "ALL",
1600
+ "WORLD_PREMIER"
1601
+ ]
1602
+ },
1603
+ "subType": {
1604
+ "type": "string",
1605
+ "nullable": true,
1606
+ "example": "CINEMA",
1607
+ "enum": [
1608
+ "CINEMA",
1609
+ "DVD",
1610
+ "DIGITAL",
1611
+ "BLURAY"
1612
+ ]
1613
+ },
1614
+ "date": {
1615
+ "type": "string",
1616
+ "nullable": true,
1617
+ "example": "1999-05-07"
1618
+ },
1619
+ "reRelease": {
1620
+ "type": "boolean",
1621
+ "nullable": true,
1622
+ "example": false
1623
+ },
1624
+ "country": {
1625
+ "allOf": [
1626
+ {
1627
+ "$ref": "#/components/schemas/Country"
1628
+ },
1629
+ {
1630
+ "nullable": true
1631
+ }
1632
+ ]
1633
+ },
1634
+ "companies": {
1635
+ "type": "array",
1636
+ "items": {
1637
+ "$ref": "#/components/schemas/Company"
1638
+ }
1639
+ }
1640
+ }
1641
+ },
1642
+ "Company": {
1643
+ "required": [
1644
+ "name"
1645
+ ],
1646
+ "type": "object",
1647
+ "properties": {
1648
+ "name": {
1649
+ "type": "string",
1650
+ "example": "Каро-Премьер"
1651
+ }
1652
+ }
1653
+ },
1654
+ "Season": {
1655
+ "required": [
1656
+ "episodes",
1657
+ "number"
1658
+ ],
1659
+ "type": "object",
1660
+ "properties": {
1661
+ "number": {
1662
+ "type": "integer",
1663
+ "example": 1
1664
+ },
1665
+ "episodes": {
1666
+ "type": "array",
1667
+ "items": {
1668
+ "$ref": "#/components/schemas/Episode"
1669
+ }
1670
+ }
1671
+ }
1672
+ },
1673
+ "Episode": {
1674
+ "required": [
1675
+ "episodeNumber",
1676
+ "nameEn",
1677
+ "nameRu",
1678
+ "releaseDate",
1679
+ "seasonNumber",
1680
+ "synopsis"
1681
+ ],
1682
+ "type": "object",
1683
+ "properties": {
1684
+ "seasonNumber": {
1685
+ "type": "integer",
1686
+ "example": 1
1687
+ },
1688
+ "episodeNumber": {
1689
+ "type": "integer",
1690
+ "example": 1
1691
+ },
1692
+ "nameRu": {
1693
+ "type": "string",
1694
+ "nullable": true
1695
+ },
1696
+ "nameEn": {
1697
+ "type": "string",
1698
+ "nullable": true,
1699
+ "example": "Chapter One: The Vanishing of Will Byers"
1700
+ },
1701
+ "synopsis": {
1702
+ "type": "string",
1703
+ "nullable": true,
1704
+ "example": "The Vanishing of Will Byers..."
1705
+ },
1706
+ "releaseDate": {
1707
+ "type": "string",
1708
+ "nullable": true,
1709
+ "example": "2016-07-15"
1710
+ }
1711
+ }
1712
+ },
1713
+ "Country": {
1714
+ "required": [
1715
+ "country"
1716
+ ],
1717
+ "type": "object",
1718
+ "properties": {
1719
+ "country": {
1720
+ "type": "string",
1721
+ "example": "США"
1722
+ }
1723
+ }
1724
+ },
1725
+ "Genre": {
1726
+ "required": [
1727
+ "genre"
1728
+ ],
1729
+ "type": "object",
1730
+ "properties": {
1731
+ "genre": {
1732
+ "type": "string",
1733
+ "example": "фантастика"
1734
+ }
1735
+ }
1736
+ },
1737
+ "FiltersResponse": {
1738
+ "required": [
1739
+ "countries",
1740
+ "genres"
1741
+ ],
1742
+ "type": "object",
1743
+ "properties": {
1744
+ "genres": {
1745
+ "type": "array",
1746
+ "items": {
1747
+ "$ref": "#/components/schemas/FiltersResponse_genres"
1748
+ }
1749
+ },
1750
+ "countries": {
1751
+ "type": "array",
1752
+ "items": {
1753
+ "$ref": "#/components/schemas/FiltersResponse_countries"
1754
+ }
1755
+ }
1756
+ }
1757
+ },
1758
+ "FilmSearchResponse": {
1759
+ "required": [
1760
+ "films",
1761
+ "keyword",
1762
+ "pagesCount",
1763
+ "searchFilmsCountResult"
1764
+ ],
1765
+ "type": "object",
1766
+ "properties": {
1767
+ "keyword": {
1768
+ "type": "string",
1769
+ "example": "мстители"
1770
+ },
1771
+ "pagesCount": {
1772
+ "type": "integer",
1773
+ "example": 7
1774
+ },
1775
+ "searchFilmsCountResult": {
1776
+ "type": "integer",
1777
+ "example": 134
1778
+ },
1779
+ "films": {
1780
+ "type": "array",
1781
+ "items": {
1782
+ "$ref": "#/components/schemas/FilmSearchResponse_films"
1783
+ }
1784
+ }
1785
+ }
1786
+ },
1787
+ "FilmSearchByFiltersResponse": {
1788
+ "required": [
1789
+ "items",
1790
+ "total",
1791
+ "totalPages"
1792
+ ],
1793
+ "type": "object",
1794
+ "properties": {
1795
+ "total": {
1796
+ "type": "integer",
1797
+ "example": 7
1798
+ },
1799
+ "totalPages": {
1800
+ "type": "integer",
1801
+ "example": 1
1802
+ },
1803
+ "items": {
1804
+ "type": "array",
1805
+ "items": {
1806
+ "$ref": "#/components/schemas/FilmSearchByFiltersResponse_items"
1807
+ }
1808
+ }
1809
+ }
1810
+ },
1811
+ "FilmSequelsAndPrequelsResponse": {
1812
+ "required": [
1813
+ "filmId",
1814
+ "nameEn",
1815
+ "nameOriginal",
1816
+ "nameRu",
1817
+ "posterUrl",
1818
+ "posterUrlPreview",
1819
+ "relationType"
1820
+ ],
1821
+ "type": "object",
1822
+ "properties": {
1823
+ "filmId": {
1824
+ "type": "integer",
1825
+ "example": 301
1826
+ },
1827
+ "nameRu": {
1828
+ "type": "string",
1829
+ "example": "Матрица"
1830
+ },
1831
+ "nameEn": {
1832
+ "type": "string",
1833
+ "example": "The Matrix"
1834
+ },
1835
+ "nameOriginal": {
1836
+ "type": "string",
1837
+ "example": "The Matrix"
1838
+ },
1839
+ "posterUrl": {
1840
+ "type": "string",
1841
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp/301.jpg"
1842
+ },
1843
+ "posterUrlPreview": {
1844
+ "type": "string",
1845
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg"
1846
+ },
1847
+ "relationType": {
1848
+ "type": "string",
1849
+ "example": "SEQUEL",
1850
+ "enum": [
1851
+ "SEQUEL",
1852
+ "PREQUEL",
1853
+ "REMAKE",
1854
+ "UNKNOWN"
1855
+ ]
1856
+ }
1857
+ }
1858
+ },
1859
+ "RelatedFilmResponse": {
1860
+ "required": [
1861
+ "items",
1862
+ "total"
1863
+ ],
1864
+ "type": "object",
1865
+ "properties": {
1866
+ "total": {
1867
+ "type": "integer",
1868
+ "example": 7
1869
+ },
1870
+ "items": {
1871
+ "type": "array",
1872
+ "items": {
1873
+ "$ref": "#/components/schemas/RelatedFilmResponse_items"
1874
+ }
1875
+ }
1876
+ }
1877
+ },
1878
+ "FilmTopResponse": {
1879
+ "required": [
1880
+ "films",
1881
+ "pagesCount"
1882
+ ],
1883
+ "type": "object",
1884
+ "properties": {
1885
+ "pagesCount": {
1886
+ "type": "integer",
1887
+ "example": 7
1888
+ },
1889
+ "films": {
1890
+ "type": "array",
1891
+ "items": {
1892
+ "$ref": "#/components/schemas/FilmTopResponse_films"
1893
+ }
1894
+ }
1895
+ }
1896
+ },
1897
+ "ReviewsResponse": {
1898
+ "required": [
1899
+ "filmId",
1900
+ "page",
1901
+ "pagesCount",
1902
+ "reviewAllCount",
1903
+ "reviewAllPositiveRatio",
1904
+ "reviewNegativeCount",
1905
+ "reviewNeutralCount",
1906
+ "reviewPositiveCount",
1907
+ "reviews"
1908
+ ],
1909
+ "type": "object",
1910
+ "properties": {
1911
+ "page": {
1912
+ "type": "integer",
1913
+ "example": 1
1914
+ },
1915
+ "filmId": {
1916
+ "type": "integer",
1917
+ "example": 301
1918
+ },
1919
+ "reviewAllCount": {
1920
+ "type": "integer",
1921
+ "example": 299
1922
+ },
1923
+ "reviewAllPositiveRatio": {
1924
+ "type": "string",
1925
+ "example": "88.9%"
1926
+ },
1927
+ "reviewPositiveCount": {
1928
+ "type": "integer",
1929
+ "example": 247
1930
+ },
1931
+ "reviewNegativeCount": {
1932
+ "type": "integer",
1933
+ "example": 24
1934
+ },
1935
+ "reviewNeutralCount": {
1936
+ "type": "integer",
1937
+ "example": 28
1938
+ },
1939
+ "pagesCount": {
1940
+ "type": "integer",
1941
+ "example": 15
1942
+ },
1943
+ "reviews": {
1944
+ "type": "array",
1945
+ "items": {
1946
+ "$ref": "#/components/schemas/ReviewsResponse_reviews"
1947
+ }
1948
+ }
1949
+ }
1950
+ },
1951
+ "ReviewDetailsResponse": {
1952
+ "required": [
1953
+ "reviewAutor",
1954
+ "reviewData",
1955
+ "reviewDescription",
1956
+ "reviewId",
1957
+ "reviewTitle",
1958
+ "reviewType",
1959
+ "userNegativeRating",
1960
+ "userPositiveRating"
1961
+ ],
1962
+ "type": "object",
1963
+ "properties": {
1964
+ "reviewId": {
1965
+ "type": "integer",
1966
+ "example": 2879700
1967
+ },
1968
+ "reviewType": {
1969
+ "type": "string",
1970
+ "example": "NEUTRAL",
1971
+ "enum": [
1972
+ "POSITIVE",
1973
+ "NEGATIVE",
1974
+ "NEUTRAL",
1975
+ "UNKNOWN"
1976
+ ]
1977
+ },
1978
+ "reviewData": {
1979
+ "type": "string",
1980
+ "example": "2020-02-16T10:43:00"
1981
+ },
1982
+ "userPositiveRating": {
1983
+ "type": "integer",
1984
+ "example": 2
1985
+ },
1986
+ "userNegativeRating": {
1987
+ "type": "integer",
1988
+ "example": 0
1989
+ },
1990
+ "reviewAutor": {
1991
+ "type": "string",
1992
+ "example": "Дегустатор"
1993
+ },
1994
+ "reviewTitle": {
1995
+ "type": "string",
1996
+ "example": "Иллюзорность мира и духовное пробуждение"
1997
+ },
1998
+ "reviewDescription": {
1999
+ "type": "number"
2000
+ }
2001
+ }
2002
+ },
2003
+ "StaffResponse": {
2004
+ "required": [
2005
+ "description",
2006
+ "nameEn",
2007
+ "nameRu",
2008
+ "posterUrl",
2009
+ "professionKey",
2010
+ "professionText",
2011
+ "staffId"
2012
+ ],
2013
+ "type": "object",
2014
+ "properties": {
2015
+ "staffId": {
2016
+ "type": "integer",
2017
+ "example": 66539
2018
+ },
2019
+ "nameRu": {
2020
+ "type": "string",
2021
+ "nullable": true,
2022
+ "example": "Винс Гиллиган"
2023
+ },
2024
+ "nameEn": {
2025
+ "type": "string",
2026
+ "nullable": true,
2027
+ "example": "Vince Gilligan"
2028
+ },
2029
+ "description": {
2030
+ "type": "string",
2031
+ "nullable": true,
2032
+ "example": "Neo"
2033
+ },
2034
+ "posterUrl": {
2035
+ "type": "string",
2036
+ "example": "https://st.kp.yandex.net/images/actor/66539.jpg"
2037
+ },
2038
+ "professionText": {
2039
+ "type": "string",
2040
+ "example": "Режиссеры"
2041
+ },
2042
+ "professionKey": {
2043
+ "type": "string",
2044
+ "example": "DIRECTOR",
2045
+ "enum": [
2046
+ "WRITER",
2047
+ "OPERATOR",
2048
+ "EDITOR",
2049
+ "COMPOSER",
2050
+ "PRODUCER_USSR",
2051
+ "TRANSLATOR",
2052
+ "DIRECTOR",
2053
+ "DESIGN",
2054
+ "PRODUCER",
2055
+ "ACTOR",
2056
+ "VOICE_DIRECTOR",
2057
+ "UNKNOWN"
2058
+ ]
2059
+ }
2060
+ }
2061
+ },
2062
+ "PersonResponse": {
2063
+ "required": [
2064
+ "age",
2065
+ "birthday",
2066
+ "birthplace",
2067
+ "death",
2068
+ "deathplace",
2069
+ "facts",
2070
+ "films",
2071
+ "growth",
2072
+ "hasAwards",
2073
+ "nameEn",
2074
+ "nameRu",
2075
+ "personId",
2076
+ "posterUrl",
2077
+ "profession",
2078
+ "sex",
2079
+ "spouses",
2080
+ "webUrl"
2081
+ ],
2082
+ "type": "object",
2083
+ "properties": {
2084
+ "personId": {
2085
+ "type": "integer",
2086
+ "example": 66539
2087
+ },
2088
+ "webUrl": {
2089
+ "type": "string",
2090
+ "nullable": true,
2091
+ "example": "10096"
2092
+ },
2093
+ "nameRu": {
2094
+ "type": "string",
2095
+ "nullable": true,
2096
+ "example": "Винс Гиллиган"
2097
+ },
2098
+ "nameEn": {
2099
+ "type": "string",
2100
+ "nullable": true,
2101
+ "example": "Vince Gilligan"
2102
+ },
2103
+ "sex": {
2104
+ "type": "string",
2105
+ "nullable": true,
2106
+ "example": "MALE",
2107
+ "enum": [
2108
+ "MALE",
2109
+ "FEMALE"
2110
+ ]
2111
+ },
2112
+ "posterUrl": {
2113
+ "type": "string",
2114
+ "example": "https://kinopoiskapiunofficial.tech/images/actor_posters/kp/10096.jpg"
2115
+ },
2116
+ "growth": {
2117
+ "type": "string",
2118
+ "nullable": true,
2119
+ "example": "174"
2120
+ },
2121
+ "birthday": {
2122
+ "type": "string",
2123
+ "nullable": true,
2124
+ "example": "1965-04-04"
2125
+ },
2126
+ "death": {
2127
+ "type": "string",
2128
+ "nullable": true,
2129
+ "example": "2008-01-22"
2130
+ },
2131
+ "age": {
2132
+ "type": "integer",
2133
+ "nullable": true,
2134
+ "example": 55
2135
+ },
2136
+ "birthplace": {
2137
+ "type": "string",
2138
+ "nullable": true,
2139
+ "example": "Манхэттэн, Нью-Йорк, США"
2140
+ },
2141
+ "deathplace": {
2142
+ "type": "string",
2143
+ "nullable": true,
2144
+ "example": "Манхэттэн, Нью-Йорк, США"
2145
+ },
2146
+ "hasAwards": {
2147
+ "type": "integer",
2148
+ "nullable": true,
2149
+ "example": 1
2150
+ },
2151
+ "profession": {
2152
+ "type": "string",
2153
+ "nullable": true,
2154
+ "example": "Актер, Продюсер, Сценарист"
2155
+ },
2156
+ "facts": {
2157
+ "type": "array",
2158
+ "items": {
2159
+ "type": "string",
2160
+ "example": "Полное имя - Роберт Джон Дауни младший (Robert John Downey Jr.)."
2161
+ }
2162
+ },
2163
+ "spouses": {
2164
+ "type": "array",
2165
+ "items": {
2166
+ "$ref": "#/components/schemas/PersonResponse_spouses"
2167
+ }
2168
+ },
2169
+ "films": {
2170
+ "type": "array",
2171
+ "items": {
2172
+ "$ref": "#/components/schemas/PersonResponse_films"
2173
+ }
2174
+ }
2175
+ }
2176
+ },
2177
+ "PersonByNameResponse": {
2178
+ "required": [
2179
+ "items",
2180
+ "total"
2181
+ ],
2182
+ "type": "object",
2183
+ "properties": {
2184
+ "total": {
2185
+ "type": "integer",
2186
+ "example": 35
2187
+ },
2188
+ "items": {
2189
+ "type": "array",
2190
+ "items": {
2191
+ "$ref": "#/components/schemas/PersonByNameResponse_items"
2192
+ }
2193
+ }
2194
+ }
2195
+ },
2196
+ "ImageResponse": {
2197
+ "required": [
2198
+ "items",
2199
+ "total",
2200
+ "totalPages"
2201
+ ],
2202
+ "type": "object",
2203
+ "properties": {
2204
+ "total": {
2205
+ "type": "integer",
2206
+ "description": "Общее кол-во изображений",
2207
+ "example": 50
2208
+ },
2209
+ "totalPages": {
2210
+ "type": "integer",
2211
+ "description": "Код-во доступных страниц",
2212
+ "example": 3
2213
+ },
2214
+ "items": {
2215
+ "type": "array",
2216
+ "items": {
2217
+ "$ref": "#/components/schemas/ImageResponse_items"
2218
+ }
2219
+ }
2220
+ }
2221
+ },
2222
+ "PremiereResponse": {
2223
+ "required": [
2224
+ "items",
2225
+ "total"
2226
+ ],
2227
+ "type": "object",
2228
+ "properties": {
2229
+ "total": {
2230
+ "type": "integer",
2231
+ "example": 34
2232
+ },
2233
+ "items": {
2234
+ "type": "array",
2235
+ "items": {
2236
+ "$ref": "#/components/schemas/PremiereResponseItem"
2237
+ }
2238
+ }
2239
+ }
2240
+ },
2241
+ "PremiereResponseItem": {
2242
+ "required": [
2243
+ "countries",
2244
+ "duration",
2245
+ "genres",
2246
+ "kinopoiskId",
2247
+ "nameEn",
2248
+ "nameRu",
2249
+ "posterUrl",
2250
+ "posterUrlPreview",
2251
+ "premiereRu",
2252
+ "year"
2253
+ ],
2254
+ "type": "object",
2255
+ "properties": {
2256
+ "kinopoiskId": {
2257
+ "type": "integer",
2258
+ "example": 301
2259
+ },
2260
+ "nameRu": {
2261
+ "type": "string",
2262
+ "nullable": true,
2263
+ "example": "Дитя погоды"
2264
+ },
2265
+ "nameEn": {
2266
+ "type": "string",
2267
+ "nullable": true,
2268
+ "example": "Tenki no ko"
2269
+ },
2270
+ "year": {
2271
+ "type": "integer",
2272
+ "example": 2019
2273
+ },
2274
+ "posterUrl": {
2275
+ "type": "string",
2276
+ "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/1219417.jpg"
2277
+ },
2278
+ "posterUrlPreview": {
2279
+ "type": "string",
2280
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg"
2281
+ },
2282
+ "countries": {
2283
+ "type": "array",
2284
+ "items": {
2285
+ "$ref": "#/components/schemas/Country"
2286
+ }
2287
+ },
2288
+ "genres": {
2289
+ "type": "array",
2290
+ "items": {
2291
+ "$ref": "#/components/schemas/Genre"
2292
+ }
2293
+ },
2294
+ "duration": {
2295
+ "type": "integer",
2296
+ "nullable": true,
2297
+ "example": 112
2298
+ },
2299
+ "premiereRu": {
2300
+ "type": "string",
2301
+ "example": "2020-06-01"
2302
+ }
2303
+ }
2304
+ },
2305
+ "DigitalReleaseResponse": {
2306
+ "required": [
2307
+ "page",
2308
+ "releases",
2309
+ "total"
2310
+ ],
2311
+ "type": "object",
2312
+ "properties": {
2313
+ "page": {
2314
+ "type": "integer",
2315
+ "example": 1
2316
+ },
2317
+ "total": {
2318
+ "type": "integer",
2319
+ "example": 34
2320
+ },
2321
+ "releases": {
2322
+ "type": "array",
2323
+ "items": {
2324
+ "$ref": "#/components/schemas/DigitalReleaseItem"
2325
+ }
2326
+ }
2327
+ }
2328
+ },
2329
+ "DigitalReleaseItem": {
2330
+ "required": [
2331
+ "countries",
2332
+ "duration",
2333
+ "expectationsRating",
2334
+ "expectationsRatingVoteCount",
2335
+ "filmId",
2336
+ "genres",
2337
+ "nameEn",
2338
+ "nameRu",
2339
+ "posterUrl",
2340
+ "posterUrlPreview",
2341
+ "rating",
2342
+ "ratingVoteCount",
2343
+ "releaseDate",
2344
+ "year"
2345
+ ],
2346
+ "type": "object",
2347
+ "properties": {
2348
+ "filmId": {
2349
+ "type": "integer",
2350
+ "example": 301
2351
+ },
2352
+ "nameRu": {
2353
+ "type": "string",
2354
+ "example": "Дитя погоды"
2355
+ },
2356
+ "nameEn": {
2357
+ "type": "string",
2358
+ "example": "Tenki no ko"
2359
+ },
2360
+ "year": {
2361
+ "type": "integer",
2362
+ "example": 2019
2363
+ },
2364
+ "posterUrl": {
2365
+ "type": "string",
2366
+ "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/1219417.jpg"
2367
+ },
2368
+ "posterUrlPreview": {
2369
+ "type": "string",
2370
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg"
2371
+ },
2372
+ "countries": {
2373
+ "type": "array",
2374
+ "items": {
2375
+ "$ref": "#/components/schemas/Country"
2376
+ }
2377
+ },
2378
+ "genres": {
2379
+ "type": "array",
2380
+ "items": {
2381
+ "$ref": "#/components/schemas/Genre"
2382
+ }
2383
+ },
2384
+ "rating": {
2385
+ "type": "number",
2386
+ "example": 7.962
2387
+ },
2388
+ "ratingVoteCount": {
2389
+ "type": "integer",
2390
+ "example": 14502
2391
+ },
2392
+ "expectationsRating": {
2393
+ "type": "number",
2394
+ "example": 99.13
2395
+ },
2396
+ "expectationsRatingVoteCount": {
2397
+ "type": "integer",
2398
+ "example": 1123
2399
+ },
2400
+ "duration": {
2401
+ "type": "integer",
2402
+ "example": 112
2403
+ },
2404
+ "releaseDate": {
2405
+ "type": "string",
2406
+ "example": "2020-06-01"
2407
+ }
2408
+ }
2409
+ },
2410
+ "VideoResponse": {
2411
+ "required": [
2412
+ "items",
2413
+ "total"
2414
+ ],
2415
+ "type": "object",
2416
+ "properties": {
2417
+ "total": {
2418
+ "type": "integer",
2419
+ "example": 50
2420
+ },
2421
+ "items": {
2422
+ "type": "array",
2423
+ "items": {
2424
+ "$ref": "#/components/schemas/VideoResponse_items"
2425
+ }
2426
+ }
2427
+ }
2428
+ },
2429
+ "FiltersResponse_genres": {
2430
+ "type": "object",
2431
+ "properties": {
2432
+ "id": {
2433
+ "type": "integer",
2434
+ "example": 1
2435
+ },
2436
+ "genre": {
2437
+ "type": "string",
2438
+ "example": "боевик"
2439
+ }
2440
+ }
2441
+ },
2442
+ "FiltersResponse_countries": {
2443
+ "type": "object",
2444
+ "properties": {
2445
+ "id": {
2446
+ "type": "integer",
2447
+ "example": 1
2448
+ },
2449
+ "country": {
2450
+ "type": "string",
2451
+ "example": "США"
2452
+ }
2453
+ }
2454
+ },
2455
+ "FilmSearchResponse_films": {
2456
+ "type": "object",
2457
+ "properties": {
2458
+ "filmId": {
2459
+ "type": "integer",
2460
+ "example": 263531
2461
+ },
2462
+ "nameRu": {
2463
+ "type": "string",
2464
+ "example": "Мстители"
2465
+ },
2466
+ "nameEn": {
2467
+ "type": "string",
2468
+ "example": "The Avengers"
2469
+ },
2470
+ "type": {
2471
+ "type": "string",
2472
+ "example": "FILM",
2473
+ "enum": [
2474
+ "FILM",
2475
+ "VIDEO",
2476
+ "TV_SERIES",
2477
+ "MINI_SERIES",
2478
+ "TV_SHOW",
2479
+ "UNKNOWN"
2480
+ ]
2481
+ },
2482
+ "year": {
2483
+ "type": "string",
2484
+ "example": "2012"
2485
+ },
2486
+ "description": {
2487
+ "type": "string",
2488
+ "example": "США, Джосс Уидон(фантастика)"
2489
+ },
2490
+ "filmLength": {
2491
+ "type": "string",
2492
+ "example": "2:17"
2493
+ },
2494
+ "countries": {
2495
+ "type": "array",
2496
+ "items": {
2497
+ "$ref": "#/components/schemas/Country"
2498
+ }
2499
+ },
2500
+ "genres": {
2501
+ "type": "array",
2502
+ "items": {
2503
+ "$ref": "#/components/schemas/Genre"
2504
+ }
2505
+ },
2506
+ "rating": {
2507
+ "type": "string",
2508
+ "example": "NOTE!!! 7.9 for released film or 99% if film have not released yet"
2509
+ },
2510
+ "ratingVoteCount": {
2511
+ "type": "integer",
2512
+ "example": 284245
2513
+ },
2514
+ "posterUrl": {
2515
+ "type": "string",
2516
+ "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/263531.jpg"
2517
+ },
2518
+ "posterUrlPreview": {
2519
+ "type": "string",
2520
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg"
2521
+ }
2522
+ }
2523
+ },
2524
+ "FilmSearchByFiltersResponse_items": {
2525
+ "type": "object",
2526
+ "properties": {
2527
+ "kinopoiskId": {
2528
+ "type": "integer",
2529
+ "example": 263531
2530
+ },
2531
+ "imdbId": {
2532
+ "type": "string",
2533
+ "nullable": true,
2534
+ "example": "tt0050561"
2535
+ },
2536
+ "nameRu": {
2537
+ "type": "string",
2538
+ "nullable": true,
2539
+ "example": "Мстители"
2540
+ },
2541
+ "nameEn": {
2542
+ "type": "string",
2543
+ "nullable": true,
2544
+ "example": "The Avengers"
2545
+ },
2546
+ "nameOriginal": {
2547
+ "type": "string",
2548
+ "nullable": true,
2549
+ "example": "The Avengers"
2550
+ },
2551
+ "countries": {
2552
+ "type": "array",
2553
+ "items": {
2554
+ "$ref": "#/components/schemas/Country"
2555
+ }
2556
+ },
2557
+ "genres": {
2558
+ "type": "array",
2559
+ "items": {
2560
+ "$ref": "#/components/schemas/Genre"
2561
+ }
2562
+ },
2563
+ "ratingKinopoisk": {
2564
+ "type": "number",
2565
+ "nullable": true,
2566
+ "example": 7.9
2567
+ },
2568
+ "ratingImdb": {
2569
+ "type": "number",
2570
+ "nullable": true,
2571
+ "example": 7.9
2572
+ },
2573
+ "year": {
2574
+ "type": "number",
2575
+ "nullable": true,
2576
+ "example": 2012
2577
+ },
2578
+ "type": {
2579
+ "type": "string",
2580
+ "example": "FILM",
2581
+ "enum": [
2582
+ "FILM",
2583
+ "TV_SHOW",
2584
+ "VIDEO",
2585
+ "MINI_SERIES",
2586
+ "TV_SERIES",
2587
+ "UNKNOWN"
2588
+ ]
2589
+ },
2590
+ "posterUrl": {
2591
+ "type": "string",
2592
+ "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/263531.jpg"
2593
+ },
2594
+ "posterUrlPreview": {
2595
+ "type": "string",
2596
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg"
2597
+ }
2598
+ }
2599
+ },
2600
+ "RelatedFilmResponse_items": {
2601
+ "type": "object",
2602
+ "properties": {
2603
+ "filmId": {
2604
+ "type": "integer",
2605
+ "example": 301
2606
+ },
2607
+ "nameRu": {
2608
+ "type": "string",
2609
+ "nullable": true,
2610
+ "example": "Матрица"
2611
+ },
2612
+ "nameEn": {
2613
+ "type": "string",
2614
+ "nullable": true,
2615
+ "example": "The Matrix"
2616
+ },
2617
+ "nameOriginal": {
2618
+ "type": "string",
2619
+ "nullable": true,
2620
+ "example": "The Matrix"
2621
+ },
2622
+ "posterUrl": {
2623
+ "type": "string",
2624
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp/301.jpg"
2625
+ },
2626
+ "posterUrlPreview": {
2627
+ "type": "string",
2628
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg"
2629
+ },
2630
+ "relationType": {
2631
+ "type": "string",
2632
+ "example": "SIMILAR",
2633
+ "enum": [
2634
+ "SIMILAR"
2635
+ ]
2636
+ }
2637
+ }
2638
+ },
2639
+ "FilmTopResponse_films": {
2640
+ "type": "object",
2641
+ "properties": {
2642
+ "filmId": {
2643
+ "type": "integer",
2644
+ "example": 263531
2645
+ },
2646
+ "nameRu": {
2647
+ "type": "string",
2648
+ "nullable": true,
2649
+ "example": "Мстители"
2650
+ },
2651
+ "nameEn": {
2652
+ "type": "string",
2653
+ "nullable": true,
2654
+ "example": "The Avengers"
2655
+ },
2656
+ "year": {
2657
+ "type": "string",
2658
+ "nullable": true,
2659
+ "example": "2012"
2660
+ },
2661
+ "filmLength": {
2662
+ "type": "string",
2663
+ "nullable": true,
2664
+ "example": "137"
2665
+ },
2666
+ "countries": {
2667
+ "type": "array",
2668
+ "items": {
2669
+ "$ref": "#/components/schemas/Country"
2670
+ }
2671
+ },
2672
+ "genres": {
2673
+ "type": "array",
2674
+ "items": {
2675
+ "$ref": "#/components/schemas/Genre"
2676
+ }
2677
+ },
2678
+ "rating": {
2679
+ "type": "number",
2680
+ "nullable": true,
2681
+ "example": 7.9
2682
+ },
2683
+ "ratingVoteCount": {
2684
+ "type": "integer",
2685
+ "nullable": true,
2686
+ "example": 284245
2687
+ },
2688
+ "posterUrl": {
2689
+ "type": "string",
2690
+ "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/263531.jpg"
2691
+ },
2692
+ "posterUrlPreview": {
2693
+ "type": "string",
2694
+ "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg"
2695
+ }
2696
+ }
2697
+ },
2698
+ "ReviewsResponse_reviews": {
2699
+ "type": "object",
2700
+ "properties": {
2701
+ "reviewId": {
2702
+ "type": "integer",
2703
+ "example": 2879700
2704
+ },
2705
+ "reviewType": {
2706
+ "type": "string",
2707
+ "example": "NEUTRAL",
2708
+ "enum": [
2709
+ "POSITIVE",
2710
+ "NEGATIVE",
2711
+ "NEUTRAL",
2712
+ "UNKNOWN"
2713
+ ]
2714
+ },
2715
+ "reviewData": {
2716
+ "type": "string",
2717
+ "example": "2020-02-16T10:43:00"
2718
+ },
2719
+ "userPositiveRating": {
2720
+ "type": "string"
2721
+ },
2722
+ "userNegativeRating": {
2723
+ "type": "string"
2724
+ },
2725
+ "reviewAutor": {
2726
+ "type": "string",
2727
+ "example": "Дегустатор"
2728
+ },
2729
+ "reviewTitle": {
2730
+ "type": "string",
2731
+ "example": "Иллюзорность мира и духовное пробуждение"
2732
+ },
2733
+ "reviewDescription": {
2734
+ "type": "number"
2735
+ }
2736
+ }
2737
+ },
2738
+ "PersonResponse_spouses": {
2739
+ "type": "object",
2740
+ "properties": {
2741
+ "personId": {
2742
+ "type": "integer",
2743
+ "example": 32169
2744
+ },
2745
+ "name": {
2746
+ "type": "string",
2747
+ "nullable": true,
2748
+ "example": "Сьюзан Дауни"
2749
+ },
2750
+ "divorced": {
2751
+ "type": "boolean",
2752
+ "example": false
2753
+ },
2754
+ "divorcedReason": {
2755
+ "type": "string",
2756
+ "nullable": true,
2757
+ "example": ""
2758
+ },
2759
+ "sex": {
2760
+ "type": "string",
2761
+ "example": "MALE",
2762
+ "enum": [
2763
+ "MALE",
2764
+ "FEMALE"
2765
+ ]
2766
+ },
2767
+ "children": {
2768
+ "type": "integer",
2769
+ "example": 2
2770
+ },
2771
+ "webUrl": {
2772
+ "type": "string",
2773
+ "example": "https://www.kinopoisk.ru/name/32169/"
2774
+ },
2775
+ "relation": {
2776
+ "type": "string",
2777
+ "example": "супруга"
2778
+ }
2779
+ }
2780
+ },
2781
+ "PersonResponse_films": {
2782
+ "type": "object",
2783
+ "properties": {
2784
+ "filmId": {
2785
+ "type": "integer",
2786
+ "example": 32169
2787
+ },
2788
+ "nameRu": {
2789
+ "type": "string",
2790
+ "nullable": true,
2791
+ "example": "Солист"
2792
+ },
2793
+ "nameEn": {
2794
+ "type": "string",
2795
+ "nullable": true,
2796
+ "example": "The Soloist"
2797
+ },
2798
+ "rating": {
2799
+ "type": "string",
2800
+ "nullable": true,
2801
+ "example": "7.2 or 76% if film has not released yet"
2802
+ },
2803
+ "general": {
2804
+ "type": "boolean",
2805
+ "example": false
2806
+ },
2807
+ "description": {
2808
+ "type": "string",
2809
+ "nullable": true,
2810
+ "example": "Steve Lopez"
2811
+ },
2812
+ "professionKey": {
2813
+ "type": "string",
2814
+ "example": "ACTOR",
2815
+ "enum": [
2816
+ "WRITER",
2817
+ "OPERATOR",
2818
+ "EDITOR",
2819
+ "COMPOSER",
2820
+ "PRODUCER_USSR",
2821
+ "HIMSELF",
2822
+ "HERSELF",
2823
+ "HRONO_TITR_MALE",
2824
+ "HRONO_TITR_FEMALE",
2825
+ "TRANSLATOR",
2826
+ "DIRECTOR",
2827
+ "DESIGN",
2828
+ "PRODUCER",
2829
+ "ACTOR",
2830
+ "VOICE_DIRECTOR",
2831
+ "UNKNOWN"
2832
+ ]
2833
+ }
2834
+ }
2835
+ },
2836
+ "PersonByNameResponse_items": {
2837
+ "type": "object",
2838
+ "properties": {
2839
+ "kinopoiskId": {
2840
+ "type": "integer",
2841
+ "example": 66539
2842
+ },
2843
+ "webUrl": {
2844
+ "type": "string",
2845
+ "example": "10096"
2846
+ },
2847
+ "nameRu": {
2848
+ "type": "string",
2849
+ "nullable": true,
2850
+ "example": "Винс Гиллиган"
2851
+ },
2852
+ "nameEn": {
2853
+ "type": "string",
2854
+ "nullable": true,
2855
+ "example": "Vince Gilligan"
2856
+ },
2857
+ "sex": {
2858
+ "type": "string",
2859
+ "nullable": true,
2860
+ "example": "MALE",
2861
+ "enum": [
2862
+ "MALE",
2863
+ "FEMALE",
2864
+ "UNKNOWN"
2865
+ ]
2866
+ },
2867
+ "posterUrl": {
2868
+ "type": "string",
2869
+ "example": "https://kinopoiskapiunofficial.tech/images/actor_posters/kp/10096.jpg"
2870
+ }
2871
+ }
2872
+ },
2873
+ "ImageResponse_items": {
2874
+ "type": "object",
2875
+ "properties": {
2876
+ "imageUrl": {
2877
+ "type": "string",
2878
+ "example": "https://avatars.mds.yandex.net/get-kinopoisk-image/4303601/2924f6c4-4ea0-4a1d-9a48-f29577172b27/orig"
2879
+ },
2880
+ "previewUrl": {
2881
+ "type": "string",
2882
+ "example": "https://avatars.mds.yandex.net/get-kinopoisk-image/4303601/2924f6c4-4ea0-4a1d-9a48-f29577172b27/300x"
2883
+ }
2884
+ }
2885
+ },
2886
+ "VideoResponse_items": {
2887
+ "type": "object",
2888
+ "properties": {
2889
+ "url": {
2890
+ "type": "string",
2891
+ "example": "https://www.youtube.com/watch?v=gbcVZgO4n4E"
2892
+ },
2893
+ "name": {
2894
+ "type": "string",
2895
+ "example": "Мстители: Финал – официальный трейлер (16+)"
2896
+ },
2897
+ "site": {
2898
+ "type": "string",
2899
+ "example": "YOUTUBE",
2900
+ "enum": [
2901
+ "YOUTUBE",
2902
+ "KINOPOISK_WIDGET",
2903
+ "UNKNOWN"
2904
+ ]
2905
+ }
2906
+ }
2907
+ }
2908
+ },
2909
+ "securitySchemes": {
2910
+ "ApiKeyAuth": {
2911
+ "type": "apiKey",
2912
+ "description": "API key to authorize requests.",
2913
+ "name": "X-API-KEY",
2914
+ "in": "header"
2915
+ }
2916
+ }
2917
+ }
2918
+ }