REST API
Syncthing exposes a REST interface over HTTP on the GUI port. This is used by the GUI (from Javascript) and can be used by other processes wishing to control Syncthing. In most cases both the input and output data is in JSON format. The interface is subject to change.
API Key
To use the REST API an API key must be set and used. The API key can be generated in the GUI, or set in the configuration/gui/apikey
element in the configuration file. To use an API key, set the request header X-API-Key
to the API key value. For example, curl -X POST -H "X-API-Key: abc123" http://localhost:8384/rest/...
can be used to invoke with curl
(add -k
flag when using HTTPS with a Syncthing generated or self signed certificate).
System Endpoints
- GET /rest/system/browse
- GET /rest/system/config
- GET /rest/system/config/insync
- POST /rest/system/config
- GET /rest/system/connections
- GET /rest/system/debug
- POST /rest/system/debug
- GET /rest/system/discovery
- POST /rest/system/discovery
- POST /rest/system/error/clear
- GET /rest/system/error
- POST /rest/system/error
- GET /rest/system/log
- POST /rest/system/pause
- GET /rest/system/ping
- POST /rest/system/ping
- POST /rest/system/reset
- POST /rest/system/restart
- POST /rest/system/resume
- POST /rest/system/shutdown
- GET /rest/system/status
- GET /rest/system/upgrade
- POST /rest/system/upgrade
- GET /rest/system/version
Config Endpoints
Cluster Endpoints
Concerns the mesh network structure.
- DELETE /rest/cluster/pending/devices
- GET /rest/cluster/pending/devices
- DELETE /rest/cluster/pending/folders
- GET /rest/cluster/pending/folders
Database Endpoints
- GET /rest/db/browse
- GET /rest/db/completion
- GET /rest/db/file
- GET /rest/db/ignores
- POST /rest/db/ignores
- GET /rest/db/need
- POST /rest/db/override
- POST /rest/db/prio
- POST /rest/db/revert
- POST /rest/db/scan
- GET /rest/db/status