Added new endpoints

Ajay Ramachandran
2020-04-22 15:07:34 -04:00
parent f006c45315
commit 00829d4206

@@ -10,21 +10,25 @@ If you're downloading the Database with any regularity, use this mirror to save
The API and database follow [this license](https://creativecommons.org/licenses/by-nc-sa/4.0/) unless you have explicit permission.
________________________________________________________________________________
**GET** `/api/getVideoSponsorTimes`
**GET** `/api/skipSegments`
**Input**:
```
{
videoID: string
videoID: string,
category: string // Optional, defaults to "sponsor". See [the category list](https://github.com/ajayyy/SponsorBlock/blob/master/config.json.example)
categories: JSON.stringify(string[]) // Use instead of "category" if you want multiple categories. Will look like [%22sponsor%22,%22intro%2]
}
```
**Response**:
```
{
sponsorTimes: array [float],
UUIDs: array [string] //The ID for this sponsor time, used to submit votes
}
[{ // Array of this object
segments: float[], //[0, 15.23] start and end time in seconds
UUID: string,
category: string
}]
```
**Error codes**:
@@ -33,9 +37,9 @@ ________________________________________________________________________________
__________________________________________________________________
**GET** `/api/postVideoSponsorTimes`
**POST** `/api/skipSegments`
**Input**:
**Input Option 1 (URL Parameters)**:
```
{
videoID: string,
@@ -45,6 +49,18 @@ __________________________________________________________________
}
```
**Input Option 2 (JSON Body)**:
```
{
videoID: string,
userID: string, // This should be a randomly generated UUID stored locally (not the public one)
segments: [{ // Array of this object
segment: float[], //[0, 15.23] start and end time in seconds
category: string
}]
}
```
**Response**:
```
{
@@ -56,6 +72,8 @@ __________________________________________________________________
400: Bad Request (Your inputs are wrong/impossible)
403: Rejected by auto moderator (Reason will be sent in the response)
429: Rate Limit (Too many for the same user or IP)
409: Duplicate
@@ -330,6 +348,10 @@ VIPs have extra privileges and their votes count more.
403: Unauthorized (You are not an admin)
### Legacy API
https://github.com/ajayyy/SponsorBlock/wiki/Legacy-API
### Local userID vs Public userID
The local userID should be a randomly generated and saved client side. It is used to submit and vote. The public userID is what is used as an identifier in the database. This is the local userID with a SHA 256 hash 5000 times.