1123 lines
25 KiB
Groff
1123 lines
25 KiB
Groff
.\" Man page generated from reStructuredText.
|
||
.
|
||
.
|
||
.nr rst2man-indent-level 0
|
||
.
|
||
.de1 rstReportMargin
|
||
\\$1 \\n[an-margin]
|
||
level \\n[rst2man-indent-level]
|
||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
-
|
||
\\n[rst2man-indent0]
|
||
\\n[rst2man-indent1]
|
||
\\n[rst2man-indent2]
|
||
..
|
||
.de1 INDENT
|
||
.\" .rstReportMargin pre:
|
||
. RS \\$1
|
||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||
. nr rst2man-indent-level +1
|
||
.\" .rstReportMargin post:
|
||
..
|
||
.de UNINDENT
|
||
. RE
|
||
.\" indent \\n[an-margin]
|
||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
.nr rst2man-indent-level -1
|
||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||
..
|
||
.TH "SYNCTHING-EVENT-API" "7" "May 01, 2022" "v1.19.2" "Syncthing"
|
||
.SH NAME
|
||
syncthing-event-api \- Event API
|
||
.SH DESCRIPTION
|
||
.sp
|
||
Syncthing provides a simple long polling interface for exposing events from the
|
||
core utility towards a GUI. To receive events, see /rest/events\-get\&.
|
||
.SH EVENT STRUCTURE
|
||
.sp
|
||
Each event is represented by an object similar to the following:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 2,
|
||
"globalID": 3,
|
||
"type": "DeviceConnected",
|
||
"time": "2014\-07\-13T21:04:33.687836696+02:00",
|
||
"data": {
|
||
"addr": "172.16.32.25:22000",
|
||
"id": "NFGKEKE\-7Z6RTH7\-I3PRZXS\-DEJF3UJ\-FRWJBFO\-VBBTDND\-4SGNGVZ\-QUQHJAG"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
The top level keys \fBid\fP, \fBglobalID\fP, \fBtime\fP, \fBtype\fP and \fBdata\fP are always present,
|
||
though \fBdata\fP may be \fBnull\fP\&.
|
||
.INDENT 0.0
|
||
.TP
|
||
.B id
|
||
A unique ID for this event on the events API. It always increases by 1: the first
|
||
event generated has id \fB1\fP, the next has id \fB2\fP etc. If this increases by
|
||
more than 1, then one or more events have been skipped by the events API.
|
||
.TP
|
||
.B globalID
|
||
A global ID for this event, across the events API, the audit log, and any other
|
||
sources. It may increase by more than 1, but it will always be greater
|
||
than or equal to the id.
|
||
.TP
|
||
.B time
|
||
The time the event was generated.
|
||
.TP
|
||
.B type
|
||
Indicates the type of (i.e. reason for) the event and is one of the event
|
||
types below.
|
||
.TP
|
||
.B data
|
||
An object containing optional extra information; the exact structure is
|
||
determined by the event type.
|
||
.UNINDENT
|
||
.SH EVENT TYPES
|
||
.SS ClusterConfigReceived
|
||
.sp
|
||
New in version 1.20.0.
|
||
|
||
.sp
|
||
The \fBClusterConfigReceived\fP event is emitted after processing such a protocol
|
||
message received from a remote device. It is mainly used for internal purposes.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 84,
|
||
"globalID": 84,
|
||
"type": "ClusterConfigReceived",
|
||
"time": "2022\-04\-27T14:14:27.043576583+09:00",
|
||
"data": {
|
||
"device": "I6KAH76\-66SLLLB\-5PFXSOA\-UFJCDZC\-YAOMLEK\-CP2GB32\-BV5RQST\-3PSROAU"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS ConfigSaved
|
||
.sp
|
||
Emitted after the config has been saved by the user or by Syncthing
|
||
itself.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 50,
|
||
"globalID": 50,
|
||
"type": "ConfigSaved",
|
||
"time": "2014\-12\-13T00:09:13.5166486Z",
|
||
"data": {
|
||
"version": 7,
|
||
"folders": [{"..."}],
|
||
"devices": [{"..."}],
|
||
"gui": {"..."},
|
||
"ldap": {"..."},
|
||
"options": {"..."},
|
||
"remoteIgnoredDevices": [{"..."}],
|
||
"defaults": {"..."}
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS DeviceConnected
|
||
.sp
|
||
Generated each time a connection to a device has been established.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 2,
|
||
"globalID": 2,
|
||
"type": "DeviceConnected",
|
||
"time": "2014\-07\-13T21:04:33.687836696+02:00",
|
||
"data": {
|
||
"addr": "172.16.32.25:22000",
|
||
"id": "NFGKEKE\-7Z6RTH7\-I3PRZXS\-DEJF3UJ\-FRWJBFO\-VBBTDND\-4SGNGVZ\-QUQHJAG",
|
||
"deviceName": "Laptop",
|
||
"clientName": "syncthing",
|
||
"clientVersion": "v0.13.4",
|
||
"type": "TCP (Client)"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS DeviceDisconnected
|
||
.sp
|
||
Generated each time a connection to a device has been terminated.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 48,
|
||
"globalID": 48,
|
||
"type": "DeviceDisconnected",
|
||
"time": "2014\-07\-13T21:18:52.859929215+02:00",
|
||
"data": {
|
||
"error": "unexpected EOF",
|
||
"id": "NFGKEKE\-7Z6RTH7\-I3PRZXS\-DEJF3UJ\-FRWJBFO\-VBBTDND\-4SGNGVZ\-QUQHJAG"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
The error key contains the cause for disconnection, which might not
|
||
necessarily be an error as such. Specifically, “EOF” and “unexpected
|
||
EOF” both signify TCP connection termination, either due to the other
|
||
device restarting or going offline or due to a network change.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS DeviceDiscovered
|
||
.sp
|
||
Emitted when a new device is discovered using local discovery.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 13,
|
||
"globalID": 13,
|
||
"type": "DeviceDiscovered",
|
||
"time": "2014\-07\-17T13:28:05.043465207+02:00",
|
||
"data": {
|
||
"addrs": [
|
||
"172.16.32.25:22000"
|
||
],
|
||
"device": "NFGKEKE\-7Z6RTH7\-I3PRZXS\-DEJF3UJ\-FRWJBFO\-VBBTDND\-4SGNGVZ\-QUQHJAG"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS DevicePaused
|
||
.sp
|
||
Emitted when a device was paused.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 13,
|
||
"globalID": 13,
|
||
"type": "DevicePaused",
|
||
"time": "2014\-07\-17T13:28:05.043465207+02:00",
|
||
"data": {
|
||
"device": "NFGKEKE\-7Z6RTH7\-I3PRZXS\-DEJF3UJ\-FRWJBFO\-VBBTDND\-4SGNGVZ\-QUQHJAG"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS DeviceRejected (DEPRECATED)
|
||
.sp
|
||
Deprecated since version v1.13.0: This event is still emitted for compatibility, but deprecated. Use
|
||
the replacement pendingdeviceschanged event instead.
|
||
|
||
.sp
|
||
Emitted when there is a connection from a device we are not configured
|
||
to talk to.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 24,
|
||
"globalID": 24,
|
||
"type": "DeviceRejected",
|
||
"time": "2014\-08\-19T10:43:00.562821045+02:00",
|
||
"data": {
|
||
"address": "127.0.0.1:51807",
|
||
"name": "My dusty computer",
|
||
"device": "EJHMPAQ\-OGCVORE\-ISB4IS3\-SYYVJXF\-TKJGLTU\-66DIQPF\-GJ5D2GX\-GQ3OWQK"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS DeviceResumed
|
||
.sp
|
||
Generated each time a device was resumed.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 2,
|
||
"globalID": 2,
|
||
"type": "DeviceResumed",
|
||
"time": "2014\-07\-13T21:04:33.687836696+02:00",
|
||
"data": {
|
||
"device": "NFGKEKE\-7Z6RTH7\-I3PRZXS\-DEJF3UJ\-FRWJBFO\-VBBTDND\-4SGNGVZ\-QUQHJAG"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS DownloadProgress
|
||
.sp
|
||
Emitted during file downloads for each folder for each file. By default
|
||
only a single file in a folder is handled at the same time, but custom
|
||
configuration can cause multiple files to be shown.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 221,
|
||
"globalID": 221,
|
||
"type": "DownloadProgress",
|
||
"time": "2014\-12\-13T00:26:12.9876937Z",
|
||
"data": {
|
||
"folder1": {
|
||
"file1": {
|
||
"total": 800,
|
||
"pulling": 2,
|
||
"copiedFromOrigin": 0,
|
||
"reused": 633,
|
||
"copiedFromElsewhere": 0,
|
||
"pulled": 38,
|
||
"bytesTotal": 104792064,
|
||
"bytesDone": 87883776
|
||
},
|
||
"dir\e\efile2": {
|
||
"total": 80,
|
||
"pulling": 2,
|
||
"copiedFromOrigin": 0,
|
||
"reused": 0,
|
||
"copiedFromElsewhere": 0,
|
||
"pulled": 32,
|
||
"bytesTotal": 10420224,
|
||
"bytesDone": 4128768
|
||
}
|
||
},
|
||
"folder2": {
|
||
"file3": {
|
||
"total": 800,
|
||
"pulling": 2,
|
||
"copiedFromOrigin": 0,
|
||
"reused": 633,
|
||
"copiedFromElsewhere": 0,
|
||
"pulled": 38,
|
||
"bytesTotal": 104792064,
|
||
"bytesDone": 87883776
|
||
},
|
||
"dir\e\efile4": {
|
||
"total": 80,
|
||
"pulling": 2,
|
||
"copiedFromOrigin": 0,
|
||
"reused": 0,
|
||
"copiedFromElsewhere": 0,
|
||
"pulled": 32,
|
||
"bytesTotal": 10420224,
|
||
"bytesDone": 4128768
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
\fBtotal\fP \- total number of blocks in the file
|
||
.IP \(bu 2
|
||
\fBpulling\fP \- number of blocks currently being downloaded
|
||
.IP \(bu 2
|
||
\fBcopiedFromOrigin\fP \- number of blocks copied from the file we are
|
||
about to replace
|
||
.IP \(bu 2
|
||
\fBreused\fP \- number of blocks reused from a previous temporary file
|
||
.IP \(bu 2
|
||
\fBcopiedFromElsewhere\fP \- number of blocks copied from other files or
|
||
potentially other folders
|
||
.IP \(bu 2
|
||
\fBpulled\fP \- number of blocks actually downloaded so far
|
||
.IP \(bu 2
|
||
\fBbytesTotal\fP \- approximate total file size
|
||
.IP \(bu 2
|
||
\fBbytesDone\fP \- approximate number of bytes already handled (already
|
||
reused, copied or pulled)
|
||
.UNINDENT
|
||
.sp
|
||
Where block size is 128KB.
|
||
.sp
|
||
Files/folders appearing in the event data imply that the download has
|
||
been started for that file/folder, where disappearing implies that the
|
||
downloads have been finished or failed for that file/folder. There is
|
||
always a last event emitted with no data, which implies all downloads
|
||
have finished/failed.
|
||
.SS Failure
|
||
.sp
|
||
Generated for specific errors that will also be sent to the usage
|
||
reporting server, if enabled in the configuration. These are usually
|
||
of special interest to the developers to troubleshoot complex errors.
|
||
The \fBdata\fP field contains a textual error message.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 93,
|
||
"globalID": 93,
|
||
"type": "Failure",
|
||
"time": "2021\-06\-07T21:22:03.414609034+02:00",
|
||
"data": "index handler got paused while already paused"
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS FolderCompletion
|
||
.sp
|
||
The \fBFolderCompletion\fP event is emitted when the local or remote
|
||
contents for a folder changes. It contains the completion percentage for
|
||
a given remote device and is emitted once per currently connected remote
|
||
device.
|
||
.sp
|
||
New in version 1.20.0: Indication whether the remote device has accepted the folder (shares it with
|
||
us) as well, and whether it is paused. The \fBremoteState\fP field is
|
||
\fBunknown\fP when the remote device is not connected. Otherwise it can be
|
||
either \fBpaused\fP, \fBnotSharing\fP, or \fBvalid\fP if the remote is sharing back.
|
||
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 84,
|
||
"globalID": 84,
|
||
"type": "FolderCompletion",
|
||
"time": "2022\-04\-27T14:14:27.043576583+09:00",
|
||
"data": {
|
||
"completion": 100,
|
||
"device": "I6KAH76\-66SLLLB\-5PFXSOA\-UFJCDZC\-YAOMLEK\-CP2GB32\-BV5RQST\-3PSROAU",
|
||
"folder": "default",
|
||
"globalBytes": 17,
|
||
"globalItems": 4,
|
||
"needBytes": 0,
|
||
"needDeletes": 0,
|
||
"needItems": 0,
|
||
"remoteState": "valid",
|
||
"sequence": 12
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS FolderErrors
|
||
.sp
|
||
The \fBFolderErrors\fP event is emitted when a folder cannot be successfully
|
||
synchronized. The event contains the ID of the affected folder and a list of
|
||
errors for files or directories therein. This list of errors is obsolete once
|
||
the folder changes state to \fBsyncing\fP \- if errors remain after the next
|
||
synchronization attempt, a new \fBFolderErrors\fP event is emitted.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 132,
|
||
"type": "FolderErrors",
|
||
"time": "2015\-06\-26T13:39:24.697401384+02:00",
|
||
"data": {
|
||
"errors": [
|
||
{
|
||
"error": "open /Users/jb/src/github.com/syncthing/syncthing/test/s2/h2j/.syncthing.aslkjd.tmp: permission denied",
|
||
"path": "h2j/aslkjd"
|
||
}
|
||
],
|
||
"folder": "default"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
New in version 0.11.12.
|
||
|
||
.sp
|
||
\fBSEE ALSO:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
The statechanged event.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS FolderPaused
|
||
.sp
|
||
Generated when the configuration changes regarding the “paused” state
|
||
of a folder. Sent repeatedly for each changed folder.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 93,
|
||
"globalID": 93,
|
||
"type": "FolderPaused",
|
||
"time": "2021\-06\-07T23:45:03.414609034+02:00",
|
||
"data": {
|
||
"id": "abcde\-fghij",
|
||
"label": "My folder"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS FolderRejected (DEPRECATED)
|
||
.sp
|
||
Deprecated since version v1.13.0: This event is still emitted for compatibility, but deprecated. Use
|
||
the replacement pendingfolderschanged event instead.
|
||
|
||
.sp
|
||
Emitted when a device sends index information for a folder we do not
|
||
have, or have but do not share with the device in question.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 27,
|
||
"globalID": 27,
|
||
"type": "FolderRejected",
|
||
"time": "2014\-08\-19T10:41:06.761751399+02:00",
|
||
"data": {
|
||
"device": "EJHMPAQ\-OGCVORE\-ISB4IS3\-SYYVJXF\-TKJGLTU\-66DIQPF\-GJ5D2GX\-GQ3OWQK",
|
||
"folder": "GXWxf\-3zgnU",
|
||
"folderLabel": "My Pictures"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS FolderResumed
|
||
.sp
|
||
Generated when the configuration changes regarding the “paused” state
|
||
of a folder. Sent repeatedly for each changed folder.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 93,
|
||
"globalID": 93,
|
||
"type": "FolderResumed",
|
||
"time": "2021\-06\-07T23:45:03.414609034+02:00",
|
||
"data": {
|
||
"id": "abcde\-fghij",
|
||
"label": "My folder"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS FolderScanProgress
|
||
.sp
|
||
Emitted in regular intervals (folder setting ProgressIntervalS, 2s by default)
|
||
during scans giving the amount of bytes already scanned and to be scanned in
|
||
total , as well as the current scanning rates in bytes per second.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"data" : {
|
||
"total" : 1,
|
||
"rate" : 0,
|
||
"current" : 0,
|
||
"folder" : "bd7q3\-zskm5"
|
||
},
|
||
"globalID" : 29,
|
||
"type" : "FolderScanProgress",
|
||
"time" : "2017\-03\-06T15:00:58.072004209+01:00",
|
||
"id" : 29
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS FolderSummary
|
||
.sp
|
||
The FolderSummary event is emitted when folder contents have changed
|
||
locally. This can be used to calculate the current local completion
|
||
state.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 16,
|
||
"globalID": 16,
|
||
"type": "FolderSummary",
|
||
"time": "2015\-04\-17T14:12:20.460121585+09:00",
|
||
"data": {
|
||
"folder": "default",
|
||
"summary": {
|
||
"globalBytes": 0,
|
||
"globalDeleted": 0,
|
||
"globalFiles": 0,
|
||
"ignorePatterns": false,
|
||
"inSyncBytes": 0,
|
||
"inSyncFiles": 0,
|
||
"invalid": "",
|
||
"localBytes": 0,
|
||
"localDeleted": 0,
|
||
"localFiles": 0,
|
||
"needBytes": 0,
|
||
"needFiles": 0,
|
||
"state": "idle",
|
||
"stateChanged": "2015\-04\-17T14:12:12.455224687+09:00",
|
||
"version": 0
|
||
}
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS FolderWatchStateChanged
|
||
.sp
|
||
The \fBFolderWatchStateChanged\fP event is emitted when a folder’s watcher routine
|
||
encounters a new error, or when a previous error disappeared after retrying.
|
||
The event contains the ID of the affected folder and textual error messages
|
||
describing the previous (\fBfrom\fP) and the updated (\fBto\fP) error conditions.
|
||
If there was no error in either of these, the respective field is omitted.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 123,
|
||
"type": "FolderWatchStateChanged",
|
||
"time": "2022\-03\-14T12:34:56.890000000+01:00",
|
||
"data": {
|
||
"folder": "default",
|
||
"from": "Something bad happened.",
|
||
"to": "Something worse happened."
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS ItemFinished
|
||
.sp
|
||
Generated when Syncthing ends synchronizing a file to a newer version. A
|
||
successful operation:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 93,
|
||
"globalID": 93,
|
||
"type": "ItemFinished",
|
||
"time": "2014\-07\-13T21:22:03.414609034+02:00",
|
||
"data": {
|
||
"item": "test.txt",
|
||
"folder": "default",
|
||
"error": null,
|
||
"type": "file",
|
||
"action": "update"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
An unsuccessful operation:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 44,
|
||
"globalID": 44,
|
||
"type": "ItemFinished",
|
||
"time": "2015\-05\-27T11:21:05.711133004+02:00",
|
||
"data": {
|
||
"action": "update",
|
||
"error": "open /Users/jb/src/github.com/syncthing/syncthing/test/s2/foo/.syncthing.hej.tmp: permission denied",
|
||
"folder": "default",
|
||
"item": "foo/hej",
|
||
"type": "file"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
The \fBaction\fP field is either \fBupdate\fP (contents changed), \fBmetadata\fP (file metadata changed but not contents), or \fBdelete\fP\&.
|
||
.sp
|
||
New in version 0.11.10: The \fBmetadata\fP action.
|
||
|
||
.SS ItemStarted
|
||
.sp
|
||
Generated when Syncthing begins synchronizing a file to a newer version.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 93,
|
||
"globalID": 93,
|
||
"type": "ItemStarted",
|
||
"time": "2014\-07\-13T21:22:03.414609034+02:00",
|
||
"data": {
|
||
"item": "test.txt",
|
||
"folder": "default",
|
||
"type": "file",
|
||
"action": "update"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
The \fBaction\fP field is either \fBupdate\fP (contents changed), \fBmetadata\fP (file metadata changed but not contents), or \fBdelete\fP\&.
|
||
.sp
|
||
New in version 0.11.10: The \fBmetadata\fP action.
|
||
|
||
.SS ListenAddressesChanged
|
||
.sp
|
||
This event is emitted when a listen address changes.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"type" : "ListenAddressesChanged",
|
||
"id" : 70,
|
||
"time" : "2017\-03\-06T15:01:24.88340663+01:00",
|
||
"globalID" : 70,
|
||
"data" : {
|
||
"address" : {
|
||
"Fragment" : "",
|
||
"RawQuery" : "",
|
||
"Scheme" : "dynamic+https",
|
||
"Path" : "/endpoint",
|
||
"RawPath" : "",
|
||
"User" : null,
|
||
"ForceQuery" : false,
|
||
"Host" : "relays.syncthing.net",
|
||
"Opaque" : ""
|
||
},
|
||
"wan" : [
|
||
{
|
||
"ForceQuery" : false,
|
||
"User" : null,
|
||
"Host" : "31.15.66.212:443",
|
||
"Opaque" : "",
|
||
"Path" : "/",
|
||
"RawPath" : "",
|
||
"RawQuery" : "id=F4HSJVO\-CP2C3IL\-YLQYLSU\-XTYODAG\-PPU4LGV\-PH3MU4N\-G6K56DV\-IPN47A&pingInterval=1m0s&networkTimeout=2m0s&sessionLimitBps=0&globalLimitBps=0&statusAddr=:22070&providedBy=",
|
||
"Scheme" : "relay",
|
||
"Fragment" : ""
|
||
}
|
||
],
|
||
"lan" : [
|
||
{
|
||
"RawQuery" : "id=F4HSJVO\-CP2C3IL\-YLQYLSU\-XTYODAG\-PPU4LGV\-PH3MU4N\-G6K56DV\-IPN47A&pingInterval=1m0s&networkTimeout=2m0s&sessionLimitBps=0&globalLimitBps=0&statusAddr=:22070&providedBy=",
|
||
"Scheme" : "relay",
|
||
"Fragment" : "",
|
||
"RawPath" : "",
|
||
"Path" : "/",
|
||
"Host" : "31.15.66.212:443",
|
||
"Opaque" : "",
|
||
"ForceQuery" : false,
|
||
"User" : null
|
||
}
|
||
]
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS LocalChangeDetected
|
||
.sp
|
||
Generated upon scan whenever the local disk has discovered an updated file from the
|
||
previous scan. This does \fInot\fP include events that are discovered and copied from
|
||
other devices (remotechangedetected), only files that were changed on the
|
||
local filesystem.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
This event is not included in /rest/events\-get endpoint without
|
||
a mask specified, but needs to be selected explicitly.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 7,
|
||
"globalID": 59,
|
||
"time": "2016\-09\-26T22:07:10.7189141\-04:00",
|
||
"type": "LocalChangeDetected",
|
||
"data": {
|
||
"action": "deleted",
|
||
"folderID": "vitwy\-zjxqt",
|
||
"label": "TestSync",
|
||
"path": "C:\e\eUsers\e\eNate\e\eSync\e\etestfolder\e\etest file.rtf",
|
||
"type": "file"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS LocalIndexUpdated
|
||
.sp
|
||
Generated when the local index information has changed, due to
|
||
synchronizing one or more items from the cluster or discovering local
|
||
changes during a scan.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 59,
|
||
"globalID": 59,
|
||
"type": "LocalIndexUpdated",
|
||
"time": "2014\-07\-17T13:27:28.051369434+02:00",
|
||
"data": {
|
||
"folder": "default",
|
||
"items": 1000,
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS LoginAttempt
|
||
.sp
|
||
When authentication is enabled for the GUI, this event is emitted on every
|
||
login attempt. If either the username or password are incorrect, \fBsuccess\fP
|
||
is false and in any case the given username is returned. The included
|
||
remote address concerns the immediate connecting host, which may not be the
|
||
origin of the request, but e.g. a reverse proxy.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id" : 187,
|
||
"time" : "2017\-03\-07T00:19:24.420386143+01:00",
|
||
"data" : {
|
||
"remoteAddress" : "127.0.0.1:55530",
|
||
"username" : "somename",
|
||
"success" : false
|
||
},
|
||
"type" : "LoginAttempt",
|
||
"globalID" : 195
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS PendingDevicesChanged
|
||
.sp
|
||
New in version 1.14.0.
|
||
|
||
.sp
|
||
Emitted when pending devices were added / updated (connection from
|
||
unknown ID) or removed (device is ignored, dismissed or added).
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 87,
|
||
"type": "PendingDevicesChanged",
|
||
"time": "2020\-12\-22T22:24:37.578586718+01:00",
|
||
"data": {
|
||
"added": [
|
||
{
|
||
"address": "127.0.0.1:51807",
|
||
"deviceID": "EJHMPAQ\-OGCVORE\-ISB4IS3\-SYYVJXF\-TKJGLTU\-66DIQPF\-GJ5D2GX\-GQ3OWQK",
|
||
"name": "My dusty computer"
|
||
}
|
||
],
|
||
"removed": [
|
||
{
|
||
"deviceID": "P56IOI7\-MZJNU2Y\-IQGDREY\-DM2MGTI\-MGL3BXN\-PQ6W5BM\-TBBZ4TJ\-XZWICQ2"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS PendingFoldersChanged
|
||
.sp
|
||
New in version 1.14.0.
|
||
|
||
.sp
|
||
Emitted when pending folders were added / updated (offered by some
|
||
device, but not shared to them) or removed (folder ignored, dismissed
|
||
or added or no longer offered from the remote device). A removed
|
||
entry without a \fBdeviceID\fP attribute means that the folder is no
|
||
longer pending for any device.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 101,
|
||
"type": "PendingFoldersChanged",
|
||
"time": "2020\-12\-22T22:36:55.66744317+01:00",
|
||
"data": {
|
||
"added": [
|
||
{
|
||
"deviceID": "EJHMPAQ\-OGCVORE\-ISB4IS3\-SYYVJXF\-TKJGLTU\-66DIQPF\-GJ5D2GX\-GQ3OWQK",
|
||
"folderID": "GXWxf\-3zgnU",
|
||
"folderLabel": "My Pictures"
|
||
"receiveEncrypted": "false"
|
||
"remoteEncrypted": "false"
|
||
}
|
||
],
|
||
"removed": [
|
||
{
|
||
"deviceID": "P56IOI7\-MZJNU2Y\-IQGDREY\-DM2MGTI\-MGL3BXN\-PQ6W5BM\-TBBZ4TJ\-XZWICQ2",
|
||
"folderID": "neyfh\-sa2nu"
|
||
},
|
||
{
|
||
"folderID": "abcde\-fghij"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS RemoteChangeDetected
|
||
.sp
|
||
Generated upon scan whenever a file is locally updated due to a remote change.
|
||
Files that are updated locally produce a localchangedetected event.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
This event is not included in /rest/events\-get endpoint without
|
||
a mask specified, but needs to be selected explicitly.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"time" : "2017\-03\-06T23:58:21.844739891+01:00",
|
||
"globalID" : 123,
|
||
"data" : {
|
||
"type" : "file",
|
||
"action" : "deleted",
|
||
"path" : "/media/ntfs_data/Dokumente/testfile",
|
||
"label" : "Dokumente",
|
||
"folderID" : "Dokumente",
|
||
"modifiedBy" : "BPDFDTU"
|
||
},
|
||
"type" : "RemoteChangeDetected",
|
||
"id" : 2
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS RemoteDownloadProgress
|
||
.sp
|
||
This event is emitted when a download\-progress message is
|
||
received. It returns a map \fBdata\fP of filenames with a count of
|
||
downloaded blocks. The files in questions are currently being
|
||
downloaded on the remote \fBdevice\fP and belong to \fBfolder\fP\&.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"time" : "2017\-03\-07T00:11:37.65838955+01:00",
|
||
"globalID" : 170,
|
||
"data" : {
|
||
"state" : {
|
||
"tahr64\-6.0.5.iso" : 1784
|
||
},
|
||
"device" : "F4HSJVO\-CP2C3IL\-YLQYLSU\-XTYODAG\-PPU4LGV\-PH3MU4N\-G6K56DV\-IPN47A",
|
||
"folder" : "Dokumente"
|
||
},
|
||
"type" : "RemoteDownloadProgress",
|
||
"id" : 163
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS RemoteIndexUpdated
|
||
.sp
|
||
Generated each time new index information is received from a device.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 44,
|
||
"globalID": 44,
|
||
"type": "RemoteIndexUpdated",
|
||
"time": "2014\-07\-13T21:04:35.394184435+02:00",
|
||
"data": {
|
||
"device": "NFGKEKE\-7Z6RTH7\-I3PRZXS\-DEJF3UJ\-FRWJBFO\-VBBTDND\-4SGNGVZ\-QUQHJAG",
|
||
"folder": "lightroom",
|
||
"items": 1000
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS Starting
|
||
.sp
|
||
Emitted exactly once, when Syncthing starts, before parsing
|
||
configuration etc.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 1,
|
||
"globalID": 1,
|
||
"type": "Starting",
|
||
"time": "2014\-07\-17T13:13:32.044470055+02:00",
|
||
"data": {
|
||
"home": "/home/jb/.config/syncthing"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS StartupComplete
|
||
.sp
|
||
Emitted exactly once, when initialization is complete and Syncthing is
|
||
ready to start exchanging data with other devices.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 1,
|
||
"globalID": 1,
|
||
"type": "StartupComplete",
|
||
"time": "2014\-07\-13T21:03:18.383239179+02:00",
|
||
"data": null
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS StateChanged
|
||
.sp
|
||
Emitted when a folder changes state. Possible states are \fBidle\fP,
|
||
\fBscanning\fP, \fBsyncing\fP and \fBerror\fP\&. The field \fBduration\fP is
|
||
the number of seconds the folder spent in state \fBfrom\fP\&. In the example
|
||
below, the folder \fBdefault\fP was in state \fBscanning\fP for 0.198
|
||
seconds and is now in state \fBidle\fP\&.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
{
|
||
"id": 8,
|
||
"globalID": 8,
|
||
"type": "StateChanged",
|
||
"time": "2014\-07\-17T13:14:28.697493016+02:00",
|
||
"data": {
|
||
"folder": "default",
|
||
"from": "scanning",
|
||
"duration": 0.19782869900000002,
|
||
"to": "idle"
|
||
}
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SH AUTHOR
|
||
The Syncthing Authors
|
||
.SH COPYRIGHT
|
||
2014-2019, The Syncthing Authors
|
||
.\" Generated by docutils manpage writer.
|
||
.
|