diff --git a/README.MD b/README.MD index 654e4c4..1769c03 100644 --- a/README.MD +++ b/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)