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, or set it as a Bearer
token in the
Authorization
header. For example, curl -X POST -H "X-API-Key: abc123"
http://localhost:8384/rest/...
or curl -X POST -H "Authorization: Bearer
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).
One exception to this requirement is /rest/noauth
, you do not need an API
key to use those endpoints. This way third-party devices and services can do
simple calls that don’t expose sensitive information without having to expose
your API key.
Result Pagination¶
Some GET endpoints take optional page
and perpage
arguments for
pagination. No more than perpage
(defaults to 65536 if not given) result
entries are returned in an array. To access further entries, passing the
page
parameter will advance in the results by that many pages. The actually
used parameters are always returned as attributes in the response object.
System Endpoints¶
- GET /rest/system/browse
- GET /rest/system/config (DEPRECATED)
- GET /rest/system/config/insync (DEPRECATED)
- POST /rest/system/config (DEPRECATED)
- 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
- GET /rest/system/log.txt
- GET /rest/system/paths
- 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.
Folder Endpoints¶
Runtime state of the individual shared folders.
Database Endpoints¶
Event Endpoints¶
Statistics Endpoints¶
Misc Services Endpoints¶
Debug Endpoints¶
Noauth Endpoints¶
Calls that do not require authentication.