_id: spc_2b420b2bed1d4d868807303a581fb8c1 type: ApiSpec parentId: wrk_cd1160cf39f5497fa4711fe4fd6567de modified: 1680013029849 created: 1679916396495 fileName: youtubekids.yaml contents: >+ openapi: 3.0.3 info: title: YouTube Kids Public API description: For generate API REST clients for Feelter UGC contact: email: garin1221@yandex.ru version: 1.0.0 servers: - url: https://www.youtubekids.com/youtubei/v1 tags: - name: browse description: Browse resource content paths: # Получение контента определенного ресурса, {browseId} /browse: post: tags: - browse summary: Browse resource content description: Get content for resource operationId: browse requestBody: content: application/json: schema: $ref: '#/components/schemas/BrowseRequestPayload' responses: '200': description: Successful operation content: 'application/json': "schema": $ref: '#/components/schemas/BrowseResponse' # Компоненты components: # Схемы данных schemas: # Доступность данных AccessibilityData: type: object properties: label: type: string # Доступность Accessibility: type: object properties: accessibilityData: $ref: '#/components/schemas/AccessibilityData' # WatchEndpoint WatchEndpoint: type: object properties: videoId: type: string # BrowseEndpoint BrowseEndpoint: type: object properties: browseId: type: string canonicalBaseUrl: type: string # Конечная точка навигации NavigationEndpoint: type: object properties: clickTrackingParams: type: string watchEndpoint: $ref: '#/components/schemas/WatchEndpoint' browseEndpoint: $ref: '#/components/schemas/BrowseEndpoint' # Текст -> Runs TextRun: type: object properties: text: type: string navigationEndpoint: $ref: '#/components/schemas/NavigationEndpoint' # Текст Text: type: object properties: runs: type: array items: $ref: '#/components/schemas/TextRun' accessibility: $ref: '#/components/schemas/Accessibility' # Строковый параметр ключ-зачение KeyStringValue: type: object properties: key: type: string value: type: string # Ассеты категории CategoryAssets: type: object properties: assetKey: type: string backgroundColor: type: string # Расширение для владельцев детских видео KidsVideoOwnerExtension: type: object properties: externalChannelId: type: string # Компактный видеорендерер CompactVideoRenderer: type: object properties: videoId: type: string title: $ref: '#/components/schemas/Text' longBylineText: $ref: '#/components/schemas/Text' publishedTimeText: $ref: '#/components/schemas/Text' viewCountText: $ref: '#/components/schemas/Text' lengthText: $ref: '#/components/schemas/Text' navigationEndpoint: $ref: '#/components/schemas/NavigationEndpoint' shortBylineText: $ref: '#/components/schemas/Text' trackingParams: type: string shortViewCountText: $ref: '#/components/schemas/Text' accessibility: $ref: '#/components/schemas/Accessibility' kidsVideoOwnerExtension: $ref: '#/components/schemas/KidsVideoOwnerExtension' # Средство визуализации раздела элемента ItemSectionRenderer: type: object properties: contents: type: array items: type: object properties: compactVideoRenderer: $ref: '#/components/schemas/CompactVideoRenderer' trackingParams: type: string # Рендер списка разделов SectionListRenderer: type: object properties: contents: type: array items: type: object properties: itemSectionRenderer: $ref: '#/components/schemas/ItemSectionRenderer' trackingParams: type: string # Визуализатор закрепленных сечений AnchoredSectionRenderer: type: object properties: title: type: string content: type: object properties: sectionListRenderer: $ref: '#/components/schemas/SectionListRenderer' trackingParams: type: string categoryAssets: $ref: '#/components/schemas/CategoryAssets' categoryType: type: string # Якорь экрана ScreenAnchor: type: object properties: anchoredSectionRenderer: $ref: '#/components/schemas/AnchoredSectionRenderer' # Рендерер экрана ScreenRenderer: type: object properties: anchors: type: array items: $ref: '#/components/schemas/ScreenAnchor' # Параметры контента KidsAppContentSettings: type: object properties: corpusPreference: type: string example: KIDS_CORPUS_PREFERENCE_TWEEN kidsNoSearchMode: type: string example: YT_KIDS_NO_SEARCH_MODE_OFF # Конфигурация категорий KidsAppCategorySettings: type: object properties: enabledCategories: type: array example: ["approved_for_you", "black_joy", "camp", "collections", "earth", "explore", "favorites", "gaming", "halloween", "hero", "learning", "making", "move", "music", "reading", "shared_by_parents", "shows", "soccer", "sports", "spotlight", "winter"] items: type: string # Параметры приложения KidsAppInfo: type: object description: Kids application configuration properties: contentSettings: $ref: '#/components/schemas/KidsAppContentSettings' categorySettings: $ref: '#/components/schemas/KidsAppCategorySettings' # Информация о клиенте в запросе RequestClient: type: object description: Client information properties: clientName: type: string example: WEB_KIDS clientVersion: type: string example: 2.20230202.00.00 hl: type: string example: ru gl: type: string example: RU experimentsToken: type: string browserName: type: string example: Safari deviceMake: type: string example: apple browserVersion: type: string example: '16.2' osName: type: string example: Macintosh osVersion: type: string example: 10_15_7 platform: type: string example: DESKTOP kidsAppInfo: $ref: '#/components/schemas/KidsAppInfo' # Контекст запроса RequestContext: type: object description: Request context properties: client: $ref: '#/components/schemas/RequestClient' # Контекст ответа ResponseContext: type: object description: Response context properties: visitorData: type: string maxAgeSeconds: type: number serviceTrackingParams: type: array items: type: object properties: service: type: string params: type: array items: $ref: '#/components/schemas/KeyStringValue' # Данные для запроса на получение контента определенного ресурса BrowseRequestPayload: type: object properties: context: $ref: '#/components/schemas/RequestContext' browseId: type: string example: FEkids_home # Ответ на запрос получения контента определенного ресурса BrowseResponse: type: object properties: responseContext: $ref: '#/components/schemas/ResponseContext' contents: type: object properties: kidsHomeScreenRenderer: $ref: '#/components/schemas/ScreenRenderer' trackingParams: type: string contentType: yaml