Synology Download Station Web API reference covering API discovery, authentication, request format, common errors, and Download Station task operations.
63
73%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
High
Do not use without reviewing
Fix and improve this skill with Tessl
tessl review fix ./.github/skills/synology-api/SKILL.mdUse this skill when you need to integrate with Synology DSM Download Station through its Web API.
All requests use /webapi/<CGI_PATH> with these core query parameters:
api=<API_NAME>version=<VERSION>method=<METHOD>_sid=<SID> or cookieGeneral form:
GET /webapi/<CGI_PATH>?api=<API_NAME>&version=<VERSION>&method=<METHOD>[&<PARAMS>][&_sid=<SID>]All responses are JSON objects with:
success: true or falsedata: method result on successerror: integer error code on failure| Code | Meaning |
|---|---|
| 100 | Unknown error |
| 101 | Invalid parameter |
| 102 | Requested API does not exist |
| 103 | Requested method does not exist |
| 104 | Requested version does not support the functionality |
| 105 | Logged-in session does not have permission |
| 106 | Session timeout |
| 107 | Session interrupted by duplicate login |
Start with SYNO.API.Info.
/webapi/query.cgi/webapi/query.cgi?api=SYNO.API.Info&version=1&method=query&query=ALLElectorrent specifically needs:
SYNO.API.AuthSYNO.DownloadStation.TaskSYNO.API.AuthSYNO.API.Info (commonly auth.cgi)/webapi/auth.cgi?api=SYNO.API.Auth&version=2&method=login&account=<user>&passwd=<pass>&session=DownloadStation&format=cookieImportant params:
accountpasswdsession=DownloadStationformat=cookie or format=sidotp_codeLogout:
/webapi/auth.cgi?api=SYNO.API.Auth&version=1&method=logout&session=DownloadStationAuth-specific error codes:
| Code | Meaning |
|---|---|
| 400 | No such account or incorrect password |
| 401 | Account disabled |
| 402 | Permission denied |
| 403 | 2-step verification code required |
| 404 | Failed to authenticate 2-step verification code |
| API | Purpose |
|---|---|
SYNO.DownloadStation.Info | Package info and settings |
SYNO.DownloadStation.Schedule | Schedule settings |
SYNO.DownloadStation.Task | List tasks and perform task actions |
SYNO.DownloadStation.Statistic | Total download/upload stats |
SYNO.DownloadStation.RSS.Site | RSS site list/refresh |
SYNO.DownloadStation.RSS.Feed | RSS feed list |
SYNO.DownloadStation.BTSearch | BT search operations |
SYNO.DownloadStation.TasklistRequest params:
offset optional, default 0limit optional, default -1additional optional comma-separated expansions:
detailtransferfiletrackerpeerExample:
/webapi/DownloadStation/task.cgi?api=SYNO.DownloadStation.Task&version=1&method=list&additional=detail,fileReturns:
totaloffsettasks[]Task objects include fields such as:
idtypeusernametitlesizestatusstatus_extraadditional.detail, additional.transfer, additional.file, additional.tracker, additional.peergetinfoParams:
id=dbid_001,dbid_002additional=detail,transfer,file,tracker,peerReturns tasks[].
createUsed to add downloads.
Params:
uri optional: HTTP / FTP / magnet / ED2K links, or shared-folder file pathsfile optional: uploaded torrent/NZB payloadusername optionalpassword optionalunzip_password optionaldestination optional shared-folder-relative destinationThis is typically a POST for uploads.
deleteParams:
idforce_completeReturns per-task result objects containing:
iderror (0 means success)pauseParams:
idReturns per-task result objects with id and error.
resumeParams:
idReturns per-task result objects with id and error.
editCommonly used to change destination.
Params:
iddestinationReturns per-task result objects with id and error.
Useful task-specific codes:
| Code | Meaning |
|---|---|
| 400 | File upload failed |
| 401 | Max number of tasks reached |
| 402 | Destination denied |
| 403 | Destination does not exist |
| 404 | Invalid task id |
| 405 | Invalid task action |
| 406 | No default destination |
| 407 | Set destination failed |
| 408 | File does not exist |
Electorrent uses:
SYNO.API.Info query for API discoverySYNO.API.Auth loginSYNO.DownloadStation.Task.listSYNO.DownloadStation.Task.create for URL and file uploadsSYNO.DownloadStation.Task.pauseSYNO.DownloadStation.Task.resumeSYNO.DownloadStation.Task.delete89eb958
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.