1SYNCTHING-EVENT-API(7) Syncthing SYNCTHING-EVENT-API(7)
2
3
4
6 syncthing-event-api - Event API
7
9 Syncthing provides a simple long polling interface for exposing events
10 from the core utility towards a GUI. To receive events, see GET
11 /rest/events.
12
14 Each event is represented by an object similar to the following:
15
16 {
17 "id": 2,
18 "globalID": 3,
19 "type": "DeviceConnected",
20 "time": "2014-07-13T21:04:33.687836696+02:00",
21 "data": {
22 "addr": "172.16.32.25:22000",
23 "id": "NFGKEKE-7Z6RTH7-I3PRZXS-DEJF3UJ-FRWJBFO-VBBTDND-4SGNGVZ-QUQHJAG"
24 }
25 }
26
27 The top level keys id, globalID, time, type and data are always
28 present, though data may be null.
29
30 id A unique ID for this event on the events API. It always in‐
31 creases by 1: the first event generated has id 1, the next has
32 id 2 etc. If this increases by more than 1, then one or more
33 events have been skipped by the events API.
34
35 globalID
36 A global ID for this event, across the events API, the audit
37 log, and any other sources. It may increase by more than 1, but
38 it will always be greater than or equal to the id.
39
40 time The time the event was generated.
41
42 type Indicates the type of (i.e. reason for) the event and is one of
43 the event types below.
44
45 data An object containing optional extra information; the exact
46 structure is determined by the event type.
47
49 ClusterConfigReceived
50 New in version 1.20.0.
51
52
53 The ClusterConfigReceived event is emitted after processing such a pro‐
54 tocol message received from a remote device. It is mainly used for in‐
55 ternal purposes.
56
57 {
58 "id": 84,
59 "globalID": 84,
60 "type": "ClusterConfigReceived",
61 "time": "2022-04-27T14:14:27.043576583+09:00",
62 "data": {
63 "device": "I6KAH76-66SLLLB-5PFXSOA-UFJCDZC-YAOMLEK-CP2GB32-BV5RQST-3PSROAU"
64 }
65 }
66
67 ConfigSaved
68 Emitted after the config has been saved by the user or by Syncthing it‐
69 self.
70
71 {
72 "id": 50,
73 "globalID": 50,
74 "type": "ConfigSaved",
75 "time": "2014-12-13T00:09:13.5166486Z",
76 "data": {
77 "version": 7,
78 "folders": [{"..."}],
79 "devices": [{"..."}],
80 "gui": {"..."},
81 "ldap": {"..."},
82 "options": {"..."},
83 "remoteIgnoredDevices": [{"..."}],
84 "defaults": {"..."}
85 }
86 }
87
88 DeviceConnected
89 Generated each time a connection to a device has been established.
90
91 {
92 "id": 2,
93 "globalID": 2,
94 "type": "DeviceConnected",
95 "time": "2014-07-13T21:04:33.687836696+02:00",
96 "data": {
97 "addr": "172.16.32.25:22000",
98 "id": "NFGKEKE-7Z6RTH7-I3PRZXS-DEJF3UJ-FRWJBFO-VBBTDND-4SGNGVZ-QUQHJAG",
99 "deviceName": "Laptop",
100 "clientName": "syncthing",
101 "clientVersion": "v0.13.4",
102 "type": "TCP (Client)"
103 }
104 }
105
106 DeviceDisconnected
107 Generated each time a connection to a device has been terminated.
108
109 {
110 "id": 48,
111 "globalID": 48,
112 "type": "DeviceDisconnected",
113 "time": "2014-07-13T21:18:52.859929215+02:00",
114 "data": {
115 "error": "unexpected EOF",
116 "id": "NFGKEKE-7Z6RTH7-I3PRZXS-DEJF3UJ-FRWJBFO-VBBTDND-4SGNGVZ-QUQHJAG"
117 }
118 }
119
120 NOTE:
121 The error key contains the cause for disconnection, which might not
122 necessarily be an error as such. Specifically, “EOF” and “unexpected
123 EOF” both signify TCP connection termination, either due to the
124 other device restarting or going offline or due to a network change.
125
126 DeviceDiscovered
127 Emitted when a new device is discovered using local discovery.
128
129 {
130 "id": 13,
131 "globalID": 13,
132 "type": "DeviceDiscovered",
133 "time": "2014-07-17T13:28:05.043465207+02:00",
134 "data": {
135 "addrs": [
136 "172.16.32.25:22000"
137 ],
138 "device": "NFGKEKE-7Z6RTH7-I3PRZXS-DEJF3UJ-FRWJBFO-VBBTDND-4SGNGVZ-QUQHJAG"
139 }
140 }
141
142 DevicePaused
143 Emitted when a device was paused.
144
145 {
146 "id": 13,
147 "globalID": 13,
148 "type": "DevicePaused",
149 "time": "2014-07-17T13:28:05.043465207+02:00",
150 "data": {
151 "device": "NFGKEKE-7Z6RTH7-I3PRZXS-DEJF3UJ-FRWJBFO-VBBTDND-4SGNGVZ-QUQHJAG"
152 }
153 }
154
155 DeviceRejected (DEPRECATED)
156 Deprecated since version v1.13.0: This event is still emitted for com‐
157 patibility, but deprecated. Use the replacement PendingDevicesChanged
158 event instead.
159
160
161 Emitted when there is a connection from a device we are not configured
162 to talk to.
163
164 {
165 "id": 24,
166 "globalID": 24,
167 "type": "DeviceRejected",
168 "time": "2014-08-19T10:43:00.562821045+02:00",
169 "data": {
170 "address": "127.0.0.1:51807",
171 "name": "My dusty computer",
172 "device": "EJHMPAQ-OGCVORE-ISB4IS3-SYYVJXF-TKJGLTU-66DIQPF-GJ5D2GX-GQ3OWQK"
173 }
174 }
175
176 DeviceResumed
177 Generated each time a device was resumed.
178
179 {
180 "id": 2,
181 "globalID": 2,
182 "type": "DeviceResumed",
183 "time": "2014-07-13T21:04:33.687836696+02:00",
184 "data": {
185 "device": "NFGKEKE-7Z6RTH7-I3PRZXS-DEJF3UJ-FRWJBFO-VBBTDND-4SGNGVZ-QUQHJAG"
186 }
187 }
188
189 DownloadProgress
190 Emitted during file downloads for each folder for each file. By default
191 only a single file in a folder is handled at the same time, but custom
192 configuration can cause multiple files to be shown.
193
194 {
195 "id": 221,
196 "globalID": 221,
197 "type": "DownloadProgress",
198 "time": "2014-12-13T00:26:12.9876937Z",
199 "data": {
200 "folder1": {
201 "file1": {
202 "total": 800,
203 "pulling": 2,
204 "copiedFromOrigin": 0,
205 "reused": 633,
206 "copiedFromElsewhere": 0,
207 "pulled": 38,
208 "bytesTotal": 104792064,
209 "bytesDone": 87883776
210 },
211 "dir\\file2": {
212 "total": 80,
213 "pulling": 2,
214 "copiedFromOrigin": 0,
215 "reused": 0,
216 "copiedFromElsewhere": 0,
217 "pulled": 32,
218 "bytesTotal": 10420224,
219 "bytesDone": 4128768
220 }
221 },
222 "folder2": {
223 "file3": {
224 "total": 800,
225 "pulling": 2,
226 "copiedFromOrigin": 0,
227 "reused": 633,
228 "copiedFromElsewhere": 0,
229 "pulled": 38,
230 "bytesTotal": 104792064,
231 "bytesDone": 87883776
232 },
233 "dir\\file4": {
234 "total": 80,
235 "pulling": 2,
236 "copiedFromOrigin": 0,
237 "reused": 0,
238 "copiedFromElsewhere": 0,
239 "pulled": 32,
240 "bytesTotal": 10420224,
241 "bytesDone": 4128768
242 }
243 }
244 }
245 }
246
247 • total - total number of blocks in the file
248
249 • pulling - number of blocks currently being downloaded
250
251 • copiedFromOrigin - number of blocks copied from the file we are about
252 to replace
253
254 • reused - number of blocks reused from a previous temporary file
255
256 • copiedFromElsewhere - number of blocks copied from other files or po‐
257 tentially other folders
258
259 • pulled - number of blocks actually downloaded so far
260
261 • bytesTotal - approximate total file size
262
263 • bytesDone - approximate number of bytes already handled (already
264 reused, copied or pulled)
265
266 Where block size is 128KB.
267
268 Files/folders appearing in the event data imply that the download has
269 been started for that file/folder, where disappearing implies that the
270 downloads have been finished or failed for that file/folder. There is
271 always a last event emitted with no data, which implies all downloads
272 have finished/failed.
273
274 Failure
275 Generated for specific errors that will also be sent to the usage re‐
276 porting server, if enabled in the configuration. These are usually of
277 special interest to the developers to troubleshoot complex errors. The
278 data field contains a textual error message.
279
280 {
281 "id": 93,
282 "globalID": 93,
283 "type": "Failure",
284 "time": "2021-06-07T21:22:03.414609034+02:00",
285 "data": "index handler got paused while already paused"
286 }
287
288 FolderCompletion
289 The FolderCompletion event is emitted when the local or remote contents
290 for a folder changes. It contains the completion percentage for a given
291 remote device and is emitted once per currently connected remote de‐
292 vice.
293
294 New in version 1.20.0: Indication whether the remote device has ac‐
295 cepted the folder (shares it with us) as well, and whether it is
296 paused. The remoteState field is unknown when the remote device is not
297 connected. Otherwise it can be either paused, notSharing, or valid if
298 the remote is sharing back.
299
300
301 {
302 "id": 84,
303 "globalID": 84,
304 "type": "FolderCompletion",
305 "time": "2022-04-27T14:14:27.043576583+09:00",
306 "data": {
307 "completion": 100,
308 "device": "I6KAH76-66SLLLB-5PFXSOA-UFJCDZC-YAOMLEK-CP2GB32-BV5RQST-3PSROAU",
309 "folder": "default",
310 "globalBytes": 17,
311 "globalItems": 4,
312 "needBytes": 0,
313 "needDeletes": 0,
314 "needItems": 0,
315 "remoteState": "valid",
316 "sequence": 12
317 }
318 }
319
320 FolderErrors
321 The FolderErrors event is emitted when a folder cannot be successfully
322 synchronized. The event contains the ID of the affected folder and a
323 list of errors for files or directories therein. This list of errors is
324 obsolete once the folder changes state to syncing - if errors remain
325 after the next synchronization attempt, a new FolderErrors event is
326 emitted.
327
328 {
329 "id": 132,
330 "type": "FolderErrors",
331 "time": "2015-06-26T13:39:24.697401384+02:00",
332 "data": {
333 "errors": [
334 {
335 "error": "open /Users/jb/src/github.com/syncthing/syncthing/test/s2/h2j/.syncthing.aslkjd.tmp: permission denied",
336 "path": "h2j/aslkjd"
337 }
338 ],
339 "folder": "default"
340 }
341 }
342
343 New in version 0.11.12.
344
345
346 SEE ALSO:
347 The StateChanged event.
348
349 FolderPaused
350 Generated when the configuration changes regarding the “paused” state
351 of a folder. Sent repeatedly for each changed folder.
352
353 {
354 "id": 93,
355 "globalID": 93,
356 "type": "FolderPaused",
357 "time": "2021-06-07T23:45:03.414609034+02:00",
358 "data": {
359 "id": "abcde-fghij",
360 "label": "My folder"
361 }
362 }
363
364 FolderRejected (DEPRECATED)
365 Deprecated since version v1.13.0: This event is still emitted for com‐
366 patibility, but deprecated. Use the replacement PendingFoldersChanged
367 event instead.
368
369
370 Emitted when a device sends index information for a folder we do not
371 have, or have but do not share with the device in question.
372
373 {
374 "id": 27,
375 "globalID": 27,
376 "type": "FolderRejected",
377 "time": "2014-08-19T10:41:06.761751399+02:00",
378 "data": {
379 "device": "EJHMPAQ-OGCVORE-ISB4IS3-SYYVJXF-TKJGLTU-66DIQPF-GJ5D2GX-GQ3OWQK",
380 "folder": "GXWxf-3zgnU",
381 "folderLabel": "My Pictures"
382 }
383 }
384
385 FolderResumed
386 Generated when the configuration changes regarding the “paused” state
387 of a folder. Sent repeatedly for each changed folder.
388
389 {
390 "id": 93,
391 "globalID": 93,
392 "type": "FolderResumed",
393 "time": "2021-06-07T23:45:03.414609034+02:00",
394 "data": {
395 "id": "abcde-fghij",
396 "label": "My folder"
397 }
398 }
399
400 FolderScanProgress
401 Emitted in regular intervals (folder setting ProgressIntervalS, 2s by
402 default) during scans giving the amount of bytes already scanned and to
403 be scanned in total , as well as the current scanning rates in bytes
404 per second.
405
406 {
407 "data" : {
408 "total" : 1,
409 "rate" : 0,
410 "current" : 0,
411 "folder" : "bd7q3-zskm5"
412 },
413 "globalID" : 29,
414 "type" : "FolderScanProgress",
415 "time" : "2017-03-06T15:00:58.072004209+01:00",
416 "id" : 29
417 }
418
419 FolderSummary
420 The FolderSummary event is emitted when folder contents have changed
421 locally. This can be used to calculate the current local completion
422 state.
423
424 {
425 "id": 16,
426 "globalID": 16,
427 "type": "FolderSummary",
428 "time": "2015-04-17T14:12:20.460121585+09:00",
429 "data": {
430 "folder": "default",
431 "summary": {
432 "globalBytes": 0,
433 "globalDeleted": 0,
434 "globalFiles": 0,
435 "ignorePatterns": false,
436 "inSyncBytes": 0,
437 "inSyncFiles": 0,
438 "invalid": "",
439 "localBytes": 0,
440 "localDeleted": 0,
441 "localFiles": 0,
442 "needBytes": 0,
443 "needFiles": 0,
444 "state": "idle",
445 "stateChanged": "2015-04-17T14:12:12.455224687+09:00",
446 "version": 0
447 }
448 }
449 }
450
451 FolderWatchStateChanged
452 The FolderWatchStateChanged event is emitted when a folder’s watcher
453 routine encounters a new error, or when a previous error disappeared
454 after retrying. The event contains the ID of the affected folder and
455 textual error messages describing the previous (from) and the updated
456 (to) error conditions. If there was no error in either of these, the
457 respective field is omitted.
458
459 {
460 "id": 123,
461 "type": "FolderWatchStateChanged",
462 "time": "2022-03-14T12:34:56.890000000+01:00",
463 "data": {
464 "folder": "default",
465 "from": "Something bad happened.",
466 "to": "Something worse happened."
467 }
468 }
469
470 ItemFinished
471 Generated when Syncthing ends synchronizing a file to a newer version.
472 A successful operation:
473
474 {
475 "id": 93,
476 "globalID": 93,
477 "type": "ItemFinished",
478 "time": "2014-07-13T21:22:03.414609034+02:00",
479 "data": {
480 "item": "test.txt",
481 "folder": "default",
482 "error": null,
483 "type": "file",
484 "action": "update"
485 }
486 }
487
488 An unsuccessful operation:
489
490 {
491 "id": 44,
492 "globalID": 44,
493 "type": "ItemFinished",
494 "time": "2015-05-27T11:21:05.711133004+02:00",
495 "data": {
496 "action": "update",
497 "error": "open /Users/jb/src/github.com/syncthing/syncthing/test/s2/foo/.syncthing.hej.tmp: permission denied",
498 "folder": "default",
499 "item": "foo/hej",
500 "type": "file"
501 }
502 }
503
504 The action field is either update (contents changed), metadata (file
505 metadata changed but not contents), or delete.
506
507 New in version 0.11.10: The metadata action.
508
509
510 ItemStarted
511 Generated when Syncthing begins synchronizing a file to a newer ver‐
512 sion.
513
514 {
515 "id": 93,
516 "globalID": 93,
517 "type": "ItemStarted",
518 "time": "2014-07-13T21:22:03.414609034+02:00",
519 "data": {
520 "item": "test.txt",
521 "folder": "default",
522 "type": "file",
523 "action": "update"
524 }
525 }
526
527 The action field is either update (contents changed), metadata (file
528 metadata changed but not contents), or delete.
529
530 New in version 0.11.10: The metadata action.
531
532
533 ListenAddressesChanged
534 This event is emitted when a listen address changes.
535
536 {
537 "type" : "ListenAddressesChanged",
538 "id" : 70,
539 "time" : "2017-03-06T15:01:24.88340663+01:00",
540 "globalID" : 70,
541 "data" : {
542 "address" : {
543 "Fragment" : "",
544 "RawQuery" : "",
545 "Scheme" : "dynamic+https",
546 "Path" : "/endpoint",
547 "RawPath" : "",
548 "User" : null,
549 "ForceQuery" : false,
550 "Host" : "relays.syncthing.net",
551 "Opaque" : ""
552 },
553 "wan" : [
554 {
555 "ForceQuery" : false,
556 "User" : null,
557 "Host" : "31.15.66.212:443",
558 "Opaque" : "",
559 "Path" : "/",
560 "RawPath" : "",
561 "RawQuery" : "id=F4HSJVO-CP2C3IL-YLQYLSU-XTYODAG-PPU4LGV-PH3MU4N-G6K56DV-IPN47A&pingInterval=1m0s&networkTimeout=2m0s&sessionLimitBps=0&globalLimitBps=0&statusAddr=:22070&providedBy=",
562 "Scheme" : "relay",
563 "Fragment" : ""
564 }
565 ],
566 "lan" : [
567 {
568 "RawQuery" : "id=F4HSJVO-CP2C3IL-YLQYLSU-XTYODAG-PPU4LGV-PH3MU4N-G6K56DV-IPN47A&pingInterval=1m0s&networkTimeout=2m0s&sessionLimitBps=0&globalLimitBps=0&statusAddr=:22070&providedBy=",
569 "Scheme" : "relay",
570 "Fragment" : "",
571 "RawPath" : "",
572 "Path" : "/",
573 "Host" : "31.15.66.212:443",
574 "Opaque" : "",
575 "ForceQuery" : false,
576 "User" : null
577 }
578 ]
579 }
580 }
581
582 LocalChangeDetected
583 Generated upon scan whenever the local disk has discovered an updated
584 file from the previous scan. This does not include events that are
585 discovered and copied from other devices (RemoteChangeDetected), only
586 files that were changed on the local filesystem.
587
588 NOTE:
589 This event is not included in GET /rest/events endpoint without a
590 mask specified, but needs to be selected explicitly.
591
592 {
593 "id": 7,
594 "globalID": 59,
595 "time": "2016-09-26T22:07:10.7189141-04:00",
596 "type": "LocalChangeDetected",
597 "data": {
598 "action": "deleted",
599 "folder": "vitwy-zjxqt",
600 "folderID": "vitwy-zjxqt",
601 "label": "TestSync",
602 "path": "test file.rtf",
603 "type": "file"
604 }
605 }
606
607 Deprecated since version v1.1.2: The folderID field is a legacy name
608 kept only for compatibility. Use the folder field with identical con‐
609 tent instead.
610
611
612 LocalIndexUpdated
613 Generated when the local index information has changed, due to synchro‐
614 nizing one or more items from the cluster or discovering local changes
615 during a scan.
616
617 {
618 "id": 59,
619 "globalID": 59,
620 "type": "LocalIndexUpdated",
621 "time": "2014-07-17T13:27:28.051369434+02:00",
622 "data": {
623 "folder": "default",
624 "items": 1000,
625 "filenames": [
626 "foo",
627 "bar",
628 "baz"
629 ],
630 "sequence": 12345,
631 "version": 12345
632 }
633 }
634
635 Deprecated since version v1.10.0: The version field is a legacy name
636 kept only for compatibility. Use the sequence field with identical
637 content instead.
638
639
640 LoginAttempt
641 When authentication is enabled for the GUI, this event is emitted on
642 every login attempt. If either the username or password are incorrect,
643 success is false and in any case the given username is returned. The
644 included remote address concerns the immediate connecting host, which
645 may not be the origin of the request, but e.g. a reverse proxy.
646
647 {
648 "id" : 187,
649 "time" : "2017-03-07T00:19:24.420386143+01:00",
650 "data" : {
651 "remoteAddress" : "127.0.0.1:55530",
652 "username" : "somename",
653 "success" : false
654 },
655 "type" : "LoginAttempt",
656 "globalID" : 195
657 }
658
659 PendingDevicesChanged
660 New in version 1.14.0.
661
662
663 Emitted when pending devices were added / updated (connection from un‐
664 known ID) or removed (device is ignored, dismissed or added).
665
666 {
667 "id": 87,
668 "type": "PendingDevicesChanged",
669 "time": "2020-12-22T22:24:37.578586718+01:00",
670 "data": {
671 "added": [
672 {
673 "address": "127.0.0.1:51807",
674 "deviceID": "EJHMPAQ-OGCVORE-ISB4IS3-SYYVJXF-TKJGLTU-66DIQPF-GJ5D2GX-GQ3OWQK",
675 "name": "My dusty computer"
676 }
677 ],
678 "removed": [
679 {
680 "deviceID": "P56IOI7-MZJNU2Y-IQGDREY-DM2MGTI-MGL3BXN-PQ6W5BM-TBBZ4TJ-XZWICQ2"
681 }
682 ]
683 }
684 }
685
686 PendingFoldersChanged
687 New in version 1.14.0.
688
689
690 Emitted when pending folders were added / updated (offered by some de‐
691 vice, but not shared to them) or removed (folder ignored, dismissed or
692 added or no longer offered from the remote device). A removed entry
693 without a deviceID attribute means that the folder is no longer pending
694 for any device.
695
696 {
697 "id": 101,
698 "type": "PendingFoldersChanged",
699 "time": "2020-12-22T22:36:55.66744317+01:00",
700 "data": {
701 "added": [
702 {
703 "deviceID": "EJHMPAQ-OGCVORE-ISB4IS3-SYYVJXF-TKJGLTU-66DIQPF-GJ5D2GX-GQ3OWQK",
704 "folderID": "GXWxf-3zgnU",
705 "folderLabel": "My Pictures"
706 "receiveEncrypted": "false"
707 "remoteEncrypted": "false"
708 }
709 ],
710 "removed": [
711 {
712 "deviceID": "P56IOI7-MZJNU2Y-IQGDREY-DM2MGTI-MGL3BXN-PQ6W5BM-TBBZ4TJ-XZWICQ2",
713 "folderID": "neyfh-sa2nu"
714 },
715 {
716 "folderID": "abcde-fghij"
717 }
718 ]
719 }
720 }
721
722 RemoteChangeDetected
723 Generated upon scan whenever a file is locally updated due to a remote
724 change. Files that are updated locally produce a LocalChangeDetected
725 event.
726
727 NOTE:
728 This event is not included in GET /rest/events endpoint without a
729 mask specified, but needs to be selected explicitly.
730
731 {
732 "time" : "2017-03-06T23:58:21.844739891+01:00",
733 "globalID" : 123,
734 "data" : {
735 "type" : "file",
736 "action" : "deleted",
737 "folder": "Dokumente",
738 "folderID" : "Dokumente",
739 "path" : "testfile",
740 "label" : "Dokumente",
741 "modifiedBy" : "BPDFDTU"
742 },
743 "type" : "RemoteChangeDetected",
744 "id" : 2
745 }
746
747 Deprecated since version v1.1.2: The folderID field is a legacy name
748 kept only for compatibility. Use the folder field with identical con‐
749 tent instead.
750
751
752 RemoteDownloadProgress
753 This event is emitted when a DownloadProgress message is received. It
754 returns a map data of filenames with a count of downloaded blocks. The
755 files in questions are currently being downloaded on the remote device
756 and belong to folder.
757
758 {
759 "time" : "2017-03-07T00:11:37.65838955+01:00",
760 "globalID" : 170,
761 "data" : {
762 "state" : {
763 "tahr64-6.0.5.iso" : 1784
764 },
765 "device" : "F4HSJVO-CP2C3IL-YLQYLSU-XTYODAG-PPU4LGV-PH3MU4N-G6K56DV-IPN47A",
766 "folder" : "Dokumente"
767 },
768 "type" : "RemoteDownloadProgress",
769 "id" : 163
770 }
771
772 RemoteIndexUpdated
773 Generated each time new index information is received from a device.
774
775 {
776 "id": 44,
777 "globalID": 44,
778 "type": "RemoteIndexUpdated",
779 "time": "2014-07-13T21:04:35.394184435+02:00",
780 "data": {
781 "device": "NFGKEKE-7Z6RTH7-I3PRZXS-DEJF3UJ-FRWJBFO-VBBTDND-4SGNGVZ-QUQHJAG",
782 "folder": "lightroom",
783 "items": 1000
784 }
785 }
786
787 Starting
788 Emitted exactly once, when Syncthing starts, before parsing configura‐
789 tion etc.
790
791 {
792 "id": 1,
793 "globalID": 1,
794 "type": "Starting",
795 "time": "2014-07-17T13:13:32.044470055+02:00",
796 "data": {
797 "home": "/home/jb/.config/syncthing"
798 }
799 }
800
801 StartupComplete
802 Emitted exactly once, when initialization is complete and Syncthing is
803 ready to start exchanging data with other devices.
804
805 {
806 "id": 1,
807 "globalID": 1,
808 "type": "StartupComplete",
809 "time": "2014-07-13T21:03:18.383239179+02:00",
810 "data": null
811 }
812
813 StateChanged
814 Emitted when a folder changes state. Possible states are idle, scan‐
815 ning, syncing and error. The field duration is the number of seconds
816 the folder spent in state from. In the example below, the folder de‐
817 fault was in state scanning for 0.198 seconds and is now in state idle.
818
819 {
820 "id": 8,
821 "globalID": 8,
822 "type": "StateChanged",
823 "time": "2014-07-17T13:14:28.697493016+02:00",
824 "data": {
825 "folder": "default",
826 "from": "scanning",
827 "duration": 0.19782869900000002,
828 "to": "idle"
829 }
830 }
831
833 The Syncthing Authors
834
836 2014-2019, The Syncthing Authors
837
838
839
840
841v1.25.0 Oct 05, 2023 SYNCTHING-EVENT-API(7)