96 lines
2.6 KiB
YAML
96 lines
2.6 KiB
YAML
basePath: /
|
|
definitions:
|
|
api.HealthResponse:
|
|
properties:
|
|
status:
|
|
example: ok
|
|
type: string
|
|
type: object
|
|
api.ProblemDetails:
|
|
properties:
|
|
detail:
|
|
example: The catalogue could not be read from the database. This is a server-side
|
|
fault and the request was not processed; retrying in a few moments may succeed.
|
|
type: string
|
|
status:
|
|
example: 500
|
|
type: integer
|
|
title:
|
|
example: Something Went Wrong Loading The Catalogue
|
|
type: string
|
|
type:
|
|
example: about:blank
|
|
type: string
|
|
type: object
|
|
api.Video:
|
|
properties:
|
|
categories:
|
|
example:
|
|
- documentary
|
|
- news
|
|
items:
|
|
type: string
|
|
type: array
|
|
id:
|
|
example: 0f8fad5b-d9cb-469f-a165-70867728950e
|
|
type: string
|
|
playbackUrl:
|
|
example: https://d111111abcdef8.cloudfront.net/videos/abc123/index.m3u8
|
|
type: string
|
|
title:
|
|
example: The Evening Bulletin
|
|
type: string
|
|
type: object
|
|
info:
|
|
contact: {}
|
|
description: JSON API for browsing the Thamanyah catalogue. Read-side counterpart
|
|
to the CMS, which is what ingests videos.
|
|
title: Thamanyah Discovery API
|
|
version: "1.0"
|
|
paths:
|
|
/api/videos/{id}:
|
|
get:
|
|
description: 'Returns the catalogue''s copy of a video: what a reader needs
|
|
to show and play it. A video appears here only after the CMS has announced
|
|
it as ready, so a video that is still transcoding — or one the CMS never made
|
|
ready — is a 404.'
|
|
parameters:
|
|
- description: Video id, as issued by the CMS
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.Video'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.ProblemDetails'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.ProblemDetails'
|
|
summary: Get a catalogued video
|
|
tags:
|
|
- videos
|
|
/health:
|
|
get:
|
|
description: Reports that the service is up and serving. Used as the ALB target
|
|
group health check; it does not verify the database connection.
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.HealthResponse'
|
|
summary: Health check
|
|
tags:
|
|
- system
|
|
swagger: "2.0"
|