1{
2  "protocol": "remote",
3  "imports": [
4    {
5      "path": "../gregor1",
6      "type": "idl",
7      "import_as": "gregor1"
8    },
9    {
10      "path": "../keybase1",
11      "type": "idl",
12      "import_as": "keybase1"
13    }
14  ],
15  "types": [
16    {
17      "type": "record",
18      "name": "MessageBoxed",
19      "fields": [
20        {
21          "type": "MessageBoxedVersion",
22          "name": "version"
23        },
24        {
25          "type": [
26            null,
27            "MessageServerHeader"
28          ],
29          "name": "serverHeader"
30        },
31        {
32          "type": "MessageClientHeader",
33          "name": "clientHeader"
34        },
35        {
36          "type": "SealedData",
37          "name": "headerCiphertext"
38        },
39        {
40          "type": "EncryptedData",
41          "name": "bodyCiphertext"
42        },
43        {
44          "type": "bytes",
45          "name": "verifyKey"
46        },
47        {
48          "type": "int",
49          "name": "keyGeneration"
50        }
51      ]
52    },
53    {
54      "type": "enum",
55      "name": "MessageBoxedVersion",
56      "symbols": [
57        "VNONE_0",
58        "V1_1",
59        "V2_2",
60        "V3_3",
61        "V4_4"
62      ]
63    },
64    {
65      "type": "record",
66      "name": "ThreadViewBoxed",
67      "fields": [
68        {
69          "type": {
70            "type": "array",
71            "items": "MessageBoxed"
72          },
73          "name": "messages"
74        },
75        {
76          "type": [
77            null,
78            "Pagination"
79          ],
80          "name": "pagination"
81        }
82      ]
83    },
84    {
85      "type": "record",
86      "name": "GetInboxRemoteRes",
87      "fields": [
88        {
89          "type": "InboxView",
90          "name": "inbox"
91        },
92        {
93          "type": [
94            null,
95            "RateLimit"
96          ],
97          "name": "rateLimit"
98        }
99      ]
100    },
101    {
102      "type": "record",
103      "name": "GetInboxByTLFIDRemoteRes",
104      "fields": [
105        {
106          "type": {
107            "type": "array",
108            "items": "Conversation"
109          },
110          "name": "convs"
111        },
112        {
113          "type": [
114            null,
115            "RateLimit"
116          ],
117          "name": "rateLimit"
118        }
119      ]
120    },
121    {
122      "type": "record",
123      "name": "GetThreadRemoteRes",
124      "fields": [
125        {
126          "type": "ThreadViewBoxed",
127          "name": "thread"
128        },
129        {
130          "type": "ConversationMembersType",
131          "name": "membersType"
132        },
133        {
134          "type": "keybase1.TLFVisibility",
135          "name": "visibility"
136        },
137        {
138          "type": [
139            null,
140            "RateLimit"
141          ],
142          "name": "rateLimit"
143        }
144      ]
145    },
146    {
147      "type": "record",
148      "name": "GetConversationMetadataRemoteRes",
149      "fields": [
150        {
151          "type": "Conversation",
152          "name": "conv"
153        },
154        {
155          "type": [
156            null,
157            "RateLimit"
158          ],
159          "name": "rateLimit"
160        }
161      ]
162    },
163    {
164      "type": "record",
165      "name": "PostRemoteRes",
166      "fields": [
167        {
168          "type": "MessageServerHeader",
169          "name": "msgHeader"
170        },
171        {
172          "type": [
173            null,
174            "RateLimit"
175          ],
176          "name": "rateLimit"
177        }
178      ]
179    },
180    {
181      "type": "record",
182      "name": "NewConversationRemoteRes",
183      "fields": [
184        {
185          "type": "ConversationID",
186          "name": "convID"
187        },
188        {
189          "type": "boolean",
190          "name": "createdComplexTeam"
191        },
192        {
193          "type": [
194            null,
195            "RateLimit"
196          ],
197          "name": "rateLimit"
198        }
199      ]
200    },
201    {
202      "type": "record",
203      "name": "GetMessagesRemoteRes",
204      "fields": [
205        {
206          "type": {
207            "type": "array",
208            "items": "MessageBoxed"
209          },
210          "name": "msgs"
211        },
212        {
213          "type": "ConversationMembersType",
214          "name": "membersType"
215        },
216        {
217          "type": "keybase1.TLFVisibility",
218          "name": "visibility"
219        },
220        {
221          "type": [
222            null,
223            "RateLimit"
224          ],
225          "name": "rateLimit"
226        }
227      ]
228    },
229    {
230      "type": "record",
231      "name": "MarkAsReadRes",
232      "fields": [
233        {
234          "type": [
235            null,
236            "RateLimit"
237          ],
238          "name": "rateLimit"
239        }
240      ]
241    },
242    {
243      "type": "record",
244      "name": "SetConversationStatusRes",
245      "fields": [
246        {
247          "type": [
248            null,
249            "RateLimit"
250          ],
251          "name": "rateLimit"
252        }
253      ]
254    },
255    {
256      "type": "record",
257      "name": "GetPublicConversationsRes",
258      "fields": [
259        {
260          "type": {
261            "type": "array",
262            "items": "Conversation"
263          },
264          "name": "conversations"
265        },
266        {
267          "type": [
268            null,
269            "RateLimit"
270          ],
271          "name": "rateLimit"
272        }
273      ]
274    },
275    {
276      "type": "record",
277      "name": "GetUnreadlineRemoteRes",
278      "fields": [
279        {
280          "type": [
281            null,
282            "MessageID"
283          ],
284          "name": "unreadlineID"
285        },
286        {
287          "type": [
288            null,
289            "RateLimit"
290          ],
291          "name": "rateLimit"
292        }
293      ]
294    },
295    {
296      "type": "enum",
297      "name": "ChannelMention",
298      "symbols": [
299        "NONE_0",
300        "ALL_1",
301        "HERE_2"
302      ]
303    },
304    {
305      "type": "record",
306      "name": "UnreadUpdateFull",
307      "fields": [
308        {
309          "type": "boolean",
310          "name": "ignore"
311        },
312        {
313          "type": "InboxVers",
314          "name": "inboxVers"
315        },
316        {
317          "type": "SyncInboxResType",
318          "name": "inboxSyncStatus"
319        },
320        {
321          "type": {
322            "type": "array",
323            "items": "UnreadUpdate"
324          },
325          "name": "updates"
326        }
327      ]
328    },
329    {
330      "type": "record",
331      "name": "S3Params",
332      "fields": [
333        {
334          "type": "string",
335          "name": "bucket"
336        },
337        {
338          "type": "string",
339          "name": "objectKey"
340        },
341        {
342          "type": "string",
343          "name": "accessKey"
344        },
345        {
346          "type": "string",
347          "name": "acl"
348        },
349        {
350          "type": "string",
351          "name": "regionName"
352        },
353        {
354          "type": "string",
355          "name": "regionEndpoint"
356        },
357        {
358          "type": "string",
359          "name": "regionBucketEndpoint"
360        }
361      ]
362    },
363    {
364      "type": "record",
365      "name": "SyncIncrementalRes",
366      "fields": [
367        {
368          "type": "InboxVers",
369          "name": "vers"
370        },
371        {
372          "type": {
373            "type": "array",
374            "items": "Conversation"
375          },
376          "name": "convs"
377        }
378      ]
379    },
380    {
381      "type": "record",
382      "name": "ServerCacheVers",
383      "fields": [
384        {
385          "type": "int",
386          "name": "inboxVers"
387        },
388        {
389          "type": "int",
390          "name": "bodiesVers"
391        }
392      ]
393    },
394    {
395      "type": "variant",
396      "name": "SyncInboxRes",
397      "switch": {
398        "type": "SyncInboxResType",
399        "name": "typ"
400      },
401      "cases": [
402        {
403          "label": {
404            "name": "CURRENT",
405            "def": false
406          },
407          "body": null
408        },
409        {
410          "label": {
411            "name": "INCREMENTAL",
412            "def": false
413          },
414          "body": "SyncIncrementalRes"
415        },
416        {
417          "label": {
418            "name": "CLEAR",
419            "def": false
420          },
421          "body": null
422        }
423      ]
424    },
425    {
426      "type": "record",
427      "name": "SyncChatRes",
428      "fields": [
429        {
430          "type": "ServerCacheVers",
431          "name": "cacheVers"
432        },
433        {
434          "type": "SyncInboxRes",
435          "name": "inboxRes"
436        }
437      ]
438    },
439    {
440      "type": "enum",
441      "name": "SyncAllProtVers",
442      "symbols": [
443        "V0_0",
444        "V1_1"
445      ]
446    },
447    {
448      "type": "enum",
449      "name": "SyncAllNotificationType",
450      "symbols": [
451        "STATE_0",
452        "INCREMENTAL_1"
453      ]
454    },
455    {
456      "type": "variant",
457      "name": "SyncAllNotificationRes",
458      "switch": {
459        "type": "SyncAllNotificationType",
460        "name": "typ"
461      },
462      "cases": [
463        {
464          "label": {
465            "name": "STATE",
466            "def": false
467          },
468          "body": "gregor1.State"
469        },
470        {
471          "label": {
472            "name": "INCREMENTAL",
473            "def": false
474          },
475          "body": "gregor1.SyncResult"
476        }
477      ]
478    },
479    {
480      "type": "record",
481      "name": "SyncAllResult",
482      "fields": [
483        {
484          "type": "gregor1.AuthResult",
485          "name": "auth"
486        },
487        {
488          "type": "SyncChatRes",
489          "name": "chat"
490        },
491        {
492          "type": "SyncAllNotificationRes",
493          "name": "notification"
494        },
495        {
496          "type": "UnreadUpdateFull",
497          "name": "badge"
498        }
499      ]
500    },
501    {
502      "type": "record",
503      "name": "JoinLeaveConversationRemoteRes",
504      "fields": [
505        {
506          "type": [
507            null,
508            "RateLimit"
509          ],
510          "name": "rateLimit"
511        }
512      ]
513    },
514    {
515      "type": "record",
516      "name": "DeleteConversationRemoteRes",
517      "fields": [
518        {
519          "type": [
520            null,
521            "RateLimit"
522          ],
523          "name": "rateLimit"
524        }
525      ]
526    },
527    {
528      "type": "record",
529      "name": "RemoveFromConversationRemoteRes",
530      "fields": [
531        {
532          "type": [
533            null,
534            "RateLimit"
535          ],
536          "name": "rateLimit"
537        }
538      ]
539    },
540    {
541      "type": "record",
542      "name": "GetMessageBeforeRes",
543      "fields": [
544        {
545          "type": "MessageID",
546          "name": "msgID"
547        },
548        {
549          "type": [
550            null,
551            "RateLimit"
552          ],
553          "name": "rateLimit"
554        }
555      ]
556    },
557    {
558      "type": "record",
559      "name": "GetTLFConversationsRes",
560      "fields": [
561        {
562          "type": {
563            "type": "array",
564            "items": "Conversation"
565          },
566          "name": "conversations"
567        },
568        {
569          "type": [
570            null,
571            "RateLimit"
572          ],
573          "name": "rateLimit"
574        }
575      ]
576    },
577    {
578      "type": "record",
579      "name": "SetAppNotificationSettingsRes",
580      "fields": [
581        {
582          "type": [
583            null,
584            "RateLimit"
585          ],
586          "name": "rateLimit"
587        }
588      ]
589    },
590    {
591      "type": "record",
592      "name": "SetRetentionRes",
593      "fields": [
594        {
595          "type": [
596            null,
597            "RateLimit"
598          ],
599          "name": "rateLimit"
600        }
601      ]
602    },
603    {
604      "type": "record",
605      "name": "SetConvMinWriterRoleRes",
606      "fields": [
607        {
608          "type": [
609            null,
610            "RateLimit"
611          ],
612          "name": "rateLimit"
613        }
614      ]
615    },
616    {
617      "type": "record",
618      "name": "SweepRes",
619      "fields": [
620        {
621          "type": "boolean",
622          "name": "foundTask"
623        },
624        {
625          "type": "boolean",
626          "name": "deletedMessages"
627        },
628        {
629          "type": "Expunge",
630          "name": "expunge"
631        }
632      ]
633    },
634    {
635      "type": "record",
636      "name": "ServerNowRes",
637      "fields": [
638        {
639          "type": [
640            null,
641            "RateLimit"
642          ],
643          "name": "rateLimit"
644        },
645        {
646          "type": "gregor1.Time",
647          "name": "now"
648        }
649      ]
650    },
651    {
652      "type": "enum",
653      "name": "ExternalAPIKeyTyp",
654      "symbols": [
655        "GOOGLEMAPS_0",
656        "GIPHY_1"
657      ]
658    },
659    {
660      "type": "variant",
661      "name": "ExternalAPIKey",
662      "switch": {
663        "type": "ExternalAPIKeyTyp",
664        "name": "typ"
665      },
666      "cases": [
667        {
668          "label": {
669            "name": "GOOGLEMAPS",
670            "def": false
671          },
672          "body": "string"
673        },
674        {
675          "label": {
676            "name": "GIPHY",
677            "def": false
678          },
679          "body": "string"
680        }
681      ]
682    },
683    {
684      "type": "record",
685      "name": "BotInfoHashVers",
686      "fields": [],
687      "typedef": "uint64",
688      "lint": "ignore"
689    },
690    {
691      "type": "record",
692      "name": "CommandConvVers",
693      "fields": [],
694      "typedef": "uint64",
695      "lint": "ignore"
696    },
697    {
698      "type": "record",
699      "name": "RemoteBotCommandsAdvertisementPublic",
700      "fields": [
701        {
702          "type": "ConversationID",
703          "name": "convID"
704        }
705      ]
706    },
707    {
708      "type": "record",
709      "name": "RemoteBotCommandsAdvertisementTLFID",
710      "fields": [
711        {
712          "type": "ConversationID",
713          "name": "convID"
714        },
715        {
716          "type": "TLFID",
717          "name": "tlfID"
718        }
719      ]
720    },
721    {
722      "type": "record",
723      "name": "RemoteBotCommandsAdvertisementConv",
724      "fields": [
725        {
726          "type": "ConversationID",
727          "name": "convID"
728        },
729        {
730          "type": "ConversationID",
731          "name": "advertiseConvID"
732        }
733      ]
734    },
735    {
736      "type": "variant",
737      "name": "RemoteBotCommandsAdvertisement",
738      "switch": {
739        "type": "BotCommandsAdvertisementTyp",
740        "name": "typ"
741      },
742      "cases": [
743        {
744          "label": {
745            "name": "PUBLIC",
746            "def": false
747          },
748          "body": "RemoteBotCommandsAdvertisementPublic"
749        },
750        {
751          "label": {
752            "name": "TLFID_MEMBERS",
753            "def": false
754          },
755          "body": "RemoteBotCommandsAdvertisementTLFID"
756        },
757        {
758          "label": {
759            "name": "TLFID_CONVS",
760            "def": false
761          },
762          "body": "RemoteBotCommandsAdvertisementTLFID"
763        },
764        {
765          "label": {
766            "name": "CONV",
767            "def": false
768          },
769          "body": "RemoteBotCommandsAdvertisementConv"
770        }
771      ]
772    },
773    {
774      "type": "record",
775      "name": "BotCommandConv",
776      "fields": [
777        {
778          "type": "gregor1.UID",
779          "name": "uid"
780        },
781        {
782          "type": "keybase1.TeamRole",
783          "name": "untrustedTeamRole"
784        },
785        {
786          "type": "ConversationID",
787          "name": "convID"
788        },
789        {
790          "type": "CommandConvVers",
791          "name": "vers"
792        },
793        {
794          "type": "gregor1.Time",
795          "name": "mtime"
796        },
797        {
798          "type": "BotCommandsAdvertisementTyp",
799          "name": "typ"
800        }
801      ]
802    },
803    {
804      "type": "record",
805      "name": "BotInfo",
806      "fields": [
807        {
808          "type": "BotInfoHashVers",
809          "name": "serverHashVers"
810        },
811        {
812          "type": "BotInfoHashVers",
813          "name": "clientHashVers"
814        },
815        {
816          "type": {
817            "type": "array",
818            "items": "BotCommandConv"
819          },
820          "name": "commandConvs"
821        }
822      ]
823    },
824    {
825      "type": "record",
826      "name": "AdvertiseBotCommandsRes",
827      "fields": [
828        {
829          "type": [
830            null,
831            "RateLimit"
832          ],
833          "name": "rateLimit"
834        }
835      ]
836    },
837    {
838      "type": "record",
839      "name": "RemoteClearBotCommandsFilterPublic",
840      "fields": []
841    },
842    {
843      "type": "record",
844      "name": "RemoteClearBotCommandsFilterTLFID",
845      "fields": [
846        {
847          "type": "TLFID",
848          "name": "tlfID"
849        }
850      ]
851    },
852    {
853      "type": "record",
854      "name": "RemoteClearBotCommandsFilterConv",
855      "fields": [
856        {
857          "type": "ConversationID",
858          "name": "convID"
859        }
860      ]
861    },
862    {
863      "type": "variant",
864      "name": "RemoteClearBotCommandsFilter",
865      "switch": {
866        "type": "BotCommandsAdvertisementTyp",
867        "name": "typ"
868      },
869      "cases": [
870        {
871          "label": {
872            "name": "PUBLIC",
873            "def": false
874          },
875          "body": "RemoteClearBotCommandsFilterPublic"
876        },
877        {
878          "label": {
879            "name": "TLFID_MEMBERS",
880            "def": false
881          },
882          "body": "RemoteClearBotCommandsFilterTLFID"
883        },
884        {
885          "label": {
886            "name": "TLFID_CONVS",
887            "def": false
888          },
889          "body": "RemoteClearBotCommandsFilterTLFID"
890        },
891        {
892          "label": {
893            "name": "CONV",
894            "def": false
895          },
896          "body": "RemoteClearBotCommandsFilterConv"
897        }
898      ]
899    },
900    {
901      "type": "record",
902      "name": "ClearBotCommandsRes",
903      "fields": [
904        {
905          "type": [
906            null,
907            "RateLimit"
908          ],
909          "name": "rateLimit"
910        }
911      ]
912    },
913    {
914      "type": "enum",
915      "name": "BotInfoResponseTyp",
916      "symbols": [
917        "UPTODATE_0",
918        "INFO_1"
919      ]
920    },
921    {
922      "type": "variant",
923      "name": "BotInfoResponse",
924      "switch": {
925        "type": "BotInfoResponseTyp",
926        "name": "typ"
927      },
928      "cases": [
929        {
930          "label": {
931            "name": "UPTODATE",
932            "def": false
933          },
934          "body": null
935        },
936        {
937          "label": {
938            "name": "INFO",
939            "def": false
940          },
941          "body": "BotInfo"
942        }
943      ]
944    },
945    {
946      "type": "record",
947      "name": "GetBotInfoRes",
948      "fields": [
949        {
950          "type": "BotInfoResponse",
951          "name": "response"
952        },
953        {
954          "type": [
955            null,
956            "RateLimit"
957          ],
958          "name": "rateLimit"
959        }
960      ]
961    },
962    {
963      "type": "record",
964      "name": "BotInfoHash",
965      "fields": [],
966      "typedef": "bytes"
967    },
968    {
969      "type": "record",
970      "name": "GetDefaultTeamChannelsRes",
971      "fields": [
972        {
973          "type": {
974            "type": "array",
975            "items": "ConversationID"
976          },
977          "name": "convs"
978        },
979        {
980          "type": [
981            null,
982            "RateLimit"
983          ],
984          "name": "rateLimit"
985        }
986      ]
987    },
988    {
989      "type": "record",
990      "name": "SetDefaultTeamChannelsRes",
991      "fields": [
992        {
993          "type": [
994            null,
995            "RateLimit"
996          ],
997          "name": "rateLimit"
998        }
999      ]
1000    },
1001    {
1002      "type": "record",
1003      "name": "GetRecentJoinsRes",
1004      "fields": [
1005        {
1006          "type": "int",
1007          "name": "numJoins"
1008        },
1009        {
1010          "type": [
1011            null,
1012            "RateLimit"
1013          ],
1014          "name": "rateLimit"
1015        }
1016      ]
1017    },
1018    {
1019      "type": "record",
1020      "name": "RefreshParticipantsRemoteRes",
1021      "fields": [
1022        {
1023          "type": "boolean",
1024          "name": "hashMatch"
1025        },
1026        {
1027          "type": {
1028            "type": "array",
1029            "items": "gregor1.UID"
1030          },
1031          "name": "uids"
1032        },
1033        {
1034          "type": "string",
1035          "name": "hash"
1036        },
1037        {
1038          "type": [
1039            null,
1040            "RateLimit"
1041          ],
1042          "name": "rateLimit"
1043        }
1044      ]
1045    },
1046    {
1047      "type": "record",
1048      "name": "GetLastActiveAtRes",
1049      "fields": [
1050        {
1051          "type": "gregor1.Time",
1052          "name": "lastActiveAt"
1053        },
1054        {
1055          "type": [
1056            null,
1057            "RateLimit"
1058          ],
1059          "name": "rateLimit"
1060        }
1061      ]
1062    },
1063    {
1064      "type": "record",
1065      "name": "ResetConversationMember",
1066      "fields": [
1067        {
1068          "type": "ConversationID",
1069          "name": "convID"
1070        },
1071        {
1072          "type": "gregor1.UID",
1073          "name": "uid"
1074        }
1075      ]
1076    },
1077    {
1078      "type": "record",
1079      "name": "GetResetConversationsRes",
1080      "fields": [
1081        {
1082          "type": {
1083            "type": "array",
1084            "items": "ResetConversationMember"
1085          },
1086          "name": "resetConvs"
1087        },
1088        {
1089          "type": [
1090            null,
1091            "RateLimit"
1092          ],
1093          "name": "rateLimit"
1094        }
1095      ]
1096    }
1097  ],
1098  "messages": {
1099    "getInboxRemote": {
1100      "request": [
1101        {
1102          "name": "vers",
1103          "type": "InboxVers"
1104        },
1105        {
1106          "name": "query",
1107          "type": [
1108            null,
1109            "GetInboxQuery"
1110          ]
1111        },
1112        {
1113          "name": "pagination",
1114          "type": [
1115            null,
1116            "Pagination"
1117          ]
1118        }
1119      ],
1120      "response": "GetInboxRemoteRes",
1121      "timeout_msec": 1200000
1122    },
1123    "getThreadRemote": {
1124      "request": [
1125        {
1126          "name": "conversationID",
1127          "type": "ConversationID"
1128        },
1129        {
1130          "name": "reason",
1131          "type": "GetThreadReason"
1132        },
1133        {
1134          "name": "query",
1135          "type": [
1136            null,
1137            "GetThreadQuery"
1138          ]
1139        },
1140        {
1141          "name": "pagination",
1142          "type": [
1143            null,
1144            "Pagination"
1145          ]
1146        }
1147      ],
1148      "response": "GetThreadRemoteRes"
1149    },
1150    "getUnreadlineRemote": {
1151      "request": [
1152        {
1153          "name": "convID",
1154          "type": "ConversationID"
1155        },
1156        {
1157          "name": "readMsgID",
1158          "type": "MessageID"
1159        }
1160      ],
1161      "response": "GetUnreadlineRemoteRes"
1162    },
1163    "getPublicConversations": {
1164      "request": [
1165        {
1166          "name": "tlfID",
1167          "type": "TLFID"
1168        },
1169        {
1170          "name": "topicType",
1171          "type": "TopicType"
1172        },
1173        {
1174          "name": "summarizeMaxMsgs",
1175          "type": "boolean"
1176        }
1177      ],
1178      "response": "GetPublicConversationsRes"
1179    },
1180    "postRemote": {
1181      "request": [
1182        {
1183          "name": "conversationID",
1184          "type": "ConversationID"
1185        },
1186        {
1187          "name": "messageBoxed",
1188          "type": "MessageBoxed"
1189        },
1190        {
1191          "name": "atMentions",
1192          "type": {
1193            "type": "array",
1194            "items": "gregor1.UID"
1195          }
1196        },
1197        {
1198          "name": "channelMention",
1199          "type": "ChannelMention"
1200        },
1201        {
1202          "name": "topicNameState",
1203          "type": [
1204            null,
1205            "TopicNameState"
1206          ]
1207        },
1208        {
1209          "name": "joinMentionsAs",
1210          "type": [
1211            null,
1212            "ConversationMemberStatus"
1213          ]
1214        }
1215      ],
1216      "response": "PostRemoteRes"
1217    },
1218    "newConversationRemote": {
1219      "request": [
1220        {
1221          "name": "idTriple",
1222          "type": "ConversationIDTriple"
1223        }
1224      ],
1225      "response": "NewConversationRemoteRes"
1226    },
1227    "newConversationRemote2": {
1228      "request": [
1229        {
1230          "name": "idTriple",
1231          "type": "ConversationIDTriple"
1232        },
1233        {
1234          "name": "TLFMessage",
1235          "type": "MessageBoxed"
1236        },
1237        {
1238          "name": "membersType",
1239          "type": "ConversationMembersType"
1240        },
1241        {
1242          "name": "topicNameState",
1243          "type": [
1244            null,
1245            "TopicNameState"
1246          ]
1247        },
1248        {
1249          "name": "memberSourceConv",
1250          "type": [
1251            null,
1252            "ConversationID"
1253          ]
1254        },
1255        {
1256          "name": "retentionPolicy",
1257          "type": [
1258            null,
1259            "RetentionPolicy"
1260          ]
1261        }
1262      ],
1263      "response": "NewConversationRemoteRes",
1264      "lint": "ignore"
1265    },
1266    "getMessagesRemote": {
1267      "request": [
1268        {
1269          "name": "conversationID",
1270          "type": "ConversationID"
1271        },
1272        {
1273          "name": "threadReason",
1274          "type": [
1275            null,
1276            "GetThreadReason"
1277          ]
1278        },
1279        {
1280          "name": "messageIDs",
1281          "type": {
1282            "type": "array",
1283            "items": "MessageID"
1284          }
1285        }
1286      ],
1287      "response": "GetMessagesRemoteRes"
1288    },
1289    "markAsRead": {
1290      "request": [
1291        {
1292          "name": "conversationID",
1293          "type": "ConversationID"
1294        },
1295        {
1296          "name": "msgID",
1297          "type": "MessageID"
1298        }
1299      ],
1300      "response": "MarkAsReadRes"
1301    },
1302    "SetConversationStatus": {
1303      "request": [
1304        {
1305          "name": "conversationID",
1306          "type": "ConversationID"
1307        },
1308        {
1309          "name": "status",
1310          "type": "ConversationStatus"
1311        }
1312      ],
1313      "response": "SetConversationStatusRes",
1314      "lint": "ignore"
1315    },
1316    "GetUnreadUpdateFull": {
1317      "request": [
1318        {
1319          "name": "inboxVers",
1320          "type": "InboxVers"
1321        }
1322      ],
1323      "response": "UnreadUpdateFull",
1324      "lint": "ignore"
1325    },
1326    "getS3Params": {
1327      "request": [
1328        {
1329          "name": "conversationID",
1330          "type": "ConversationID"
1331        }
1332      ],
1333      "response": "S3Params"
1334    },
1335    "s3Sign": {
1336      "request": [
1337        {
1338          "name": "version",
1339          "type": "int"
1340        },
1341        {
1342          "name": "payload",
1343          "type": "bytes"
1344        }
1345      ],
1346      "response": "bytes"
1347    },
1348    "getInboxVersion": {
1349      "request": [
1350        {
1351          "name": "uid",
1352          "type": "gregor1.UID"
1353        }
1354      ],
1355      "response": "InboxVers"
1356    },
1357    "syncInbox": {
1358      "request": [
1359        {
1360          "name": "vers",
1361          "type": "InboxVers"
1362        }
1363      ],
1364      "response": "SyncInboxRes"
1365    },
1366    "syncChat": {
1367      "request": [
1368        {
1369          "name": "vers",
1370          "type": "InboxVers"
1371        },
1372        {
1373          "name": "summarizeMaxMsgs",
1374          "type": "boolean"
1375        },
1376        {
1377          "name": "participantsMode",
1378          "type": "InboxParticipantsMode"
1379        }
1380      ],
1381      "response": "SyncChatRes"
1382    },
1383    "syncAll": {
1384      "request": [
1385        {
1386          "name": "uid",
1387          "type": "gregor1.UID"
1388        },
1389        {
1390          "name": "deviceID",
1391          "type": "gregor1.DeviceID"
1392        },
1393        {
1394          "name": "session",
1395          "type": "gregor1.SessionToken"
1396        },
1397        {
1398          "name": "inboxVers",
1399          "type": "InboxVers"
1400        },
1401        {
1402          "name": "ctime",
1403          "type": "gregor1.Time"
1404        },
1405        {
1406          "name": "fresh",
1407          "type": "boolean"
1408        },
1409        {
1410          "name": "protVers",
1411          "type": "SyncAllProtVers"
1412        },
1413        {
1414          "name": "hostName",
1415          "type": "string"
1416        },
1417        {
1418          "name": "summarizeMaxMsgs",
1419          "type": "boolean"
1420        },
1421        {
1422          "name": "participantsMode",
1423          "type": "InboxParticipantsMode"
1424        }
1425      ],
1426      "response": "SyncAllResult",
1427      "compression_type": "msgpackzip"
1428    },
1429    "tlfFinalize": {
1430      "request": [
1431        {
1432          "name": "tlfID",
1433          "type": "TLFID"
1434        },
1435        {
1436          "name": "resetUser",
1437          "type": "string"
1438        },
1439        {
1440          "name": "resetDate",
1441          "type": "string"
1442        },
1443        {
1444          "name": "resetTimestamp",
1445          "type": "gregor1.Time"
1446        },
1447        {
1448          "name": "resetFull",
1449          "type": "string"
1450        },
1451        {
1452          "name": "resetUID",
1453          "type": [
1454            null,
1455            "keybase1.UID"
1456          ]
1457        }
1458      ],
1459      "response": null
1460    },
1461    "tlfResolve": {
1462      "request": [
1463        {
1464          "name": "tlfID",
1465          "type": "TLFID"
1466        },
1467        {
1468          "name": "resolvedWriters",
1469          "type": {
1470            "type": "array",
1471            "items": "gregor1.UID"
1472          }
1473        },
1474        {
1475          "name": "resolvedReaders",
1476          "type": {
1477            "type": "array",
1478            "items": "gregor1.UID"
1479          }
1480        }
1481      ],
1482      "response": null
1483    },
1484    "updateTypingRemote": {
1485      "request": [
1486        {
1487          "name": "uid",
1488          "type": "gregor1.UID"
1489        },
1490        {
1491          "name": "deviceID",
1492          "type": "gregor1.DeviceID"
1493        },
1494        {
1495          "name": "convID",
1496          "type": "ConversationID"
1497        },
1498        {
1499          "name": "typing",
1500          "type": "boolean"
1501        }
1502      ],
1503      "response": null
1504    },
1505    "joinConversation": {
1506      "request": [
1507        {
1508          "name": "convID",
1509          "type": "ConversationID"
1510        }
1511      ],
1512      "response": "JoinLeaveConversationRemoteRes"
1513    },
1514    "leaveConversation": {
1515      "request": [
1516        {
1517          "name": "convID",
1518          "type": "ConversationID"
1519        }
1520      ],
1521      "response": "JoinLeaveConversationRemoteRes"
1522    },
1523    "previewConversation": {
1524      "request": [
1525        {
1526          "name": "convID",
1527          "type": "ConversationID"
1528        }
1529      ],
1530      "response": "JoinLeaveConversationRemoteRes"
1531    },
1532    "deleteConversation": {
1533      "request": [
1534        {
1535          "name": "convID",
1536          "type": "ConversationID"
1537        }
1538      ],
1539      "response": "DeleteConversationRemoteRes"
1540    },
1541    "removeFromConversation": {
1542      "request": [
1543        {
1544          "name": "convID",
1545          "type": "ConversationID"
1546        },
1547        {
1548          "name": "users",
1549          "type": {
1550            "type": "array",
1551            "items": "gregor1.UID"
1552          }
1553        }
1554      ],
1555      "response": "RemoveFromConversationRemoteRes"
1556    },
1557    "getMessageBefore": {
1558      "request": [
1559        {
1560          "name": "convID",
1561          "type": "ConversationID"
1562        },
1563        {
1564          "name": "age",
1565          "type": "gregor1.DurationSec"
1566        }
1567      ],
1568      "response": "GetMessageBeforeRes"
1569    },
1570    "getTLFConversations": {
1571      "request": [
1572        {
1573          "name": "tlfID",
1574          "type": "TLFID"
1575        },
1576        {
1577          "name": "topicType",
1578          "type": "TopicType"
1579        },
1580        {
1581          "name": "summarizeMaxMsgs",
1582          "type": "boolean"
1583        }
1584      ],
1585      "response": "GetTLFConversationsRes"
1586    },
1587    "setAppNotificationSettings": {
1588      "request": [
1589        {
1590          "name": "convID",
1591          "type": "ConversationID"
1592        },
1593        {
1594          "name": "settings",
1595          "type": "ConversationNotificationInfo"
1596        }
1597      ],
1598      "response": "SetAppNotificationSettingsRes"
1599    },
1600    "setGlobalAppNotificationSettings": {
1601      "request": [
1602        {
1603          "name": "settings",
1604          "type": "GlobalAppNotificationSettings"
1605        }
1606      ],
1607      "response": null
1608    },
1609    "getGlobalAppNotificationSettings": {
1610      "request": [],
1611      "response": "GlobalAppNotificationSettings"
1612    },
1613    "remoteNotificationSuccessful": {
1614      "request": [
1615        {
1616          "name": "authToken",
1617          "type": "gregor1.SessionToken"
1618        },
1619        {
1620          "name": "companionPushIDs",
1621          "type": {
1622            "type": "array",
1623            "items": "string"
1624          }
1625        }
1626      ],
1627      "response": null,
1628      "compression_type": "none"
1629    },
1630    "setConvRetention": {
1631      "request": [
1632        {
1633          "name": "convID",
1634          "type": "ConversationID"
1635        },
1636        {
1637          "name": "policy",
1638          "type": "RetentionPolicy"
1639        },
1640        {
1641          "name": "sweepChannel",
1642          "type": "uint64"
1643        }
1644      ],
1645      "response": "SetRetentionRes"
1646    },
1647    "setTeamRetention": {
1648      "request": [
1649        {
1650          "name": "teamID",
1651          "type": "keybase1.TeamID"
1652        },
1653        {
1654          "name": "policy",
1655          "type": "RetentionPolicy"
1656        },
1657        {
1658          "name": "sweepChannel",
1659          "type": "uint64"
1660        }
1661      ],
1662      "response": "SetRetentionRes"
1663    },
1664    "setConvMinWriterRole": {
1665      "request": [
1666        {
1667          "name": "convID",
1668          "type": "ConversationID"
1669        },
1670        {
1671          "name": "role",
1672          "type": "keybase1.TeamRole"
1673        }
1674      ],
1675      "response": "SetConvMinWriterRoleRes"
1676    },
1677    "retentionSweepConv": {
1678      "request": [
1679        {
1680          "name": "convID",
1681          "type": "ConversationID"
1682        }
1683      ],
1684      "response": "SweepRes"
1685    },
1686    "upgradeKBFSToImpteam": {
1687      "request": [
1688        {
1689          "name": "tlfID",
1690          "type": "TLFID"
1691        },
1692        {
1693          "name": "teamID",
1694          "type": "keybase1.TeamID"
1695        }
1696      ],
1697      "response": null
1698    },
1699    "registerSharePost": {
1700      "request": [
1701        {
1702          "name": "convID",
1703          "type": "ConversationID"
1704        },
1705        {
1706          "name": "deviceID",
1707          "type": "gregor1.DeviceID"
1708        },
1709        {
1710          "name": "outboxID",
1711          "type": "OutboxID"
1712        }
1713      ],
1714      "response": null
1715    },
1716    "failSharePost": {
1717      "request": [
1718        {
1719          "name": "convID",
1720          "type": "ConversationID"
1721        },
1722        {
1723          "name": "deviceID",
1724          "type": "gregor1.DeviceID"
1725        },
1726        {
1727          "name": "outboxID",
1728          "type": "OutboxID"
1729        }
1730      ],
1731      "response": null
1732    },
1733    "broadcastGregorMessageToConv": {
1734      "request": [
1735        {
1736          "name": "convID",
1737          "type": "ConversationID"
1738        },
1739        {
1740          "name": "msg",
1741          "type": "gregor1.Message"
1742        }
1743      ],
1744      "response": null
1745    },
1746    "teamIDOfConv": {
1747      "request": [
1748        {
1749          "name": "convID",
1750          "type": "ConversationID"
1751        }
1752      ],
1753      "response": [
1754        null,
1755        "keybase1.TeamID"
1756      ]
1757    },
1758    "serverNow": {
1759      "request": [],
1760      "response": "ServerNowRes"
1761    },
1762    "getExternalAPIKeys": {
1763      "request": [
1764        {
1765          "name": "typs",
1766          "type": {
1767            "type": "array",
1768            "items": "ExternalAPIKeyTyp"
1769          }
1770        }
1771      ],
1772      "response": {
1773        "type": "array",
1774        "items": "ExternalAPIKey"
1775      }
1776    },
1777    "advertiseBotCommands": {
1778      "request": [
1779        {
1780          "name": "ads",
1781          "type": {
1782            "type": "array",
1783            "items": "RemoteBotCommandsAdvertisement"
1784          }
1785        }
1786      ],
1787      "response": "AdvertiseBotCommandsRes"
1788    },
1789    "clearBotCommands": {
1790      "request": [
1791        {
1792          "name": "filter",
1793          "type": [
1794            null,
1795            "RemoteClearBotCommandsFilter"
1796          ]
1797        }
1798      ],
1799      "response": "ClearBotCommandsRes"
1800    },
1801    "getBotInfo": {
1802      "request": [
1803        {
1804          "name": "convID",
1805          "type": "ConversationID"
1806        },
1807        {
1808          "name": "infoHash",
1809          "type": "BotInfoHash"
1810        },
1811        {
1812          "name": "clientHashVers",
1813          "type": "BotInfoHashVers"
1814        }
1815      ],
1816      "response": "GetBotInfoRes"
1817    },
1818    "getDefaultTeamChannels": {
1819      "request": [
1820        {
1821          "name": "teamID",
1822          "type": "keybase1.TeamID"
1823        }
1824      ],
1825      "response": "GetDefaultTeamChannelsRes"
1826    },
1827    "setDefaultTeamChannels": {
1828      "request": [
1829        {
1830          "name": "teamID",
1831          "type": "keybase1.TeamID"
1832        },
1833        {
1834          "name": "convs",
1835          "type": {
1836            "type": "array",
1837            "items": "ConversationID"
1838          }
1839        }
1840      ],
1841      "response": "SetDefaultTeamChannelsRes"
1842    },
1843    "getRecentJoins": {
1844      "request": [
1845        {
1846          "name": "convID",
1847          "type": "ConversationID"
1848        }
1849      ],
1850      "response": "GetRecentJoinsRes"
1851    },
1852    "refreshParticipantsRemote": {
1853      "request": [
1854        {
1855          "name": "convID",
1856          "type": "ConversationID"
1857        },
1858        {
1859          "name": "hash",
1860          "type": "string"
1861        }
1862      ],
1863      "response": "RefreshParticipantsRemoteRes"
1864    },
1865    "getLastActiveAt": {
1866      "request": [
1867        {
1868          "name": "teamID",
1869          "type": "keybase1.TeamID"
1870        },
1871        {
1872          "name": "uid",
1873          "type": "gregor1.UID"
1874        }
1875      ],
1876      "response": "GetLastActiveAtRes"
1877    },
1878    "getResetConversations": {
1879      "request": [],
1880      "response": "GetResetConversationsRes"
1881    }
1882  },
1883  "namespace": "chat.1",
1884  "compression_type": "gzip"
1885}