-
Notifications
You must be signed in to change notification settings - Fork 486
/
custom-metadata-provider-specification.yaml
140 lines (132 loc) · 2.92 KB
/
custom-metadata-provider-specification.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
openapi: 3.0.0
servers:
- url: https://example.com
description: Local server
info:
title: Custom Metadata Provider
version: 0.1.0
license:
name: MIT
url: https://opensource.org/licenses/MIT
security:
- api_key: []
paths:
/search:
get:
description: Search for books
operationId: search
summary: Search for books
security:
- api_key: []
parameters:
- name: query
in: query
required: true
schema:
type: string
- name: author
in: query
required: false
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
type: object
properties:
matches:
type: array
items:
$ref: "#/components/schemas/BookMetadata"
"400":
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: string
"401":
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
error:
type: string
"500":
description: Internal Server Error
content:
application/json:
schema:
type: object
properties:
error:
type: string
components:
securitySchemes:
api_key:
type: apiKey
name: AUTHORIZATION
in: header
schemas:
BookMetadata:
type: object
required:
- title
properties:
title:
type: string
subtitle:
type: string
author:
type: string
narrator:
type: string
publisher:
type: string
publishedYear:
type: string
description:
type: string
cover:
type: string
description: URL to the cover image
isbn:
type: string
format: isbn
asin:
type: string
format: asin
genres:
type: array
items:
type: string
tags:
type: array
items:
type: string
series:
type: array
items:
$ref: "#/components/schemas/SeriesMetadata"
language:
type: string
duration:
type: integer
format: int64
description: Duration in seconds
SeriesMetadata:
type: object
required:
- series
properties:
series:
type: string
sequence:
type: string