mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2024-09-20 04:54:00 +02:00
Merge branch 'master' of https://github.com/ajayyy/SponsorBlockServer into experimental
This commit is contained in:
commit
1b4c38d82b
1 changed files with 1 additions and 300 deletions
301
README.MD
301
README.MD
|
@ -28,303 +28,4 @@ Run the server with `npm start`.
|
|||
|
||||
# API Docs
|
||||
|
||||
Public API available at https://sponsor.ajay.app.
|
||||
|
||||
________________________________________________________________________________
|
||||
|
||||
**GET** `/api/getVideoSponsorTimes`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
videoID: string
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
sponorTimes: array [float],
|
||||
UUIDs: array [string] //The ID for this sponsor time, used to submit votes
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
404: Not Found
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
**GET** `/api/postVideoSponsorTimes`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
videoID: string,
|
||||
startTime: float,
|
||||
endTime: float,
|
||||
userID: string //This should be a randomly generated UUID
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
Nothing (status code 200)
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
400: Bad Request (Your inputs are wrong/impossible)
|
||||
|
||||
429: Rate Limit (Too many for the same user or IP)
|
||||
|
||||
409: Duplicate
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
**GET** `/api/voteOnSponsorTime`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
UUID: string, //id of the sponsor being voted on
|
||||
userID: string,
|
||||
type: int //0 for downvote, 1 for upvote
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
Nothing (status code 200)
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
400: Bad Request (Your inputs are wrong/impossible)
|
||||
|
||||
405: Duplicate
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
**GET** `/api/viewedVideoSponsorTime`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
UUID: string
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
Nothing (status code 200)
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
400: Bad Request (Your inputs are wrong/impossible)
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
**GET** `/api/getViewsForUser`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
userID: string
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
viewCount: int
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
404: Not Found
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
**POST** `/api/setUsername`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
userID: string,
|
||||
userName: string,
|
||||
//optional
|
||||
adminUserID: string //This is if you want to change someone elses username from the admin account
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
Nothing (status code 200)
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
400: Bad Request (Your inputs are wrong/impossible)
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
**GET** `/api/getUsername`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
userID: string
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
userName: string //will send back hashed userID if no username has been set
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
400: Bad Request (Your inputs are wrong/impossible)
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
### Stats Calls
|
||||
|
||||
**GET** `/api/getTopUsers`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
sortType: int //0 for by minutes saved, 1 for by view count, 2 for by total submissions
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
userNames: array [string],
|
||||
viewCounts: array [int],
|
||||
totalSubmissions: array [int],
|
||||
minutesSaved: array [float]
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
400: Bad Request (Your inputs are wrong/impossible)
|
||||
|
||||
__________________________________________________________________
|
||||
|
||||
**GET** `/api/getTotalStats`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
Nothing
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
userCount: int,
|
||||
viewCount: int,
|
||||
totalSubmissions: int,
|
||||
minutesSaved: float
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
None
|
||||
__________________________________________________________________
|
||||
|
||||
**GET** `/api/getDaysSavedFormatted`
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
Nothing
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
daysSaved: float (2 decimal places)
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
None
|
||||
__________________________________________________________________
|
||||
|
||||
### Admin Calls
|
||||
|
||||
These can only be called by the server administrator, set in the config.
|
||||
|
||||
**POST** `/api/shadowBanUser`
|
||||
|
||||
Shadow banned submissions are hidden for everyone but the IP that originally submitted it. Shadow banning a user shadow bans all future submissions.
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
userID: string, //public userID of the user you want to shadowBan
|
||||
adminUserID: string, //your userID as an admin
|
||||
enabled: boolean, //optional, to be able to add and remove users
|
||||
unHideOldSubmissions: boolean //optional, should all previous submissions be banned as well?
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
Nothing (status code 200)
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
400: Bad Request (Your inputs are wrong/impossible)
|
||||
403: Unauthorized (You are not an admin)
|
||||
__________________________________________________________________
|
||||
|
||||
**POST** `/api/addUserAsVIP`
|
||||
|
||||
VIPs have extra privileges and their votes count more.
|
||||
|
||||
**Input**:
|
||||
```
|
||||
{
|
||||
userID: string, //public userID of the user you want to add to the VIP list
|
||||
adminUserID: string, //your userID as an admin
|
||||
enabled: boolean //optional, to be able to add and remove users
|
||||
}
|
||||
```
|
||||
|
||||
**Response**:
|
||||
```
|
||||
{
|
||||
Nothing (status code 200)
|
||||
}
|
||||
```
|
||||
|
||||
**Error codes**:
|
||||
|
||||
400: Bad Request (Your inputs are wrong/impossible)
|
||||
403: Unauthorized (You are not an admin)
|
||||
Available [here](https://github.com/ajayyy/SponsorBlock/wiki/API-Docs)
|
||||
|
|
Loading…
Reference in a new issue