@segha/watchmode 0.0.1
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.
- package/IdMapping.ts +15 -0
- package/README.md +178 -0
- package/index.ts +4 -0
- package/json-schemas/API/APIEndpoints.json +23 -0
- package/json-schemas/API/BaseUrl.json +6 -0
- package/json-schemas/API/ConfigurationSchema.json +13 -0
- package/json-schemas/API/DatasetsBaseUrl.json +6 -0
- package/json-schemas/API/DatasetsEndpoints.json +10 -0
- package/json-schemas/API/EndpointsSchema.json +50 -0
- package/json-schemas/API/IDMappingDatasetEndpoint.json +6 -0
- package/json-schemas/API/ListSourcesEndpoint.json +6 -0
- package/json-schemas/API/MethodsSchema.json +528 -0
- package/json-schemas/API/SourcesEndpoints.json +10 -0
- package/json-schemas/API/SpecSchema.json +554 -0
- package/json-schemas/API/TitleSourcesEndpoint.json +6 -0
- package/json-schemas/API/TitlesEndpoints.json +10 -0
- package/json-schemas/API/Version.json +6 -0
- package/json-schemas/API/index.json +1241 -0
- package/json-schemas/FreeServiceType.json +6 -0
- package/json-schemas/IdMappingEntrySchema.json +38 -0
- package/json-schemas/IdMappingSchema.json +41 -0
- package/json-schemas/PurchaseServiceType.json +6 -0
- package/json-schemas/Sources/FreeServiceType.json +6 -0
- package/json-schemas/Sources/PurchaseServiceType.json +6 -0
- package/json-schemas/Sources/StreamingSourceSchema.json +129 -0
- package/json-schemas/Sources/StreamingSourceTypeSchema.json +26 -0
- package/json-schemas/Sources/StreamingSourcesParametersSchema.json +18 -0
- package/json-schemas/Sources/StreamingSourcesSchema.json +132 -0
- package/json-schemas/Sources/SubscriptionServiceType.json +6 -0
- package/json-schemas/Sources/TVEServiceType.json +6 -0
- package/json-schemas/Sources/index.json +336 -0
- package/json-schemas/StreamingSourceSchema.json +129 -0
- package/json-schemas/StreamingSourceTypeSchema.json +26 -0
- package/json-schemas/StreamingSourcesParametersSchema.json +18 -0
- package/json-schemas/StreamingSourcesSchema.json +132 -0
- package/json-schemas/SubscriptionServiceType.json +6 -0
- package/json-schemas/TVEServiceType.json +6 -0
- package/json-schemas/TitleStreamingSourceSchema.json +169 -0
- package/json-schemas/TitleStreamingSourcesParametersSchema.json +13 -0
- package/json-schemas/TitleStreamingSourcesSchema.json +172 -0
- package/json-schemas/Titles/TitleStreamingSourceSchema.json +169 -0
- package/json-schemas/Titles/TitleStreamingSourcesParametersSchema.json +13 -0
- package/json-schemas/Titles/TitleStreamingSourcesSchema.json +172 -0
- package/json-schemas/Titles/index.json +361 -0
- package/json-schemas/index.json +769 -0
- package/package.json +51 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"source_id": {
|
|
6
|
+
"type": "number",
|
|
7
|
+
"description": "Source ID"
|
|
8
|
+
},
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Name"
|
|
12
|
+
},
|
|
13
|
+
"type": {
|
|
14
|
+
"anyOf": [
|
|
15
|
+
{
|
|
16
|
+
"type": "string",
|
|
17
|
+
"const": "sub",
|
|
18
|
+
"description": "Subscription services (Netflix, Hulu, etc.)"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"type": "string",
|
|
22
|
+
"const": "purchase",
|
|
23
|
+
"description": "Rental/purchase services (iTunes, Vudu, etc.)"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "string",
|
|
27
|
+
"const": "free",
|
|
28
|
+
"description": "Free ad-supported services (Tubi, Pluto TV, etc.)"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "string",
|
|
32
|
+
"const": "tve",
|
|
33
|
+
"description": "TV Channel App (cable login required)"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"description": "Streaming source type"
|
|
37
|
+
},
|
|
38
|
+
"region": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Region"
|
|
41
|
+
},
|
|
42
|
+
"ios_url": {
|
|
43
|
+
"anyOf": [
|
|
44
|
+
{
|
|
45
|
+
"type": "string"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "null"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"description": "iOS deep link URL. For free plans, returns \"Deeplinks available for paid plans only.\""
|
|
52
|
+
},
|
|
53
|
+
"android_url": {
|
|
54
|
+
"anyOf": [
|
|
55
|
+
{
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "null"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"description": "Android deep link URL. For free plans, returns \"Deeplinks available for paid plans only.\""
|
|
63
|
+
},
|
|
64
|
+
"web_url": {
|
|
65
|
+
"anyOf": [
|
|
66
|
+
{
|
|
67
|
+
"type": "string"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "null"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"description": "Web URL to watch the title"
|
|
74
|
+
},
|
|
75
|
+
"tvos_url": {
|
|
76
|
+
"anyOf": [
|
|
77
|
+
{
|
|
78
|
+
"type": "string"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "null"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"description": "tvOS deep link. Only included if TV links are enabled for your account."
|
|
85
|
+
},
|
|
86
|
+
"android_tv_url": {
|
|
87
|
+
"anyOf": [
|
|
88
|
+
{
|
|
89
|
+
"type": "string"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"type": "null"
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"description": "Android TV deep link. Only included if TV links are enabled for your account."
|
|
96
|
+
},
|
|
97
|
+
"roku_url": {
|
|
98
|
+
"anyOf": [
|
|
99
|
+
{
|
|
100
|
+
"type": "string"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "null"
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"description": "Roku deep link. Only included if TV links are enabled for your account."
|
|
107
|
+
},
|
|
108
|
+
"format": {
|
|
109
|
+
"anyOf": [
|
|
110
|
+
{
|
|
111
|
+
"type": "string"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"type": "null"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"description": "Video quality (HD, 4K, etc.)"
|
|
118
|
+
},
|
|
119
|
+
"price": {
|
|
120
|
+
"anyOf": [
|
|
121
|
+
{
|
|
122
|
+
"type": "number"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"type": "null"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"description": "Price for rent/buy sources"
|
|
129
|
+
},
|
|
130
|
+
"seasons": {
|
|
131
|
+
"anyOf": [
|
|
132
|
+
{
|
|
133
|
+
"type": "number"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"type": "null"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"description": "Number of seasons available (for TV)"
|
|
140
|
+
},
|
|
141
|
+
"episodes": {
|
|
142
|
+
"anyOf": [
|
|
143
|
+
{
|
|
144
|
+
"type": "number"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"type": "null"
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
"description": "Number of episodes available (for TV)"
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"required": [
|
|
154
|
+
"source_id",
|
|
155
|
+
"name",
|
|
156
|
+
"type",
|
|
157
|
+
"region",
|
|
158
|
+
"ios_url",
|
|
159
|
+
"android_url",
|
|
160
|
+
"web_url",
|
|
161
|
+
"tvos_url",
|
|
162
|
+
"android_tv_url",
|
|
163
|
+
"roku_url",
|
|
164
|
+
"format",
|
|
165
|
+
"price",
|
|
166
|
+
"seasons",
|
|
167
|
+
"episodes"
|
|
168
|
+
]
|
|
169
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"regions": {
|
|
6
|
+
"type": "string",
|
|
7
|
+
"description": "Filter sources by region. Pass one or multiple 2-letter country codes comma-separated (e.g., US,GB,CA)."
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"required": [
|
|
11
|
+
"regions"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"items": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"source_id": {
|
|
8
|
+
"type": "number",
|
|
9
|
+
"description": "Source ID"
|
|
10
|
+
},
|
|
11
|
+
"name": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Name"
|
|
14
|
+
},
|
|
15
|
+
"type": {
|
|
16
|
+
"anyOf": [
|
|
17
|
+
{
|
|
18
|
+
"type": "string",
|
|
19
|
+
"const": "sub",
|
|
20
|
+
"description": "Subscription services (Netflix, Hulu, etc.)"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "string",
|
|
24
|
+
"const": "purchase",
|
|
25
|
+
"description": "Rental/purchase services (iTunes, Vudu, etc.)"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "string",
|
|
29
|
+
"const": "free",
|
|
30
|
+
"description": "Free ad-supported services (Tubi, Pluto TV, etc.)"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "string",
|
|
34
|
+
"const": "tve",
|
|
35
|
+
"description": "TV Channel App (cable login required)"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"description": "Streaming source type"
|
|
39
|
+
},
|
|
40
|
+
"region": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Region"
|
|
43
|
+
},
|
|
44
|
+
"ios_url": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{
|
|
47
|
+
"type": "string"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "null"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"description": "iOS deep link URL. For free plans, returns \"Deeplinks available for paid plans only.\""
|
|
54
|
+
},
|
|
55
|
+
"android_url": {
|
|
56
|
+
"anyOf": [
|
|
57
|
+
{
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"type": "null"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"description": "Android deep link URL. For free plans, returns \"Deeplinks available for paid plans only.\""
|
|
65
|
+
},
|
|
66
|
+
"web_url": {
|
|
67
|
+
"anyOf": [
|
|
68
|
+
{
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"description": "Web URL to watch the title"
|
|
76
|
+
},
|
|
77
|
+
"tvos_url": {
|
|
78
|
+
"anyOf": [
|
|
79
|
+
{
|
|
80
|
+
"type": "string"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "null"
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"description": "tvOS deep link. Only included if TV links are enabled for your account."
|
|
87
|
+
},
|
|
88
|
+
"android_tv_url": {
|
|
89
|
+
"anyOf": [
|
|
90
|
+
{
|
|
91
|
+
"type": "string"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "null"
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"description": "Android TV deep link. Only included if TV links are enabled for your account."
|
|
98
|
+
},
|
|
99
|
+
"roku_url": {
|
|
100
|
+
"anyOf": [
|
|
101
|
+
{
|
|
102
|
+
"type": "string"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"type": "null"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"description": "Roku deep link. Only included if TV links are enabled for your account."
|
|
109
|
+
},
|
|
110
|
+
"format": {
|
|
111
|
+
"anyOf": [
|
|
112
|
+
{
|
|
113
|
+
"type": "string"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"type": "null"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"description": "Video quality (HD, 4K, etc.)"
|
|
120
|
+
},
|
|
121
|
+
"price": {
|
|
122
|
+
"anyOf": [
|
|
123
|
+
{
|
|
124
|
+
"type": "number"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"type": "null"
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"description": "Price for rent/buy sources"
|
|
131
|
+
},
|
|
132
|
+
"seasons": {
|
|
133
|
+
"anyOf": [
|
|
134
|
+
{
|
|
135
|
+
"type": "number"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"type": "null"
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"description": "Number of seasons available (for TV)"
|
|
142
|
+
},
|
|
143
|
+
"episodes": {
|
|
144
|
+
"anyOf": [
|
|
145
|
+
{
|
|
146
|
+
"type": "number"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"type": "null"
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"description": "Number of episodes available (for TV)"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"required": [
|
|
156
|
+
"source_id",
|
|
157
|
+
"name",
|
|
158
|
+
"type",
|
|
159
|
+
"region",
|
|
160
|
+
"ios_url",
|
|
161
|
+
"android_url",
|
|
162
|
+
"web_url",
|
|
163
|
+
"tvos_url",
|
|
164
|
+
"android_tv_url",
|
|
165
|
+
"roku_url",
|
|
166
|
+
"format",
|
|
167
|
+
"price",
|
|
168
|
+
"seasons",
|
|
169
|
+
"episodes"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"source_id": {
|
|
6
|
+
"type": "number",
|
|
7
|
+
"description": "Source ID"
|
|
8
|
+
},
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Name"
|
|
12
|
+
},
|
|
13
|
+
"type": {
|
|
14
|
+
"anyOf": [
|
|
15
|
+
{
|
|
16
|
+
"type": "string",
|
|
17
|
+
"const": "sub",
|
|
18
|
+
"description": "Subscription services (Netflix, Hulu, etc.)"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"type": "string",
|
|
22
|
+
"const": "purchase",
|
|
23
|
+
"description": "Rental/purchase services (iTunes, Vudu, etc.)"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "string",
|
|
27
|
+
"const": "free",
|
|
28
|
+
"description": "Free ad-supported services (Tubi, Pluto TV, etc.)"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "string",
|
|
32
|
+
"const": "tve",
|
|
33
|
+
"description": "TV Channel App (cable login required)"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"description": "Streaming source type"
|
|
37
|
+
},
|
|
38
|
+
"region": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Region"
|
|
41
|
+
},
|
|
42
|
+
"ios_url": {
|
|
43
|
+
"anyOf": [
|
|
44
|
+
{
|
|
45
|
+
"type": "string"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "null"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"description": "iOS deep link URL. For free plans, returns \"Deeplinks available for paid plans only.\""
|
|
52
|
+
},
|
|
53
|
+
"android_url": {
|
|
54
|
+
"anyOf": [
|
|
55
|
+
{
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "null"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"description": "Android deep link URL. For free plans, returns \"Deeplinks available for paid plans only.\""
|
|
63
|
+
},
|
|
64
|
+
"web_url": {
|
|
65
|
+
"anyOf": [
|
|
66
|
+
{
|
|
67
|
+
"type": "string"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "null"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"description": "Web URL to watch the title"
|
|
74
|
+
},
|
|
75
|
+
"tvos_url": {
|
|
76
|
+
"anyOf": [
|
|
77
|
+
{
|
|
78
|
+
"type": "string"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "null"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"description": "tvOS deep link. Only included if TV links are enabled for your account."
|
|
85
|
+
},
|
|
86
|
+
"android_tv_url": {
|
|
87
|
+
"anyOf": [
|
|
88
|
+
{
|
|
89
|
+
"type": "string"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"type": "null"
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"description": "Android TV deep link. Only included if TV links are enabled for your account."
|
|
96
|
+
},
|
|
97
|
+
"roku_url": {
|
|
98
|
+
"anyOf": [
|
|
99
|
+
{
|
|
100
|
+
"type": "string"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "null"
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"description": "Roku deep link. Only included if TV links are enabled for your account."
|
|
107
|
+
},
|
|
108
|
+
"format": {
|
|
109
|
+
"anyOf": [
|
|
110
|
+
{
|
|
111
|
+
"type": "string"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"type": "null"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"description": "Video quality (HD, 4K, etc.)"
|
|
118
|
+
},
|
|
119
|
+
"price": {
|
|
120
|
+
"anyOf": [
|
|
121
|
+
{
|
|
122
|
+
"type": "number"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"type": "null"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"description": "Price for rent/buy sources"
|
|
129
|
+
},
|
|
130
|
+
"seasons": {
|
|
131
|
+
"anyOf": [
|
|
132
|
+
{
|
|
133
|
+
"type": "number"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"type": "null"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"description": "Number of seasons available (for TV)"
|
|
140
|
+
},
|
|
141
|
+
"episodes": {
|
|
142
|
+
"anyOf": [
|
|
143
|
+
{
|
|
144
|
+
"type": "number"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"type": "null"
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
"description": "Number of episodes available (for TV)"
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"required": [
|
|
154
|
+
"source_id",
|
|
155
|
+
"name",
|
|
156
|
+
"type",
|
|
157
|
+
"region",
|
|
158
|
+
"ios_url",
|
|
159
|
+
"android_url",
|
|
160
|
+
"web_url",
|
|
161
|
+
"tvos_url",
|
|
162
|
+
"android_tv_url",
|
|
163
|
+
"roku_url",
|
|
164
|
+
"format",
|
|
165
|
+
"price",
|
|
166
|
+
"seasons",
|
|
167
|
+
"episodes"
|
|
168
|
+
]
|
|
169
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"regions": {
|
|
6
|
+
"type": "string",
|
|
7
|
+
"description": "Filter sources by region. Pass one or multiple 2-letter country codes comma-separated (e.g., US,GB,CA)."
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"required": [
|
|
11
|
+
"regions"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"items": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"source_id": {
|
|
8
|
+
"type": "number",
|
|
9
|
+
"description": "Source ID"
|
|
10
|
+
},
|
|
11
|
+
"name": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Name"
|
|
14
|
+
},
|
|
15
|
+
"type": {
|
|
16
|
+
"anyOf": [
|
|
17
|
+
{
|
|
18
|
+
"type": "string",
|
|
19
|
+
"const": "sub",
|
|
20
|
+
"description": "Subscription services (Netflix, Hulu, etc.)"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "string",
|
|
24
|
+
"const": "purchase",
|
|
25
|
+
"description": "Rental/purchase services (iTunes, Vudu, etc.)"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "string",
|
|
29
|
+
"const": "free",
|
|
30
|
+
"description": "Free ad-supported services (Tubi, Pluto TV, etc.)"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "string",
|
|
34
|
+
"const": "tve",
|
|
35
|
+
"description": "TV Channel App (cable login required)"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"description": "Streaming source type"
|
|
39
|
+
},
|
|
40
|
+
"region": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Region"
|
|
43
|
+
},
|
|
44
|
+
"ios_url": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{
|
|
47
|
+
"type": "string"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "null"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"description": "iOS deep link URL. For free plans, returns \"Deeplinks available for paid plans only.\""
|
|
54
|
+
},
|
|
55
|
+
"android_url": {
|
|
56
|
+
"anyOf": [
|
|
57
|
+
{
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"type": "null"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"description": "Android deep link URL. For free plans, returns \"Deeplinks available for paid plans only.\""
|
|
65
|
+
},
|
|
66
|
+
"web_url": {
|
|
67
|
+
"anyOf": [
|
|
68
|
+
{
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"description": "Web URL to watch the title"
|
|
76
|
+
},
|
|
77
|
+
"tvos_url": {
|
|
78
|
+
"anyOf": [
|
|
79
|
+
{
|
|
80
|
+
"type": "string"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "null"
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"description": "tvOS deep link. Only included if TV links are enabled for your account."
|
|
87
|
+
},
|
|
88
|
+
"android_tv_url": {
|
|
89
|
+
"anyOf": [
|
|
90
|
+
{
|
|
91
|
+
"type": "string"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "null"
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"description": "Android TV deep link. Only included if TV links are enabled for your account."
|
|
98
|
+
},
|
|
99
|
+
"roku_url": {
|
|
100
|
+
"anyOf": [
|
|
101
|
+
{
|
|
102
|
+
"type": "string"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"type": "null"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"description": "Roku deep link. Only included if TV links are enabled for your account."
|
|
109
|
+
},
|
|
110
|
+
"format": {
|
|
111
|
+
"anyOf": [
|
|
112
|
+
{
|
|
113
|
+
"type": "string"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"type": "null"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"description": "Video quality (HD, 4K, etc.)"
|
|
120
|
+
},
|
|
121
|
+
"price": {
|
|
122
|
+
"anyOf": [
|
|
123
|
+
{
|
|
124
|
+
"type": "number"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"type": "null"
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"description": "Price for rent/buy sources"
|
|
131
|
+
},
|
|
132
|
+
"seasons": {
|
|
133
|
+
"anyOf": [
|
|
134
|
+
{
|
|
135
|
+
"type": "number"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"type": "null"
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"description": "Number of seasons available (for TV)"
|
|
142
|
+
},
|
|
143
|
+
"episodes": {
|
|
144
|
+
"anyOf": [
|
|
145
|
+
{
|
|
146
|
+
"type": "number"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"type": "null"
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"description": "Number of episodes available (for TV)"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"required": [
|
|
156
|
+
"source_id",
|
|
157
|
+
"name",
|
|
158
|
+
"type",
|
|
159
|
+
"region",
|
|
160
|
+
"ios_url",
|
|
161
|
+
"android_url",
|
|
162
|
+
"web_url",
|
|
163
|
+
"tvos_url",
|
|
164
|
+
"android_tv_url",
|
|
165
|
+
"roku_url",
|
|
166
|
+
"format",
|
|
167
|
+
"price",
|
|
168
|
+
"seasons",
|
|
169
|
+
"episodes"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
}
|