[ { "type": "get", "url": "/search/", "title": "Request Torrents index", "version": "1.0.0", "name": "FindTorrents", "group": "Torrents", "parameter": { "fields": { "Parameter": [ { "group": "Parameter", "type": "String[]", "optional": false, "field": "c", "description": "
In which categories to search.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "q", "description": "Query to search (torrent name).
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "limit", "description": "Number of results per page.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "userID", "description": "Uploader ID owning the torrents.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "fromID", "description": "Show results with torrents ID superior to this.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "s", "description": "Torrent status.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "maxage", "description": "Torrents which have been uploaded the last x days.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "toDate", "description": "Torrents which have been uploaded since x dateType
.
Torrents which have been uploaded the last x dateType
.
Which type of date (d
for days, m
for months, y
for years).
Filter by minimal size in sizeType
.
Filter by maximal size in sizeType
.
Which type of size (b
for bytes, k
for kilobytes, m
for megabytes, g
for gigabytes).
Torrent sorting type (0 = id, 1 = name, 2 = date, 3 = downloads, 4 = size, 5 = seeders, 6 = leechers, 7 = completed).
" }, { "group": "Parameter", "type": "Boolean", "optional": false, "field": "order", "description": "Order ascending or descending (true = ascending).
" }, { "group": "Parameter", "type": "String[]", "optional": false, "field": "lang", "description": "Filter the languages.
" }, { "group": "Parameter", "type": "Number", "optional": false, "field": "page", "description": "Search page.
" } ] } }, "success": { "fields": { "Success 200": [ { "group": "Success 200", "type": "Object[]", "optional": false, "field": "torrents", "description": "List of torrent object (see view for the properties).
" } ] }, "examples": [ { "title": "Success-Response:", "content": " HTTP/1.1 200 OK\n {\n\t\t\t[...]\n\t\t}", "type": "json" } ] }, "filename": "controllers/api_handler.go", "groupTitle": "Torrents", "error": { "fields": { "Error 4xx": [ { "group": "Error 4xx", "type": "String[]", "optional": false, "field": "errors", "description": "List of errors messages with a 404 error message in it.
" } ] }, "examples": [ { "title": "Error-Response:", "content": "HTTP/1.1 404 Not Found\n{\n \"errors\": [ \"404_not_found\", ... ]\n}", "type": "json" } ] } }, { "type": "get", "url": "/view/:id", "title": "Request Torrent information", "version": "1.0.0", "name": "GetTorrent", "group": "Torrents", "parameter": { "fields": { "Parameter": [ { "group": "Parameter", "type": "Number", "optional": false, "field": "id", "description": "Torrent unique ID.
" } ] } }, "success": { "fields": { "Success 200": [ { "group": "Success 200", "type": "Number", "optional": false, "field": "id", "description": "ID of the torrent.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "name", "description": "Name of the torrent.
" }, { "group": "Success 200", "type": "Number", "optional": false, "field": "status", "description": "Status of the torrent.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "hash", "description": "Hash of the torrent.
" }, { "group": "Success 200", "type": "Date", "optional": false, "field": "date", "description": "Uploaded date of the torrent.
" }, { "group": "Success 200", "type": "Number", "optional": false, "field": "filesize", "description": "File size in Bytes of the torrent.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "description", "description": "Description of the torrent.
" }, { "group": "Success 200", "type": "Object[]", "optional": false, "field": "comments", "description": "Comments of the torrent.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "sub_category", "description": "Sub Category of the torrent.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "category", "description": "Category of the torrent.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "anidb_id", "description": "Anidb ID of the torrent.
" }, { "group": "Success 200", "type": "Number", "optional": false, "field": "uploader_id", "description": "ID of the torrent uploader.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "uploader_name", "description": "Username of the torrent uploader.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "uploader_old", "description": "Old username from nyaa of the torrent uploader.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "website_link", "description": "External Link of the torrent.
" }, { "group": "Success 200", "type": "String[]", "optional": false, "field": "languages", "description": "Languages of the torrent.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "magnet", "description": "Magnet URI of the torrent.
" }, { "group": "Success 200", "type": "String", "optional": false, "field": "torrent", "description": "Download URL of the torrent.
" }, { "group": "Success 200", "type": "Number", "optional": false, "field": "seeders", "description": "Number of seeders of the torrent.
" }, { "group": "Success 200", "type": "Number", "optional": false, "field": "leechers", "description": "Number of leechers of the torrent.
" }, { "group": "Success 200", "type": "Number", "optional": false, "field": "completed", "description": "Downloads completed of the torrent.
" }, { "group": "Success 200", "type": "Date", "optional": false, "field": "last_scrape", "description": "Last statistics update of the torrent.
" }, { "group": "Success 200", "type": "Object[]", "optional": false, "field": "file_list", "description": "List of files in the torrent.
" } ] }, "examples": [ { "title": "Success-Response:", "content": " HTTP/1.1 200 OK\n\t{\n\t\"id\": 952801,\n\t\"name\": \"[HorribleSubs] Uchouten Kazoku S2 [720p]\",\n\t\"status\": 1,\n\t\"hash\": \"6E4D96F7A0B0456672E80B150CCB7C15868CD47D\",\n\t\"date\": \"2017-07-05T11:01:39Z\",\n\t\"filesize\": 4056160259,\n\t\"description\": \"Unofficial batch
\\n\",\n\t\"comments\": [],\n\t\"sub_category\": \"5\",\n\t\"category\": \"3\",\n\t\"anidb_id\": \"\",\n\t\"downloads\": 0,\n\t\"uploader_id\": 7177,\n\t\"uploader_name\": \"DarAR92\",\n\t\"uploader_old\": \"\",\n\t\"website_link\": \"http://horriblesubs.info/\",\n\t\"languages\": [\n\t\"en-us\"\n\t],\n\t\"magnet\": \"magnet:?xt=urn:btih:6E4D96F7A0B0456672E80B150CCB7C15868CD47D&dn=%5BHorribleSubs%5D+Uchouten+Kazoku+S2+%5B720p%5D&tr=http://nyaa.tracker.wf:7777/announce&tr=http://nyaa.tracker.wf:7777/announce&tr=udp://tracker.doko.moe:6969&tr=http://tracker.anirena.com:80/announce&tr=http://anidex.moe:6969/announce&tr=udp://tracker.opentrackr.org:1337&tr=udp://tracker.coppersurfer.tk:6969&tr=udp://tracker.leechers-paradise.org:6969&tr=udp://zer0day.ch:1337&tr=udp://9.rarbg.com:2710/announce&tr=udp://tracker2.christianbro.pw:6969/announce&tr=udp://tracker.coppersurfer.tk:6969&tr=udp://tracker.leechers-paradise.org:6969&tr=udp://eddie4.nl:6969/announce&tr=udp://tracker.doko.moe:6969/announce\",\n\t\"torrent\": \"https://nyaa.pantsu.cat/download/6E4D96F7A0B0456672E80B150CCB7C15868CD47D\",\n\t\"seeders\": 4,\n\t\"leechers\": 2,\n\t\"completed\": 28,\n\t\"last_scrape\": \"2017-07-07T07:48:32.509635Z\",\n\t\"file_list\": [\n\t{\n\t\"path\": \"[HorribleSubs] Uchouten Kazoku S2 - 01[720p].mkv\",\n\t\"filesize\": 338250895\n\t},\n\t{\n\t\"path\": \"[HorribleSubs] Uchouten Kazoku S2 - 12 [720p].mkv\",\n\t\"filesize\": 338556275\n\t}\n\t]\n\t}", "type": "json" } ] }, "filename": "controllers/api_handler.go", "groupTitle": "Torrents", "error": { "fields": { "Error 4xx": [ { "group": "Error 4xx", "type": "String[]", "optional": false, "field": "errors", "description": "List of errors messages with a 404 error message in it.
" } ] }, "examples": [ { "title": "Error-Response:", "content": "HTTP/1.1 404 Not Found\n{\n \"errors\": [ \"404_not_found\", ... ]\n}", "type": "json" } ] } }, { "type": "get", "url": "/head/:id", "title": "Request Torrent Head", "version": "1.0.0", "name": "GetTorrentHead", "group": "Torrents", "parameter": { "fields": { "Parameter": [ { "group": "Parameter", "type": "Number", "optional": false, "field": "id", "description": "Torrent unique ID.
" } ] } }, "success": { "examples": [ { "title": "Success-Response:", "content": "HTTP/1.1 200 OK", "type": "json" } ] }, "filename": "controllers/api_handler.go", "groupTitle": "Torrents", "error": { "fields": { "Error 4xx": [ { "group": "Error 4xx", "type": "String[]", "optional": false, "field": "errors", "description": "List of errors messages with a 404 error message in it.
" } ] }, "examples": [ { "title": "Error-Response:", "content": "HTTP/1.1 404 Not Found\n{\n \"errors\": [ \"404_not_found\", ... ]\n}", "type": "json" } ] } }, { "type": "get", "url": "/", "title": "Request Torrents index", "version": "1.0.0", "name": "GetTorrents", "group": "Torrents", "parameter": { "fields": { "Parameter": [ { "group": "Parameter", "type": "Number", "optional": false, "field": "id", "description": "Torrent unique ID.
" } ] } }, "success": { "fields": { "Success 200": [ { "group": "Success 200", "type": "Object[]", "optional": false, "field": "torrents", "description": "List of torrent object (see view for the properties).
" }, { "group": "Success 200", "type": "Number", "optional": false, "field": "queryRecordCount", "description": "Number of torrents given.
" }, { "group": "Success 200", "type": "Number", "optional": false, "field": "totalRecordCount", "description": "Total number of torrents.
" } ] }, "examples": [ { "title": "Success-Response:", "content": " HTTP/1.1 200 OK\n {\n\t\t\t\"torrents\": [...],\n\t\t\t\"queryRecordCount\": 50,\n\t\t\t\"totalRecordCount\": 798414\n\t\t}", "type": "json" } ] }, "filename": "controllers/api_handler.go", "groupTitle": "Torrents", "error": { "fields": { "Error 4xx": [ { "group": "Error 4xx", "type": "String[]", "optional": false, "field": "errors", "description": "List of errors messages with a 404 error message in it.
" } ] }, "examples": [ { "title": "Error-Response:", "content": "HTTP/1.1 404 Not Found\n{\n \"errors\": [ \"404_not_found\", ... ]\n}", "type": "json" } ] } }, { "type": "post", "url": "/update/", "title": "Update a Torrent", "version": "1.0.0", "name": "UpdateTorrent", "group": "Torrents", "parameter": { "fields": { "Parameter": [ { "group": "Parameter", "type": "String", "optional": false, "field": "username", "description": "Torrent uploader name.
" }, { "group": "Parameter", "type": "Number", "optional": false, "field": "id", "description": "Torrent ID.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "name", "description": "Torrent name.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "category", "description": "Torrent category.
" }, { "group": "Parameter", "type": "Boolean", "optional": false, "field": "remake", "description": "Torrent is a remake.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "description", "description": "Torrent description.
" }, { "group": "Parameter", "type": "Number", "optional": false, "field": "status", "description": "Torrent status.
" }, { "group": "Parameter", "type": "Boolean", "optional": false, "field": "hidden", "description": "Torrent hidden.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "website_link", "description": "Torrent website link.
" }, { "group": "Parameter", "type": "String[]", "optional": false, "field": "languages", "description": "Torrent languages.
" } ] } }, "success": { "fields": { "Success 200": [ { "group": "Success 200", "type": "Boolean", "optional": false, "field": "ok", "description": "The request is done without failing
" }, { "group": "Success 200", "type": "String[]", "optional": false, "field": "infos", "description": "Messages information relative to the request
" }, { "group": "Success 200", "type": "Object", "optional": false, "field": "data", "description": "The resulting torrent updated (see view for the properties)
" } ] }, "examples": [ { "title": "Success-Response:", "content": "HTTP/1.1 200 OK", "type": "json" } ] }, "filename": "controllers/api_handler.go", "groupTitle": "Torrents", "error": { "fields": { "Error 4xx": [ { "group": "Error 4xx", "type": "Boolean", "optional": false, "field": "ok", "description": "The request couldn't be done due to some errors.
" }, { "group": "Error 4xx", "type": "String[]", "optional": false, "field": "errors", "description": "List of errors messages.
" }, { "group": "Error 4xx", "type": "Object[]", "optional": false, "field": "all_errors", "description": "List of errors object messages for each wrong field
" } ] }, "examples": [ { "title": "Error-Response:", "content": " HTTP/1.1 200 OK\n {\n \"ok\": false,\n \"errors\": [ ... ]\n \"all_errors\": {\n\t\t \t\"username\": [ ... ],\n }\n }", "type": "json" } ] } }, { "type": "post", "url": "/upload", "title": "Upload a Torrent", "version": "1.0.0", "name": "UploadTorrent", "group": "Torrents", "parameter": { "fields": { "Parameter": [ { "group": "Parameter", "type": "String", "optional": false, "field": "username", "description": "Torrent uploader name.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "name", "description": "Torrent name.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "magnet", "description": "Torrent magnet URI.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "category", "description": "Torrent category.
" }, { "group": "Parameter", "type": "Boolean", "optional": false, "field": "remake", "description": "Torrent is a remake.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "description", "description": "Torrent description.
" }, { "group": "Parameter", "type": "Number", "optional": false, "field": "status", "description": "Torrent status.
" }, { "group": "Parameter", "type": "Boolean", "optional": false, "field": "hidden", "description": "Torrent hidden.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "website_link", "description": "Torrent website link.
" }, { "group": "Parameter", "type": "String[]", "optional": false, "field": "languages", "description": "Torrent languages.
" }, { "group": "Parameter", "type": "File", "optional": false, "field": "torrent", "description": "Torrent file to upload (you have to send a torrent file or a magnet, not both!).
" } ] } }, "success": { "fields": { "Success 200": [ { "group": "Success 200", "type": "Boolean", "optional": false, "field": "ok", "description": "The request is done without failing
" }, { "group": "Success 200", "type": "String[]", "optional": false, "field": "infos", "description": "Messages information relative to the request
" }, { "group": "Success 200", "type": "Object", "optional": false, "field": "data", "description": "The resulting torrent uploaded (see view for the properties)
" } ] }, "examples": [ { "title": "Success-Response:", "content": "HTTP/1.1 200 OK", "type": "json" } ] }, "filename": "controllers/api_handler.go", "groupTitle": "Torrents", "error": { "fields": { "Error 4xx": [ { "group": "Error 4xx", "type": "Boolean", "optional": false, "field": "ok", "description": "The request couldn't be done due to some errors.
" }, { "group": "Error 4xx", "type": "String[]", "optional": false, "field": "errors", "description": "List of errors messages.
" }, { "group": "Error 4xx", "type": "Object[]", "optional": false, "field": "all_errors", "description": "List of errors object messages for each wrong field
" } ] }, "examples": [ { "title": "Error-Response:", "content": " HTTP/1.1 200 OK\n {\n \"ok\": false,\n \"errors\": [ ... ]\n \"all_errors\": {\n\t\t \t\"username\": [ ... ],\n }\n }", "type": "json" } ] } }, { "type": "post", "url": "/login/", "title": "Login a user", "version": "1.0.0", "name": "Login", "group": "Users", "parameter": { "fields": { "Parameter": [ { "group": "Parameter", "type": "String", "optional": false, "field": "username", "description": "Username or Email.
" }, { "group": "Parameter", "type": "String", "optional": false, "field": "password", "description": "Password.
" } ] } }, "success": { "fields": { "Success 200": [ { "group": "Success 200", "type": "Boolean", "optional": false, "field": "ok", "description": "The request is done without failing
" }, { "group": "Success 200", "type": "String[]", "optional": false, "field": "infos", "description": "Messages information relative to the request
" }, { "group": "Success 200", "type": "Object", "optional": false, "field": "data", "description": "The connected user object
" } ] }, "examples": [ { "title": "Success-Response:", "content": " HTTP/1.1 200 OK\n\t\t{\n\t\t\tdata:\n \t\t[{\n\t\t\t\t\tuser_id:1,\n\t\t\t\t\tusername:\"username\",\n\t\t\t\t\tstatus:1,\n\t\t\t\t\ttoken:\"token\",\n\t\t\t\t\tmd5:\"\",\n\t\t\t\t\tcreated_at:\"date\",\n\t\t\t\t\tliking_count:0,\n\t\t\t\t\tliked_count:0\n\t\t\t\t}],\n\t\t\tinfos: [\"Logged\", ... ],\n\t\t\tok:true\n\t\t}", "type": "json" } ] }, "filename": "controllers/api_handler.go", "groupTitle": "Users", "error": { "fields": { "Error 4xx": [ { "group": "Error 4xx", "type": "Boolean", "optional": false, "field": "ok", "description": "The request couldn't be done due to some errors.
" }, { "group": "Error 4xx", "type": "String[]", "optional": false, "field": "errors", "description": "List of errors messages.
" }, { "group": "Error 4xx", "type": "Object[]", "optional": false, "field": "all_errors", "description": "List of errors object messages for each wrong field
" } ] }, "examples": [ { "title": "Error-Response:", "content": " HTTP/1.1 200 OK\n {\n \"ok\": false,\n \"errors\": [ ... ]\n \"all_errors\": {\n\t\t \t\"username\": [ ... ],\n }\n }", "type": "json" } ] } } ]