openc3-cosmos-tool-docs 5.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (432) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +729 -0
  3. data/README.md +42 -0
  4. data/Rakefile +42 -0
  5. data/plugin.txt +7 -0
  6. data/tools/docs/404.html +16 -0
  7. data/tools/docs/CNAME +1 -0
  8. data/tools/docs/assets/css/styles.7bc79028.css +1 -0
  9. data/tools/docs/assets/images/add_packet-f318d0e92e8a13bd56331350aa341c88c8b12f2c54a4424f6e287817f22fb327.png +0 -0
  10. data/tools/docs/assets/images/architecture-b78f12eba076a0c07af7abdd9dd4187c59aa6b4f5c51b47ad03f73e9f98a6ed6.png +0 -0
  11. data/tools/docs/assets/images/autonomic-3d6d152f700c8fc1878d0f952d013ace31fccd7872d28587dc761610a0959e9c.png +0 -0
  12. data/tools/docs/assets/images/bucket_explorer-983c087ee3bdcf8626219e782620b6c580fd82bfe2e8b0c662a0f90cdca43838.png +0 -0
  13. data/tools/docs/assets/images/calendar-9fbd635cf3df1ba684bb0c1ebc4f6ad34991efc582e9fd07820c8b74cbb66aa1.png +0 -0
  14. data/tools/docs/assets/images/checks_rb-a6049cdd99613cea2ee12d76fcfe798ff05270e39d208e93d37da7347049b2b3.png +0 -0
  15. data/tools/docs/assets/images/cmd_tlm_server-313e3f64afc0e374d9d28b46364235d7b793001f84690fc0ae90e1eefdd9142d.png +0 -0
  16. data/tools/docs/assets/images/command_sender-a0b113b65368263529d0f8f2d93276a0a44ed81af0d0100f56379346ba592928.png +0 -0
  17. data/tools/docs/assets/images/commands-3608d5c856fd34e771d1f9e69f9f449f52929249bdf4f0e7feed0aa2bd2d9fd7.png +0 -0
  18. data/tools/docs/assets/images/connecting-6e453f3d99800d4cb8fdc78f5b8fce1e8cf1bb04840a29dec7c5caefd07c004f.png +0 -0
  19. data/tools/docs/assets/images/data_extractor-62c5b1743ba9dfdff2e393bcbdf863c36effc5ef5319d845cfd17186bd757bca.png +0 -0
  20. data/tools/docs/assets/images/data_viewer-8c547cb5ad2ebd179aac5e46c2f4c147889ebad53a5359a5e6b6c580de7184fe.png +0 -0
  21. data/tools/docs/assets/images/date_chooser-10f7b740b9acc76604e5dc86fe409b6b777abe0fb3fa5ebf8f47cb1ac58b9676.png +0 -0
  22. data/tools/docs/assets/images/debug-04088348cc04bb8e1a1063fc44920dc8e39616840ef4b09a36c823f185c28669.png +0 -0
  23. data/tools/docs/assets/images/delete_all_mouseover-06083f3d3d712d39f21bc5eda45adbfff449732a2061e53cb1a0baf6c5f5d4b8.png +0 -0
  24. data/tools/docs/assets/images/delete_modified-a7ec0ceb61c37398d57fcecf11ebe2453ebd0110be6cfc960a5073a13a557638.png +0 -0
  25. data/tools/docs/assets/images/edit_all_items-2c57aff19d3b1ce52149c37f50dcaad8c30baa0c9931fdc629f1d163bb56ce96.png +0 -0
  26. data/tools/docs/assets/images/edit_all_mouseover-f6646df5320045ee10d4c0a15d0349fed6ede075f9cea6f9e449b3785c4f4f8d.png +0 -0
  27. data/tools/docs/assets/images/edit_graph-4ca61635376fae26cf5eb82fb9fd803f1a51c4d3584aaf9833a270b7916bf531.png +0 -0
  28. data/tools/docs/assets/images/edit_screen-5724ae13958c1631b3c187cf7cdb6dc9672ecd71f8b0786ac17c0266001edac3.png +0 -0
  29. data/tools/docs/assets/images/edit_temp1-7446e7c5b7869ccc9ddd467779fa86f44301a5e5896751b016a527587c483cb2.png +0 -0
  30. data/tools/docs/assets/images/file_menu-2fe13872737c0f3fef84ba5b58b80b609082733acce536ec1f56910c36f68299.png +0 -0
  31. data/tools/docs/assets/images/file_open-319761fd383fc513b3689ef0a7498c73ce9459a3967c8a395cc2da07c89240d0.png +0 -0
  32. data/tools/docs/assets/images/file_save_as-44468ed6a48bea3bc4fdd8f50d802569e4582b453e5bf946bfdcba400030d499.png +0 -0
  33. data/tools/docs/assets/images/four_graphs-826cf8145338fa46e037556df94c59aeb4448330b601953daa94c89de8494cfd.png +0 -0
  34. data/tools/docs/assets/images/graph_min_max-80a2bd83230c71b00ba9d6da24b8c32a09e4983976cdbf32c33d2680b534b106.png +0 -0
  35. data/tools/docs/assets/images/graph_temp1-de937a79b314cf856b783c936d2460a6c942bdd45e4d9b3fe488957df5bfa9bc.png +0 -0
  36. data/tools/docs/assets/images/graph_temp1_temp2-e96370f7d73a6cb68beaa92bcaaf18b72e6619ce948fe835762cca1048efbd18.png +0 -0
  37. data/tools/docs/assets/images/graph_temp1_time-fec5e99e3cc05ea87208abe9c4b66b63b7497bbefee55f65d034417e966b1c46.png +0 -0
  38. data/tools/docs/assets/images/handbooks-1d301c83c80a7cb96c548006f5139fe8ec967ed10a49df0142b37328cd987f33.png +0 -0
  39. data/tools/docs/assets/images/ignored-1e20d4ffe7fd88ffab610340957b1176294269f985e8fdb20a9af07d7a78215f.png +0 -0
  40. data/tools/docs/assets/images/inst_clear-5ecb859f06f14d91d2ebba27e5a7848d6393db5ad2357f95c12e776c45f6bc64.png +0 -0
  41. data/tools/docs/assets/images/inst_collect-4f4e453a6521b779e10c4d2be6a8b1acf15fcb083af0164b0df1de27ca250132.png +0 -0
  42. data/tools/docs/assets/images/inst_collect_hazardous-3aeabedb96bf114b4eb56b6b2ee7bcc601302ec8905a82a16c47ae7870f97978.png +0 -0
  43. data/tools/docs/assets/images/inst_collect_hazardous_history-952a6e6ff2fb1b5fdf2c6b3d84a3ccf9e303eeb310f35514dc4a6e95f2a7420e.png +0 -0
  44. data/tools/docs/assets/images/inst_collect_sent-0de429f724264ce8c52a6cb22d4bbb96f14e22b559c091ff4375bb59f124a7a2.png +0 -0
  45. data/tools/docs/assets/images/inst_collect_sent_3-91cf4e053d246917964330ab93534a0a5eb878b652e7ea879effca7c4eaefbea.png +0 -0
  46. data/tools/docs/assets/images/interface_read_logic-0deef27c1d2fec9de2a3720a3c9ecedb21a00dca7aabd13da0b8815c037e4c26.png +0 -0
  47. data/tools/docs/assets/images/interface_write_logic-3360afe1b4af20b10dafba848a21e09baccaacc06e2ec8b6c132ac7a3c99e994.png +0 -0
  48. data/tools/docs/assets/images/interfaces-5622abf50e3df63980661a48216bf71187f38cb636bd512f48917ca4a425f083.png +0 -0
  49. data/tools/docs/assets/images/items_table-2fc1bb4d03a2348c4af7df442e13cee2f310cf455228005d76cbfda7a706aa53.png +0 -0
  50. data/tools/docs/assets/images/items_table_raw-c4d454679c4503ec35710dcee6be5cd1940984595145b333d8604bc505dfe291.png +0 -0
  51. data/tools/docs/assets/images/items_table_temp1-ea091eaf8005cea839800f4514f72f94e9664993111b935f33e7c5aa3061ca64.png +0 -0
  52. data/tools/docs/assets/images/limits_monitor-c58d70daea7586b93d5069b9df068a90cea5f7cf2e51a445f3162bf3f66db3d0.png +0 -0
  53. data/tools/docs/assets/images/list_view-926f42bc1e43283c61616b0cd8fd630cad8e15c9b7298acd98536842472e673b.png +0 -0
  54. data/tools/docs/assets/images/log-ba64fd307e53adafae55fcea7eb31829ee1aacdf4aafe8b40b270b793be3aa27.png +0 -0
  55. data/tools/docs/assets/images/log_messages-19c3ce9c7ff86e43d459cb6591df8c05d25e1390d857728cb462a57b9d3ccc69.png +0 -0
  56. data/tools/docs/assets/images/log_messages-2cfad0fd6f6f980f69b5564a4b7ecfecf3331c6256c78bcfb2b084970db305ca.png +0 -0
  57. data/tools/docs/assets/images/minimized-59d0d8d8a179ff0475787e87237b77b24d59d78826d43dbc1a554a51380eb37f.png +0 -0
  58. data/tools/docs/assets/images/minimized-a658bd8f2115d3f9a386844e886de770b23bbf9c0c8c55a4ca587cea67ec320e.png +0 -0
  59. data/tools/docs/assets/images/minio-150460ac77a50711835de6f0150d019000e5515afae0f3adfcdda8e891484f47.png +0 -0
  60. data/tools/docs/assets/images/mouseover-95b774047b3c2ca23a3bc645caf75d90511c378729dd9cfb781510a1452e09fe.png +0 -0
  61. data/tools/docs/assets/images/new_screen-295720ec60219194c8c8dd64c755e8a188cc4a68c2b6cf66197b54514644d52a.png +0 -0
  62. data/tools/docs/assets/images/notifications-5b32d6619542431027ddd67491eb445469fa2d16fa8352a2b0917b9298b7bbb2.png +0 -0
  63. data/tools/docs/assets/images/open_config-2e61415a3c2d7a4ce427cf325f3708dd4a761092b7dd0c869279c4354dc34ae4.png +0 -0
  64. data/tools/docs/assets/images/open_config-3cd3be1ce4560d9e72bb37b83dc830149091dec9a088c36187e0e72660c6ec34.png +0 -0
  65. data/tools/docs/assets/images/open_config-55ef2f241d02047b252bb8201742f99cffed5680d0e9eb46b3cb53a644ca3dc9.png +0 -0
  66. data/tools/docs/assets/images/open_config-f848a8b371ae0ec31776834148e9f978d9be94efef03534e5ca3a59c0ae3847f.png +0 -0
  67. data/tools/docs/assets/images/packet_viewer-19c1015cc704a98d1f6d90dd0dadc13188d25f1d5d2e838b7cfb226e8c173c7b.png +0 -0
  68. data/tools/docs/assets/images/plugin-variables-5bc00c744182c9a9591e84cb3bbb1c4deb53ff22e05f62ce1b807c26bed782e5.png +0 -0
  69. data/tools/docs/assets/images/processing-b0c50908284739a76e1bbcfcb3eb34dc9446f8716117cb0e9089ad9df53ebed6.png +0 -0
  70. data/tools/docs/assets/images/project-fe7ac90f3e45971fca8f1be94be9dbabe494bafe705e7f8f485676e9d96e47ea.png +0 -0
  71. data/tools/docs/assets/images/project_update-8e7de3b0658b95d4d9931eb52ff8bf339d633cbdc273ce096eb11ceb357c009e.png +0 -0
  72. data/tools/docs/assets/images/raw_command-759d93759a73a6a3dd7e30f89fc4d1a544dfb6f7355abfed03897d404279161d.png +0 -0
  73. data/tools/docs/assets/images/raw_telemetry-ffeb6b603f9a9abbe0cb77afaaeb4b4f07dfee479682a5c9661f85589a679049.png +0 -0
  74. data/tools/docs/assets/images/raw_tlm_logs-8dcba4f020b36f8efbb793271b70d40d9cad627196afaeb5bf6f3931ed53fa52.png +0 -0
  75. data/tools/docs/assets/images/reactions-dd4a8ebf22eed921a82a5478d23178c62e2cf944d295c2b9e3f4d7ce555b0fcc.png +0 -0
  76. data/tools/docs/assets/images/reload_file-8e26cd3e1bc1eab7bb6c046d9a6a8231fcd76e56682d819b1e549182890c6486.png +0 -0
  77. data/tools/docs/assets/images/reloaded-9effa15527244928ee503eb0c3a48cc5e82c07cfb5d5c4300eacfcab913069d1.png +0 -0
  78. data/tools/docs/assets/images/running_scripts-78bfd36a6c8c7167234e03bd188e974927c2beea1f730498583169a81639e7a3.png +0 -0
  79. data/tools/docs/assets/images/save_config-0ae36ac1f8114665f2558e936ba3b30e5cba2a16cc01d3494e14ed689b4637f7.png +0 -0
  80. data/tools/docs/assets/images/save_config-8b028134b07c70d6de019825cbb328623fc485d72aad9ba5b1980246b316fec2.png +0 -0
  81. data/tools/docs/assets/images/save_config-e4ed80276ebdc2c4eaf9aaeb859cff8aecb380b22da8c659741c31ca66914098.png +0 -0
  82. data/tools/docs/assets/images/save_config-e748a338526ffd8f9e49def5c0d15f8a80cd987f40d210ff6c6d4b61b713555c.png +0 -0
  83. data/tools/docs/assets/images/script_error-ce060b3086e7b466e51a276fb6b27245b4d042f07a60fe121b0071dd65a42075.png +0 -0
  84. data/tools/docs/assets/images/script_runner-7d7f01b90be962b4de46c20568727c55488eec5d9844823b53a262c9cfc470fa.png +0 -0
  85. data/tools/docs/assets/images/script_suite-42832d936f91417740b76a39841996c8e4a7cf5391dbb19abe9d7b31ab07dd7d.png +0 -0
  86. data/tools/docs/assets/images/select_item-f063106a8d836656496ba81e7e7428f51bd8ab95aebab0aa4eb6ad41ed42e026.png +0 -0
  87. data/tools/docs/assets/images/select_packet-0b6d5a2b012445ab2bf0fd3e1545f015cd7787280d05d2bccb0a9c9220102529.png +0 -0
  88. data/tools/docs/assets/images/select_packet-be9d63c49f898cccb73f9e4b2b39c4b5879cead34a8ab2ede0bb08e953498e95.png +0 -0
  89. data/tools/docs/assets/images/select_target-71ebcab6cbefafd8958939130861a75f7544e99a043d90fa0734ec2f983d835f.png +0 -0
  90. data/tools/docs/assets/images/simple_screen-3c9d6d2366c716c03a301396a4ce0ea418532890f349d9bc9ebb8be90983a6e6.png +0 -0
  91. data/tools/docs/assets/images/status-80010882300d2f1c453fbc4cb35bdb1f06d3db578266dda95c56ea7ec230ac72.png +0 -0
  92. data/tools/docs/assets/images/table_manager-9a5357ce536102bc1bb0c859be552f4ac82f62e538935a3c45a8e76d4f9744db.png +0 -0
  93. data/tools/docs/assets/images/targets-d15296b133787be4997c3d5e7d43eec9030831f1758508a8f6a71d40d04478ce.png +0 -0
  94. data/tools/docs/assets/images/telemetry-3f1169fc67b3d2427047ba66a9b2f3ddf71f61edf498ee70d14e78f0ef3c1e3c.png +0 -0
  95. data/tools/docs/assets/images/telemetry_grapher-a96b7e0101f5e377a73a186683e967e79d748c5dff2dfed6ec0afcea5694d7c8.png +0 -0
  96. data/tools/docs/assets/images/telemetry_viewer-be6ee576f1efceb39c2f744889deb4c18f571c4922c69d5d0e5f49a653776a46.png +0 -0
  97. data/tools/docs/assets/images/temp1_details-f0b6e62bc28da18febacc936112735e1dbd5718ef675668f04d8b3e060d7f87a.png +0 -0
  98. data/tools/docs/assets/images/time_chooser-e4ca0705d5b97c3056b0de3ab7f71f8091482b9b2e8904e69866a43ce4e616f2.png +0 -0
  99. data/tools/docs/assets/images/timeline_lifecycle-0bd916dee06bf67936b043abfdbc4d5fdec7cc5a32a889ee6c05e9faf74f4c6a.png +0 -0
  100. data/tools/docs/assets/images/triggers-0b0b3f9cc2850c1b83b9a7aab6f8a936626fd847c3158e993e4baa0e64b38096.png +0 -0
  101. data/tools/docs/assets/images/two_full_height-7cf9d0bbdf0269ad85e312f6dcb77930e1e3c4319f9750968a9347fafcf26084.png +0 -0
  102. data/tools/docs/assets/images/two_full_width-db2d88c0e2e6fc417016f47e3bac0bf68374957d8fc014220f53870429ea1ef3.png +0 -0
  103. data/tools/docs/assets/images/view_portal-b2e5fef00be80f1551b965d170fc3cd8ed95597f0a1e475a8177ab2d306215f5.png +0 -0
  104. data/tools/docs/assets/images/view_portal_add-56f06135fc56f1fa85cbc22ea3b7ad52f311641aad25df08b6f4a6f979b30e3f.png +0 -0
  105. data/tools/docs/assets/js/019369f3.bb600de8.js +1 -0
  106. data/tools/docs/assets/js/058ffc22.ce27f074.js +1 -0
  107. data/tools/docs/assets/js/0686a885.5fe3bfd4.js +1 -0
  108. data/tools/docs/assets/js/078dbab0.0a98e0c9.js +1 -0
  109. data/tools/docs/assets/js/0f5d161c.3a7b00e4.js +1 -0
  110. data/tools/docs/assets/js/0ff569c9.930bab08.js +1 -0
  111. data/tools/docs/assets/js/103cc3be.451dd416.js +1 -0
  112. data/tools/docs/assets/js/1131.f9e1547d.js +1 -0
  113. data/tools/docs/assets/js/13196248.1be5ac81.js +1 -0
  114. data/tools/docs/assets/js/13c1b4e4.ad24c4f6.js +1 -0
  115. data/tools/docs/assets/js/15a39a64.4138456c.js +1 -0
  116. data/tools/docs/assets/js/2029.9e268a82.js +1 -0
  117. data/tools/docs/assets/js/2047b354.7995865f.js +1 -0
  118. data/tools/docs/assets/js/22b3ac48.73a6c979.js +1 -0
  119. data/tools/docs/assets/js/2846.a87f3fc4.js +1 -0
  120. data/tools/docs/assets/js/2923e883.0cbdcbc5.js +1 -0
  121. data/tools/docs/assets/js/3477.783e2e37.js +2 -0
  122. data/tools/docs/assets/js/3477.783e2e37.js.LICENSE.txt +61 -0
  123. data/tools/docs/assets/js/3dd7ef3b.8f77876c.js +1 -0
  124. data/tools/docs/assets/js/3df159b4.dded3e78.js +1 -0
  125. data/tools/docs/assets/js/40365d27.9322abd8.js +1 -0
  126. data/tools/docs/assets/js/411898ad.a1d949a2.js +1 -0
  127. data/tools/docs/assets/js/42170351.46c774f8.js +1 -0
  128. data/tools/docs/assets/js/43652efd.cbac4bc0.js +1 -0
  129. data/tools/docs/assets/js/5109.6a372217.js +1 -0
  130. data/tools/docs/assets/js/54d0d530.e9c8193b.js +1 -0
  131. data/tools/docs/assets/js/5bc719f6.fce76244.js +1 -0
  132. data/tools/docs/assets/js/5c6ce5ec.f909714f.js +1 -0
  133. data/tools/docs/assets/js/5e3ed378.cdfe0362.js +1 -0
  134. data/tools/docs/assets/js/5fe211ef.809c3f96.js +1 -0
  135. data/tools/docs/assets/js/6831b732.735c11e9.js +1 -0
  136. data/tools/docs/assets/js/696b4199.ff9185d0.js +1 -0
  137. data/tools/docs/assets/js/6b210247.248680ef.js +1 -0
  138. data/tools/docs/assets/js/6b65133b.2144fb1b.js +1 -0
  139. data/tools/docs/assets/js/6f92e431.608f28e7.js +1 -0
  140. data/tools/docs/assets/js/72c6d8a8.062b7650.js +1 -0
  141. data/tools/docs/assets/js/75e64983.d42f03f8.js +1 -0
  142. data/tools/docs/assets/js/7efc9fb0.6164fbad.js +1 -0
  143. data/tools/docs/assets/js/867640d5.28196e2c.js +1 -0
  144. data/tools/docs/assets/js/89e76475.5131b624.js +1 -0
  145. data/tools/docs/assets/js/8f7843ee.69e537b0.js +1 -0
  146. data/tools/docs/assets/js/9424f0b3.73086bed.js +1 -0
  147. data/tools/docs/assets/js/97535711.c7556831.js +1 -0
  148. data/tools/docs/assets/js/99581c43.30aef54d.js +1 -0
  149. data/tools/docs/assets/js/9d6e81d0.84fe3bb3.js +1 -0
  150. data/tools/docs/assets/js/9fb6059a.dc4760ab.js +1 -0
  151. data/tools/docs/assets/js/a182b3b3.25afec82.js +1 -0
  152. data/tools/docs/assets/js/a507c363.71a89240.js +1 -0
  153. data/tools/docs/assets/js/a677c089.2ec103f7.js +1 -0
  154. data/tools/docs/assets/js/a9987364.de63d165.js +1 -0
  155. data/tools/docs/assets/js/aa6b6c1b.6b24256f.js +1 -0
  156. data/tools/docs/assets/js/ada50b5c.1c75d3de.js +1 -0
  157. data/tools/docs/assets/js/b4596165.ab1c689f.js +1 -0
  158. data/tools/docs/assets/js/b6d70f94.ec27318b.js +1 -0
  159. data/tools/docs/assets/js/b9f60ba6.bb514133.js +1 -0
  160. data/tools/docs/assets/js/bd0034eb.0c60929d.js +1 -0
  161. data/tools/docs/assets/js/c24eae19.12176204.js +1 -0
  162. data/tools/docs/assets/js/cb8c3f08.762bb287.js +1 -0
  163. data/tools/docs/assets/js/cd879be4.3641a5cb.js +1 -0
  164. data/tools/docs/assets/js/d1b923aa.bf4b0c9e.js +1 -0
  165. data/tools/docs/assets/js/d24bf9b6.6ed3b576.js +1 -0
  166. data/tools/docs/assets/js/d370d7a7.28ef1aad.js +1 -0
  167. data/tools/docs/assets/js/d57a4b5d.017675ee.js +1 -0
  168. data/tools/docs/assets/js/d5d77c37.f472b18b.js +1 -0
  169. data/tools/docs/assets/js/d5f295fb.e008c3ec.js +1 -0
  170. data/tools/docs/assets/js/d797a795.9243eac2.js +1 -0
  171. data/tools/docs/assets/js/d7c988eb.2670948e.js +1 -0
  172. data/tools/docs/assets/js/d8ca4191.717db664.js +1 -0
  173. data/tools/docs/assets/js/d9b92eba.5eff70b2.js +1 -0
  174. data/tools/docs/assets/js/db8fa1d0.85784608.js +1 -0
  175. data/tools/docs/assets/js/dc5f7beb.120c148d.js +1 -0
  176. data/tools/docs/assets/js/e501b0d1.ae564e73.js +1 -0
  177. data/tools/docs/assets/js/f15615f1.3126a842.js +1 -0
  178. data/tools/docs/assets/js/fd886806.d2d0bdf4.js +1 -0
  179. data/tools/docs/assets/js/main.b5a535c2.js +2 -0
  180. data/tools/docs/assets/js/main.b5a535c2.js.LICENSE.txt +70 -0
  181. data/tools/docs/assets/js/runtime~main.e3a6c705.js +1 -0
  182. data/tools/docs/docs/configuration/command.html +40 -0
  183. data/tools/docs/docs/configuration/format.html +16 -0
  184. data/tools/docs/docs/configuration/interfaces.html +16 -0
  185. data/tools/docs/docs/configuration/plugins.html +17 -0
  186. data/tools/docs/docs/configuration/protocols.html +23 -0
  187. data/tools/docs/docs/configuration/ssl-tls.html +17 -0
  188. data/tools/docs/docs/configuration/table.html +30 -0
  189. data/tools/docs/docs/configuration/target.html +16 -0
  190. data/tools/docs/docs/configuration/telemetry-screens.html +36 -0
  191. data/tools/docs/docs/configuration/telemetry.html +16 -0
  192. data/tools/docs/docs/configuration.html +16 -0
  193. data/tools/docs/docs/development/curl.html +16 -0
  194. data/tools/docs/docs/development/developing.html +19 -0
  195. data/tools/docs/docs/development/host-install.html +16 -0
  196. data/tools/docs/docs/development/json-api.html +16 -0
  197. data/tools/docs/docs/development/log-structure.html +17 -0
  198. data/tools/docs/docs/development/roadmap.html +16 -0
  199. data/tools/docs/docs/development/streaming-api.html +18 -0
  200. data/tools/docs/docs/development/testing.html +16 -0
  201. data/tools/docs/docs/development.html +16 -0
  202. data/tools/docs/docs/getting-started/gettingstarted.html +16 -0
  203. data/tools/docs/docs/getting-started/installation.html +18 -0
  204. data/tools/docs/docs/getting-started/podman.html +18 -0
  205. data/tools/docs/docs/getting-started/requirements.html +16 -0
  206. data/tools/docs/docs/getting-started/upgrading.html +16 -0
  207. data/tools/docs/docs/getting-started.html +16 -0
  208. data/tools/docs/docs/guides/bridges.html +23 -0
  209. data/tools/docs/docs/guides/cfs.html +46 -0
  210. data/tools/docs/docs/guides/custom-widgets.html +16 -0
  211. data/tools/docs/docs/guides/little-endian-bitfields.html +16 -0
  212. data/tools/docs/docs/guides/local-mode.html +16 -0
  213. data/tools/docs/docs/guides/logging.html +16 -0
  214. data/tools/docs/docs/guides/monitoring.html +16 -0
  215. data/tools/docs/docs/guides/performance.html +16 -0
  216. data/tools/docs/docs/guides/raspberrypi.html +16 -0
  217. data/tools/docs/docs/guides/script-writing.html +18 -0
  218. data/tools/docs/docs/guides/scripting-api.html +17 -0
  219. data/tools/docs/docs/guides.html +16 -0
  220. data/tools/docs/docs/meta/contributing.html +20 -0
  221. data/tools/docs/docs/meta/philosophy.html +16 -0
  222. data/tools/docs/docs/meta/xtce.html +16 -0
  223. data/tools/docs/docs/meta.html +16 -0
  224. data/tools/docs/docs/privacy.html +23 -0
  225. data/tools/docs/docs/tools/autonomic.html +16 -0
  226. data/tools/docs/docs/tools/bucket-explorer.html +16 -0
  227. data/tools/docs/docs/tools/calendar.html +16 -0
  228. data/tools/docs/docs/tools/cmd-sender.html +16 -0
  229. data/tools/docs/docs/tools/cmd-tlm-server.html +17 -0
  230. data/tools/docs/docs/tools/data-extractor.html +16 -0
  231. data/tools/docs/docs/tools/data-viewer.html +16 -0
  232. data/tools/docs/docs/tools/handbooks.html +16 -0
  233. data/tools/docs/docs/tools/limits-monitor.html +16 -0
  234. data/tools/docs/docs/tools/packet-viewer.html +16 -0
  235. data/tools/docs/docs/tools/script-runner.html +16 -0
  236. data/tools/docs/docs/tools/table-manager.html +16 -0
  237. data/tools/docs/docs/tools/tlm-grapher.html +16 -0
  238. data/tools/docs/docs/tools/tlm-viewer.html +17 -0
  239. data/tools/docs/docs/tools.html +16 -0
  240. data/tools/docs/docs/v5/bridges/index.html +11 -0
  241. data/tools/docs/docs/v5/bucket-explorer/index.html +11 -0
  242. data/tools/docs/docs/v5/calendar/index.html +11 -0
  243. data/tools/docs/docs/v5/cfs/index.html +11 -0
  244. data/tools/docs/docs/v5/cmd-sender/index.html +11 -0
  245. data/tools/docs/docs/v5/cmd-tlm-server/index.html +11 -0
  246. data/tools/docs/docs/v5/command/index.html +11 -0
  247. data/tools/docs/docs/v5/contributing/index.html +11 -0
  248. data/tools/docs/docs/v5/custom-widgets/index.html +11 -0
  249. data/tools/docs/docs/v5/data-extractor/index.html +11 -0
  250. data/tools/docs/docs/v5/data-viewer/index.html +11 -0
  251. data/tools/docs/docs/v5/development/index.html +11 -0
  252. data/tools/docs/docs/v5/format/index.html +11 -0
  253. data/tools/docs/docs/v5/gettingstarted/index.html +11 -0
  254. data/tools/docs/docs/v5/handbooks/index.html +11 -0
  255. data/tools/docs/docs/v5/host-install/index.html +11 -0
  256. data/tools/docs/docs/v5/index.html +11 -0
  257. data/tools/docs/docs/v5/installation/index.html +11 -0
  258. data/tools/docs/docs/v5/interfaces/index.html +11 -0
  259. data/tools/docs/docs/v5/json-api/index.html +11 -0
  260. data/tools/docs/docs/v5/limits-monitor/index.html +11 -0
  261. data/tools/docs/docs/v5/little-endian-bitfields/index.html +11 -0
  262. data/tools/docs/docs/v5/local-mode/index.html +11 -0
  263. data/tools/docs/docs/v5/log-structure/index.html +11 -0
  264. data/tools/docs/docs/v5/logging/index.html +11 -0
  265. data/tools/docs/docs/v5/monitoring/index.html +11 -0
  266. data/tools/docs/docs/v5/packet-viewer/index.html +11 -0
  267. data/tools/docs/docs/v5/performance/index.html +11 -0
  268. data/tools/docs/docs/v5/philosophy/index.html +11 -0
  269. data/tools/docs/docs/v5/plugins/index.html +11 -0
  270. data/tools/docs/docs/v5/podman/index.html +11 -0
  271. data/tools/docs/docs/v5/protocols/index.html +11 -0
  272. data/tools/docs/docs/v5/raspberrypi/index.html +11 -0
  273. data/tools/docs/docs/v5/requirements/index.html +11 -0
  274. data/tools/docs/docs/v5/roadmap/index.html +11 -0
  275. data/tools/docs/docs/v5/script-runner/index.html +11 -0
  276. data/tools/docs/docs/v5/script-writing/index.html +11 -0
  277. data/tools/docs/docs/v5/scripting-api/index.html +11 -0
  278. data/tools/docs/docs/v5/ssl-tls/index.html +11 -0
  279. data/tools/docs/docs/v5/streaming-api/index.html +11 -0
  280. data/tools/docs/docs/v5/table/index.html +11 -0
  281. data/tools/docs/docs/v5/table-manager/index.html +11 -0
  282. data/tools/docs/docs/v5/target/index.html +11 -0
  283. data/tools/docs/docs/v5/telemetry/index.html +11 -0
  284. data/tools/docs/docs/v5/telemetry-screens/index.html +11 -0
  285. data/tools/docs/docs/v5/testing/index.html +11 -0
  286. data/tools/docs/docs/v5/tlm-grapher/index.html +11 -0
  287. data/tools/docs/docs/v5/tlm-viewer/index.html +11 -0
  288. data/tools/docs/docs/v5/tools/index.html +11 -0
  289. data/tools/docs/docs/v5/upgrading/index.html +11 -0
  290. data/tools/docs/docs/v5/xtce/index.html +11 -0
  291. data/tools/docs/docs.html +25 -0
  292. data/tools/docs/img/BCT.png +0 -0
  293. data/tools/docs/img/OpenC3.png +0 -0
  294. data/tools/docs/img/article-footer.png +0 -0
  295. data/tools/docs/img/ball.jpg +0 -0
  296. data/tools/docs/img/black_logo.svg +25 -0
  297. data/tools/docs/img/captech.gif +0 -0
  298. data/tools/docs/img/docusaurus-social-card.jpg +0 -0
  299. data/tools/docs/img/docusaurus.png +0 -0
  300. data/tools/docs/img/favicon.png +0 -0
  301. data/tools/docs/img/footer-logo.png +0 -0
  302. data/tools/docs/img/interface_read_logic.png +0 -0
  303. data/tools/docs/img/interface_write_logic.png +0 -0
  304. data/tools/docs/img/johnh.gif +0 -0
  305. data/tools/docs/img/lockheed.png +0 -0
  306. data/tools/docs/img/logo.svg +7 -0
  307. data/tools/docs/img/nasa.gif +0 -0
  308. data/tools/docs/img/sdlusu.gif +0 -0
  309. data/tools/docs/img/v5/architecture.png +0 -0
  310. data/tools/docs/img/v5/autonomic/autonomic.png +0 -0
  311. data/tools/docs/img/v5/autonomic/reactions.png +0 -0
  312. data/tools/docs/img/v5/autonomic/triggers.png +0 -0
  313. data/tools/docs/img/v5/bucket_explorer/bucket_explorer.png +0 -0
  314. data/tools/docs/img/v5/calendar/calendar.png +0 -0
  315. data/tools/docs/img/v5/calendar/list_view.png +0 -0
  316. data/tools/docs/img/v5/calendar/timeline_lifecycle.png +0 -0
  317. data/tools/docs/img/v5/cmd_tlm_server/cmd_tlm_server.png +0 -0
  318. data/tools/docs/img/v5/cmd_tlm_server/commands.png +0 -0
  319. data/tools/docs/img/v5/cmd_tlm_server/file_menu.png +0 -0
  320. data/tools/docs/img/v5/cmd_tlm_server/interfaces.png +0 -0
  321. data/tools/docs/img/v5/cmd_tlm_server/log_messages.png +0 -0
  322. data/tools/docs/img/v5/cmd_tlm_server/raw_command.png +0 -0
  323. data/tools/docs/img/v5/cmd_tlm_server/raw_telemetry.png +0 -0
  324. data/tools/docs/img/v5/cmd_tlm_server/routers.png +0 -0
  325. data/tools/docs/img/v5/cmd_tlm_server/status.png +0 -0
  326. data/tools/docs/img/v5/cmd_tlm_server/targets.png +0 -0
  327. data/tools/docs/img/v5/cmd_tlm_server/telemetry.png +0 -0
  328. data/tools/docs/img/v5/command_sender/command_sender.png +0 -0
  329. data/tools/docs/img/v5/command_sender/inst_clear.png +0 -0
  330. data/tools/docs/img/v5/command_sender/inst_collect.png +0 -0
  331. data/tools/docs/img/v5/command_sender/inst_collect_hazardous.png +0 -0
  332. data/tools/docs/img/v5/command_sender/inst_collect_hazardous_history.png +0 -0
  333. data/tools/docs/img/v5/command_sender/inst_collect_sent.png +0 -0
  334. data/tools/docs/img/v5/command_sender/inst_collect_sent_3.png +0 -0
  335. data/tools/docs/img/v5/command_sender/mode_menu.png +0 -0
  336. data/tools/docs/img/v5/contact/jason.png +0 -0
  337. data/tools/docs/img/v5/contact/ryan.jpeg +0 -0
  338. data/tools/docs/img/v5/data_extractor/data_extractor.png +0 -0
  339. data/tools/docs/img/v5/data_extractor/date_chooser.png +0 -0
  340. data/tools/docs/img/v5/data_extractor/delete_all_mouseover.png +0 -0
  341. data/tools/docs/img/v5/data_extractor/download.png +0 -0
  342. data/tools/docs/img/v5/data_extractor/edit_all_items.png +0 -0
  343. data/tools/docs/img/v5/data_extractor/edit_all_mouseover.png +0 -0
  344. data/tools/docs/img/v5/data_extractor/edit_temp1.png +0 -0
  345. data/tools/docs/img/v5/data_extractor/file_menu.png +0 -0
  346. data/tools/docs/img/v5/data_extractor/items_table.png +0 -0
  347. data/tools/docs/img/v5/data_extractor/items_table_raw.png +0 -0
  348. data/tools/docs/img/v5/data_extractor/items_table_temp1.png +0 -0
  349. data/tools/docs/img/v5/data_extractor/mode_menu.png +0 -0
  350. data/tools/docs/img/v5/data_extractor/open_config.png +0 -0
  351. data/tools/docs/img/v5/data_extractor/processing.png +0 -0
  352. data/tools/docs/img/v5/data_extractor/save_config.png +0 -0
  353. data/tools/docs/img/v5/data_extractor/select_item.png +0 -0
  354. data/tools/docs/img/v5/data_extractor/select_packet.png +0 -0
  355. data/tools/docs/img/v5/data_extractor/select_target.png +0 -0
  356. data/tools/docs/img/v5/data_extractor/time_chooser.png +0 -0
  357. data/tools/docs/img/v5/data_viewer/add_packet.png +0 -0
  358. data/tools/docs/img/v5/data_viewer/data_viewer.png +0 -0
  359. data/tools/docs/img/v5/data_viewer/file_menu.png +0 -0
  360. data/tools/docs/img/v5/data_viewer/open_config.png +0 -0
  361. data/tools/docs/img/v5/data_viewer/rename_tab.png +0 -0
  362. data/tools/docs/img/v5/data_viewer/save_config.png +0 -0
  363. data/tools/docs/img/v5/data_viewer/tab_right_click.png +0 -0
  364. data/tools/docs/img/v5/data_viewer/view_portal.png +0 -0
  365. data/tools/docs/img/v5/data_viewer/view_portal_add.png +0 -0
  366. data/tools/docs/img/v5/guides/local_mode/delete_modified.png +0 -0
  367. data/tools/docs/img/v5/guides/local_mode/minio.png +0 -0
  368. data/tools/docs/img/v5/guides/local_mode/project.png +0 -0
  369. data/tools/docs/img/v5/guides/local_mode/project_update.png +0 -0
  370. data/tools/docs/img/v5/guides/local_mode/reload_file.png +0 -0
  371. data/tools/docs/img/v5/guides/local_mode/reloaded.png +0 -0
  372. data/tools/docs/img/v5/guides/logging/browser.png +0 -0
  373. data/tools/docs/img/v5/guides/logging/log_messages.png +0 -0
  374. data/tools/docs/img/v5/guides/logging/notifications.png +0 -0
  375. data/tools/docs/img/v5/guides/logging/raw_tlm_logs.png +0 -0
  376. data/tools/docs/img/v5/guides/plugin-variables.png +0 -0
  377. data/tools/docs/img/v5/guides/simple_screen.png +0 -0
  378. data/tools/docs/img/v5/handbooks/handbooks.png +0 -0
  379. data/tools/docs/img/v5/limits_monitor/ignored.png +0 -0
  380. data/tools/docs/img/v5/limits_monitor/limits_monitor.png +0 -0
  381. data/tools/docs/img/v5/limits_monitor/log.png +0 -0
  382. data/tools/docs/img/v5/limits_monitor/mouseover.png +0 -0
  383. data/tools/docs/img/v5/navigation.png +0 -0
  384. data/tools/docs/img/v5/packet_viewer/file_menu.png +0 -0
  385. data/tools/docs/img/v5/packet_viewer/packet_viewer.png +0 -0
  386. data/tools/docs/img/v5/packet_viewer/select_packet.png +0 -0
  387. data/tools/docs/img/v5/packet_viewer/temp1_details.png +0 -0
  388. data/tools/docs/img/v5/packet_viewer/view_menu.png +0 -0
  389. data/tools/docs/img/v5/script_runner/checks_rb.png +0 -0
  390. data/tools/docs/img/v5/script_runner/connecting.png +0 -0
  391. data/tools/docs/img/v5/script_runner/debug.png +0 -0
  392. data/tools/docs/img/v5/script_runner/file_menu.png +0 -0
  393. data/tools/docs/img/v5/script_runner/file_open.png +0 -0
  394. data/tools/docs/img/v5/script_runner/file_save_as.png +0 -0
  395. data/tools/docs/img/v5/script_runner/running_scripts.png +0 -0
  396. data/tools/docs/img/v5/script_runner/script_error.png +0 -0
  397. data/tools/docs/img/v5/script_runner/script_menu.png +0 -0
  398. data/tools/docs/img/v5/script_runner/script_runner.png +0 -0
  399. data/tools/docs/img/v5/script_runner/script_suite.png +0 -0
  400. data/tools/docs/img/v5/table_manager/file_menu.png +0 -0
  401. data/tools/docs/img/v5/table_manager/table_manager.png +0 -0
  402. data/tools/docs/img/v5/telemetry_grapher/edit_graph.png +0 -0
  403. data/tools/docs/img/v5/telemetry_grapher/file_menu.png +0 -0
  404. data/tools/docs/img/v5/telemetry_grapher/four_graphs.png +0 -0
  405. data/tools/docs/img/v5/telemetry_grapher/graph_menu.png +0 -0
  406. data/tools/docs/img/v5/telemetry_grapher/graph_min_max.png +0 -0
  407. data/tools/docs/img/v5/telemetry_grapher/graph_temp1.png +0 -0
  408. data/tools/docs/img/v5/telemetry_grapher/graph_temp1_temp2.png +0 -0
  409. data/tools/docs/img/v5/telemetry_grapher/graph_temp1_time.png +0 -0
  410. data/tools/docs/img/v5/telemetry_grapher/grapher_controls.png +0 -0
  411. data/tools/docs/img/v5/telemetry_grapher/minimized.png +0 -0
  412. data/tools/docs/img/v5/telemetry_grapher/open_config.png +0 -0
  413. data/tools/docs/img/v5/telemetry_grapher/save_config.png +0 -0
  414. data/tools/docs/img/v5/telemetry_grapher/stop_start.png +0 -0
  415. data/tools/docs/img/v5/telemetry_grapher/telemetry_grapher.png +0 -0
  416. data/tools/docs/img/v5/telemetry_grapher/two_full_height.png +0 -0
  417. data/tools/docs/img/v5/telemetry_grapher/two_full_width.png +0 -0
  418. data/tools/docs/img/v5/telemetry_viewer/edit_screen.png +0 -0
  419. data/tools/docs/img/v5/telemetry_viewer/file_menu.png +0 -0
  420. data/tools/docs/img/v5/telemetry_viewer/minimized.png +0 -0
  421. data/tools/docs/img/v5/telemetry_viewer/new_screen.png +0 -0
  422. data/tools/docs/img/v5/telemetry_viewer/open_config.png +0 -0
  423. data/tools/docs/img/v5/telemetry_viewer/save_config.png +0 -0
  424. data/tools/docs/img/v5/telemetry_viewer/telemetry_viewer.png +0 -0
  425. data/tools/docs/index.html +16 -0
  426. data/tools/docs/lunr-index-1699630949575.json +1 -0
  427. data/tools/docs/lunr-index.json +1 -0
  428. data/tools/docs/markdown-page.html +16 -0
  429. data/tools/docs/search-doc-1699630949575.json +1 -0
  430. data/tools/docs/search-doc.json +1 -0
  431. data/tools/docs/sitemap.xml +1 -0
  432. metadata +477 -0
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-development/curl" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
6
+ <title data-rh="true">Testing with Curl | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/docs/docs/development/curl"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Testing with Curl | OpenC3 Docs"><meta data-rh="true" name="description" content="This information is just generally used behind the scenes in COSMOS tools"><meta data-rh="true" property="og:description" content="This information is just generally used behind the scenes in COSMOS tools"><link data-rh="true" rel="icon" href="/tools/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/development/curl"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/development/curl" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/development/curl" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/docs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/docs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/docs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/docs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/docs/docs/development"><span itemprop="name">Development</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Testing with Curl</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Testing with Curl</h1></header><div class="theme-admonition theme-admonition-note alert alert--secondary admonition_qNG0"><div class="admonitionHeading_l909"><span class="admonitionIcon_UNbs"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>This documentation is for COSMOS Developers</div><div class="admonitionContent_oUmQ"><p>This information is just generally used behind the scenes in COSMOS tools</p></div></div><p>The COSMOS APIs are all served over HTTP, which means you can use curl to experiment with them. Curl is a great tool for seeing exactly how the API responds to any given request.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="curl-example-with-openc3-cosmos-open-source">Curl Example with OpenC3 COSMOS Open Source<a href="#curl-example-with-openc3-cosmos-open-source" class="hash-link" aria-label="Direct link to Curl Example with OpenC3 COSMOS Open Source" title="Direct link to Curl Example with OpenC3 COSMOS Open Source">​</a></h2><p>OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this.</p><p>Request:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -i -H </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;Content-Type: application/json-rpc&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;Authorization: password&quot;</span><span class="token plain"> -d </span><span class="token string" style="color:rgb(173, 219, 103)">&#x27;{&quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;method&quot;: &quot;tlm&quot;, &quot;params&quot;: [&quot;INST HEALTH_STATUS TEMP1&quot;], &quot;keyword_params&quot;: {&quot;scope&quot;: &quot;DEFAULT&quot;}, &quot;id&quot;: 8}&#x27;</span><span class="token plain"> -X POST http://127.0.0.1:2900/openc3-api/api</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Response:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Cache-Control: max-age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token plain">, private, must-revalidate</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Content-Length: </span><span class="token number" style="color:rgb(247, 140, 108)">51</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Content-Type: application/json-rpc</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Etag: W/</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;e806aacfdbed0b325e7a5928e3bb5cf4&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Vary: Origin</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">X-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">X-Runtime: </span><span class="token number" style="color:rgb(247, 140, 108)">0.059044</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Date: Sat, 04 Nov </span><span class="token number" style="color:rgb(247, 140, 108)">2023</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">21</span><span class="token plain">:34:47 GMT</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token plain">:8,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;result&quot;</span><span class="token plain">:53.26555000000001</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="curl-example-with-openc3-cosmos-enterprise">Curl Example with OpenC3 COSMOS Enterprise<a href="#curl-example-with-openc3-cosmos-enterprise" class="hash-link" aria-label="Direct link to Curl Example with OpenC3 COSMOS Enterprise" title="Direct link to Curl Example with OpenC3 COSMOS Enterprise">​</a></h2><p>OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request.</p><p>Keycloak Request:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Get tokens from Keycloak - You will need to update the username and password with your account</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -i -H </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;Content-Type: application/x-www-form-urlencoded&quot;</span><span class="token plain"> -d </span><span class="token string" style="color:rgb(173, 219, 103)">&#x27;username=operator&amp;password=operator&amp;client_id=api&amp;grant_type=password&amp;scope=openid&#x27;</span><span class="token plain"> -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Keycloak Response:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Cache-Control: no-store</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Content-Length: </span><span class="token number" style="color:rgb(247, 140, 108)">3207</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Content-Type: application/json</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Pragma: no-cache</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Referrer-Policy: no-referrer</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Set-Cookie: </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">KEYCLOAK_LOCALE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Version</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Comment</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Expiring cookie</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Expires</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Thu, 01-Jan-1970 00:00:10 GMT</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> Max-Age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Path</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">/auth/realms/openc3/</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> HttpOnly</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Set-Cookie: </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">KC_RESTART</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Version</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Expires</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Thu, 01-Jan-1970 00:00:10 GMT</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> Max-Age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Path</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">/auth/realms/openc3/</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> HttpOnly</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Strict-Transport-Security: max-age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">31536000</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> includeSubDomains</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">X-Content-Type-Options: nosniff</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">X-Frame-Options: SAMEORIGIN</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">X-Xss-Protection: </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">mode</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">block</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">10</span><span class="token plain"> May </span><span class="token number" style="color:rgb(247, 140, 108)">2023</span><span class="token plain"> 00:40:40 GMT</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;access_token&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA&quot;</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;expires_in&quot;</span><span class="token plain">:300,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;refresh_expires_in&quot;</span><span class="token plain">:1800,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;refresh_token&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M&quot;</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;token_type&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;Bearer&quot;</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id_token&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w&quot;</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;not-before-policy&quot;</span><span class="token plain">:0,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;session_state&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;f3785967-2a46-4c12-ad0c-cff7fc477df9&quot;</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;scope&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;openid profile email&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>COSMOS Request:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># COSMOS Request now looks like this:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -i -H </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;Content-Type: application/json-rpc&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA&quot;</span><span class="token plain"> -d </span><span class="token string" style="color:rgb(173, 219, 103)">&#x27;{&quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;method&quot;: &quot;tlm&quot;, &quot;params&quot;: [&quot;INST HEALTH_STATUS TEMP1&quot;], &quot;keyword_params&quot;: {&quot;scope&quot;: &quot;DEFAULT&quot;}, &quot;id&quot;: 8}&#x27;</span><span class="token plain"> -X POST http://127.0.0.1:2900/openc3-api/api</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>COSMOS Response:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Cache-Control: max-age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token plain">, private, must-revalidate</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Content-Type: application/json-rpc</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Etag: W/</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;1e44c0878528687014e1e60a1cbebdae&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Vary: Origin</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">X-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">X-Runtime: </span><span class="token number" style="color:rgb(247, 140, 108)">0.046477</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">10</span><span class="token plain"> May </span><span class="token number" style="color:rgb(247, 140, 108)">2023</span><span class="token plain"> 00:41:33 GMT</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Transfer-Encoding: chunked</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token plain">:8,</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;result&quot;</span><span class="token plain">:29.204100000000007</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_T23F"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/docs/docs/development"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Development</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/docs/docs/development/developing"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Developing COSMOS</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#curl-example-with-openc3-cosmos-open-source" class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Open Source</a></li><li><a href="#curl-example-with-openc3-cosmos-enterprise" class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Enterprise</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/docs/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/tools/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
13
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
14
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,19 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-development/developing" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
6
+ <title data-rh="true">Developing COSMOS | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/docs/docs/development/developing"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Developing COSMOS | OpenC3 Docs"><meta data-rh="true" name="description" content="So you want to help develop COSMOS? All of our open source COSMOS code is on Github so the first thing to do is get an account. Next clone the COSMOS repository. We accept contributions from others as Pull Requests."><meta data-rh="true" property="og:description" content="So you want to help develop COSMOS? All of our open source COSMOS code is on Github so the first thing to do is get an account. Next clone the COSMOS repository. We accept contributions from others as Pull Requests."><link data-rh="true" rel="icon" href="/tools/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/development/developing"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/development/developing" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/development/developing" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/docs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/docs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/docs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/docs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/docs/docs/development"><span itemprop="name">Development</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Developing COSMOS</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><h1>Developing COSMOS</h1><p>So you want to help develop COSMOS? All of our open source COSMOS code is on <a href="https://github.com/" target="_blank" rel="noopener noreferrer">Github</a> so the first thing to do is get an <a href="https://github.com/join" target="_blank" rel="noopener noreferrer">account</a>. Next <a href="https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository" target="_blank" rel="noopener noreferrer">clone</a> the <a href="https://github.com/openc3/cosmos" target="_blank" rel="noopener noreferrer">COSMOS</a> repository. We accept contributions from others as <a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests" target="_blank" rel="noopener noreferrer">Pull Requests</a>.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="development-tools">Development Tools<a href="#development-tools" class="hash-link" aria-label="Direct link to Development Tools" title="Direct link to Development Tools">​</a></h2><p>The core COSMOS team develops with the <a href="https://code.visualstudio.com/" target="_blank" rel="noopener noreferrer">Visual Studio Code</a> editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our <code>openc3.code-workspace</code> configuration for VSCode to help configure these plugins. You also need <a href="https://www.docker.com/products/docker-desktop" target="_blank" rel="noopener noreferrer">Docker Desktop</a> which you should already have as it is a requirement to run COSMOS. You&#x27;ll also need <a href="https://nodejs.org/en/download/" target="_blank" rel="noopener noreferrer">NodeJS</a> and <a href="https://yarnpkg.com/getting-started/install" target="_blank" rel="noopener noreferrer">yarn</a> installed.</p><h1>Building COSMOS</h1><p>Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts.</p><p>Build COSMOS using the <code>openc3.sh</code> script:</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">% ./openc3.sh build</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build!</p><p>Once the build completes you can see the built images with the following command:</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">% docker image ls | grep &quot;openc3&quot;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="theme-admonition theme-admonition-info alert alert--info admonition_qNG0"><div class="admonitionHeading_l909"><span class="admonitionIcon_UNbs"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Offline Building</div><div class="admonitionContent_oUmQ"><p>If you&#x27;re building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the <a href="https://github.com/openc3/cosmos/blob/main/.env" target="_blank" rel="noopener noreferrer">.env</a> file. Example values:</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">ALPINE_VERSION=3.15&lt;br/&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">ALPINE_BUILD=0&lt;br/&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">RUBYGEMS_URL=https://rubygems.org&lt;br/&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">NPM_URL=https://registry.npmjs.org&lt;br/&gt;</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">APK_URL=http://dl-cdn.alpinelinux.org&lt;br/&gt;</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h1>Running COSMOS</h1><p>Running COSMOS in development mode enables localhost access to internal API ports as well as sets <code>RAILS_ENV=development</code> in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode:</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">% ./openc3.sh dev</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space):</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">% docker ps</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">IMAGE COMMAND PORTS NAMES</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3/openc3-cmd-tlm-api:latest &quot;/sbin/tini -- rails…&quot; 127.0.0.1:2901-&gt;2901/tcp openc3_openc3-cmd-tlm-api_1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3/openc3-script-runner-api:latest &quot;/sbin/tini -- rails…&quot; 127.0.0.1:2902-&gt;2902/tcp openc3_openc3-script-runner-api_1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3/openc3-traefik:latest &quot;/entrypoint.sh trae…&quot; 0.0.0.0:2900-&gt;80/tcp openc3_openc3-traefik_1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3/openc3-operator:latest &quot;/sbin/tini -- ruby …&quot; openc3_openc3-operator_1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3/openc3-minio:latest &quot;/usr/bin/docker-ent…&quot; 127.0.0.1:9000-&gt;9000/tcp openc3_openc3-minio_1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3/openc3-redis:latest &quot;docker-entrypoint.s…&quot; 127.0.0.1:6379-&gt;6379/tcp openc3_openc3-redis_1</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>If you go to localhost:2900 you should see COSMOS up and running!</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="running-a-frontend-application">Running a Frontend Application<a href="#running-a-frontend-application" class="hash-link" aria-label="Direct link to Running a Frontend Application" title="Direct link to Running a Frontend Application">​</a></h2><p>So now that you have COSMOS up and running how do you develop an individual COSMOS application?</p><ol><li><p>Bootstrap the frontend with yarn</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3-init % yarn</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc)</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3-init % cd plugins/packages/openc3-tool-scriptrunner</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3-tool-scriptrunner % yarn serve</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">DONE Compiled successfully in 128722ms</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">App running at:</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">- Local: http://localhost:2914/tools/scriptrunner/</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">- Network: http://localhost:2914/tools/scriptrunner/</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">Note that the development build is not optimized.</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">To create a production build, run npm run build.</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>Set the <a href="https://single-spa.js.org/" target="_blank" rel="noopener noreferrer">single SPA</a> override for the application</p><p>Visit localhost:2900 and Right-click &#x27;Inspect&#x27;<br>
13
+ In the console paste:</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">localStorage.setItem(&#x27;devtools&#x27;, true)</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Refresh and you should see <code>{...}</code> in the bottom right<br>
14
+ Click the Default button next to the application (@openc3/tool-scriptrunner)<br>
15
+ Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner)</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">http://localhost:2914/tools/scriptrunner/js/app.js</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like <code>console.log</code>) the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser&#x27;s <a href="https://developer.chrome.com/docs/devtools/overview/" target="_blank" rel="noopener noreferrer">development tools</a> if you plan to do frontend development.</p></li></ol><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="running-a-backend-server">Running a Backend Server<a href="#running-a-backend-server" class="hash-link" aria-label="Direct link to Running a Backend Server" title="Direct link to Running a Backend Server">​</a></h2><p>If the code you want to develop is the cmd-tlm-api or script-runner-api backend servers there are several steps to enable access to a development copy.</p><ol><li><p>Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations.</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">% cd openc3-traefik</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">traefik % docker ps</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"># Look for the container with name including traefik</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">traefik % docker stop openc3_openc3-traefik_1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">traefik % docker build -f Dockerfile-dev -t openc3-traefik-dev .</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">traefik % docker run --network=openc3-cosmos-network -p 2900:80 -it --rm openc3-traefik-dev</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>Run a local copy of the cmd-tlm-api or script-runner-api</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">% cd openc3-cmd-tlm-api</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3-cmd-tlm-api % docker ps</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"># Look for the container with name including cmd-tlm-api</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3-cmd-tlm-api % docker stop openc3_openc3-cmd-tlm-api_1</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"># Set all the environment variables in the .env file</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3-cmd-tlm-api % bundle install</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">openc3-cmd-tlm-api % bundle exec rails s</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>Once the <code>rails s</code> command returns you should see API requests coming from interations in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect.</p></li></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_T23F"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/docs/docs/development/curl"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Testing with Curl</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/docs/docs/development/host-install"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Host Install</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#development-tools" class="table-of-contents__link toc-highlight">Development Tools</a></li><li><a href="#running-a-frontend-application" class="table-of-contents__link toc-highlight">Running a Frontend Application</a></li><li><a href="#running-a-backend-server" class="table-of-contents__link toc-highlight">Running a Backend Server</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/docs/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/tools/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
16
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
17
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
18
+ </body>
19
+ </html>
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-development/host-install" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
6
+ <title data-rh="true">Host Install | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/docs/docs/development/host-install"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Host Install | OpenC3 Docs"><meta data-rh="true" name="description" content="Installing COSMOS Directly onto a Host (No Containers)"><meta data-rh="true" property="og:description" content="Installing COSMOS Directly onto a Host (No Containers)"><link data-rh="true" rel="icon" href="/tools/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/development/host-install"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/development/host-install" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/development/host-install" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/docs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/docs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/docs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/docs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/docs/docs/development"><span itemprop="name">Development</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Host Install</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Host Install</h1></header><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="installing-cosmos-directly-onto-a-host-no-containers">Installing COSMOS Directly onto a Host (No Containers)<a href="#installing-cosmos-directly-onto-a-host-no-containers" class="hash-link" aria-label="Direct link to Installing COSMOS Directly onto a Host (No Containers)" title="Direct link to Installing COSMOS Directly onto a Host (No Containers)">​</a></h2><p>Note: THIS IS NOT A RECOMMENDED CONFIGURATION.</p><p>COSMOS 5 is released as containers and intended to be run as containers. However, for various reasons someone might want to run COSMOS directly on a host. These instructions will walk through getting COSMOS 5 installed and running directly on RHEL 7 or Centos 7. This configuration will create a working install, but falls short of the ideal in that it does not setup the COSMOS processes as proper services on the host OS (that restart themselves on boot, and maintain themselves running in case of errors). Contributions that add that functionality are welcome.</p><p>Let&#x27;s get started.</p><ol><li><p>The starting assumption is that you have a fresh install of either RHEL 7 or Centos 7. You are running as a normal user that has sudo permissions, and has git installed.</p></li><li><p>Start by downloading the latest working version of COSMOS from Github</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> ~</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">git</span><span class="token plain"> clone https://github.com/openc3/cosmos.git</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>Run the COSMOS installation script</p><p>If you are feeling brave, you can run the one large installer script that installs everything in one step:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> cosmos/examples/hostinstall/centos7</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_install.sh</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Or, you may want to break it down to the same steps that are in that script, and make sure each individual step is successful:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> cosmos/examples/hostinstall/centos7</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_install_packages.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_install_ruby.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_install_redis.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_install_minio.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_install_traefik.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_install_openc3.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_start_services.sh</span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">./openc3_first_init.sh</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></li><li><p>If all was successful, you should be able to open Firefox, and goto: http://localhost:2900. Congrats you have COSMOS running directly on a host.</p></li><li><p>As stated at the beginning, this is not currently a supported configuration. Contributions that help to improve it are welcome.</p></li></ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/host-install.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_T23F"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/docs/docs/development/developing"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Developing COSMOS</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/docs/docs/development/json-api"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">JSON API</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#installing-cosmos-directly-onto-a-host-no-containers" class="table-of-contents__link toc-highlight">Installing COSMOS Directly onto a Host (No Containers)</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/docs/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/tools/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
13
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
14
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-development/json-api" data-has-hydrated="false">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="generator" content="Docusaurus v2.4.3">
6
+ <title data-rh="true">JSON API | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/docs/docs/development/json-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="JSON API | OpenC3 Docs"><meta data-rh="true" name="description" content="If you&#x27;re looking for the methods available to write test procedures using the COSMOS scripting API, refer to the Scripting API Guide page. If you&#x27;re trying to interface to a COSMOS Command and Telemetry Server from an external application using any language then this is the right place."><meta data-rh="true" property="og:description" content="If you&#x27;re looking for the methods available to write test procedures using the COSMOS scripting API, refer to the Scripting API Guide page. If you&#x27;re trying to interface to a COSMOS Command and Telemetry Server from an external application using any language then this is the right place."><link data-rh="true" rel="icon" href="/tools/docs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/docs/docs/development/json-api"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/development/json-api" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/docs/docs/development/json-api" hreflang="x-default"><link rel="stylesheet" href="/tools/docs/assets/css/styles.7bc79028.css">
7
+ <link rel="preload" href="/tools/docs/assets/js/runtime~main.e3a6c705.js" as="script">
8
+ <link rel="preload" href="/tools/docs/assets/js/main.b5a535c2.js" as="script">
9
+ </head>
10
+ <body class="navigation-with-keyboard">
11
+ <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
12
+ <div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/docs/"><div class="navbar__logo"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--light_riBm"><img src="/tools/docs/img/logo.svg" alt="OpenC3 Logo" class="themedImage_RWGG themedImage--dark_Dsi0"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/docs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="searchBox_xrOJ"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV docsWrapper_BqXd"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docPage_pOTq"><aside class="theme-doc-sidebar-container docSidebarContainer_aIKW"><div class="sidebarViewport_DwR9"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/docs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/getting-started">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/tools">Tools</a><button aria-label="Toggle the collapsible sidebar category &#x27;Tools&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/guides">Guides</a><button aria-label="Toggle the collapsible sidebar category &#x27;Guides&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/docs/docs/development">Development</a><button aria-label="Toggle the collapsible sidebar category &#x27;Development&#x27;" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/docs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/docs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/docs/docs/meta">Meta</a><button aria-label="Toggle the collapsible sidebar category &#x27;Meta&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/docs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_fv3b"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/docs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/docs/docs/development"><span itemprop="name">Development</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">JSON API</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>JSON API</h1></header><div class="theme-admonition theme-admonition-note alert alert--secondary admonition_qNG0"><div class="admonitionHeading_l909"><span class="admonitionIcon_UNbs"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>This documentation is for COSMOS Developers</div><div class="admonitionContent_oUmQ"><p>If you&#x27;re looking for the methods available to write test procedures using the COSMOS scripting API, refer to the <a href="/tools/docs/docs/guides/scripting-api">Scripting API Guide</a> page. If you&#x27;re trying to interface to a COSMOS Command and Telemetry Server from an external application using any language then this is the right place.</p></div></div><p>This document provides the information necessary for external applications to interact with the COSMOS Command and Telemetry Server using the COSMOS API. External applications written in any language can send commands and retrieve individual telemetry points using this API. External applications also have the option of connecting to the COSMOS Command and Telemetry server to interact with raw tcp/ip streams of commands/telemetry. However, the COSMOS JSON API removes the requirement that external applications have knowledge of the binary formats of packets.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="authorization">Authorization<a href="#authorization" class="hash-link" aria-label="Direct link to Authorization" title="Direct link to Authorization">​</a></h2><p>The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header.</p><div class="codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-text codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">Authorization: &lt;token/password&gt;</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="json-rpc-20">JSON-RPC 2.0<a href="#json-rpc-20" class="hash-link" aria-label="Direct link to JSON-RPC 2.0" title="Direct link to JSON-RPC 2.0">​</a></h2><p>The COSMOS API implements a relaxed version of the <a href="http://www.jsonrpc.org/specification" target="_blank" rel="noopener noreferrer">JSON-RPC 2.0 Specification</a>. Requests with an &quot;id&quot; of NULL are not supported. Numbers can contain special non-string literal&#x27;s such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a <code>&quot;keyword_params&quot;</code> object.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="socket-connections">Socket Connections<a href="#socket-connections" class="hash-link" aria-label="Direct link to Socket Connections" title="Direct link to Socket Connections">​</a></h2><p>The COSMOS Command and Telemetry Server listens for connections to the COSMOS API on an HTTP server (default port of 7777).</p><p>COSMOS listens for HTTP API requests at the default 2900 port at the <code>/openc3-api/api</code> endpoint.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="supported-methods">Supported Methods<a href="#supported-methods" class="hash-link" aria-label="Direct link to Supported Methods" title="Direct link to Supported Methods">​</a></h2><p>The list of methods supported by the COSMOS API may be found in the <a href="https://github.com/openc3/cosmos/tree/main/openc3/lib/openc3/api" target="_blank" rel="noopener noreferrer">api</a> source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the <a href="/tools/docs/docs/guides/script-writing">Scripting Writing Guide</a>. This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="existing-implementations">Existing Implementations<a href="#existing-implementations" class="hash-link" aria-label="Direct link to Existing Implementations" title="Direct link to Existing Implementations">​</a></h2><p>The COSMOS JSON API has been implemented in the following languages: Ruby, Python and Javascript.</p><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="example-usage">Example Usage<a href="#example-usage" class="hash-link" aria-label="Direct link to Example Usage" title="Direct link to Example Usage">​</a></h2><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="sending-commands">Sending Commands<a href="#sending-commands" class="hash-link" aria-label="Direct link to Sending Commands" title="Direct link to Sending Commands">​</a></h3><p>The following methods are used to send commands: cmd, cmd_no_range_check, cmd_no_hazardous_check, cmd_no_checks</p><p>The cmd method sends a command to a COSMOS target in the system. The cmd_no_range_check method does the same but ignores parameter range errors. The cmd_no_hazardous_check method does the same, but allows hazardous commands to be sent. The cmd_no_checks method does the same but allows hazardous commands to be sent, and ignores range errors.</p><p>Two parameter syntaxes are supported.</p><p>The first is a single string of the form &quot;TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ...&quot; The &quot;with ...&quot; portion of the string is optional. Any unspecified parameters will be given default values.</p><table><thead><tr><th>Parameter</th><th>Data Type</th><th>Description</th></tr></thead><tbody><tr><td>command_string</td><td>string</td><td>A single string containing all required information for the command</td></tr></tbody></table><p>The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used.</p><table><thead><tr><th>Parameter</th><th>Data Type</th><th>Description</th></tr></thead><tbody><tr><td>target_name</td><td>String</td><td>Name of the target to send the command to</td></tr><tr><td>command_name</td><td>String</td><td>The name of the command</td></tr><tr><td>command_params</td><td>Hash</td><td>Optional hash of command parameters</td></tr></tbody></table><p>Example Usage:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;method&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;cmd&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;params&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE &#x27;NORMAL&#x27;&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;keyword_params&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;scope&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;DEFAULT&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;result&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;INST&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;COLLECT&quot;</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;DURATION&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;TEMP&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;TYPE&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;NORMAL&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;method&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;cmd&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;params&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;INST&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;COLLECT&quot;</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;DURATION&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;TEMP&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;TYPE&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;NORMAL&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;keyword_params&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;scope&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;DEFAULT&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;result&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;INST&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;COLLECT&quot;</span><span class="token plain">, </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;DURATION&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;TEMP&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">0.0</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;TYPE&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;NORMAL&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_fF9Z" id="getting-telemetry">Getting Telemetry<a href="#getting-telemetry" class="hash-link" aria-label="Direct link to Getting Telemetry" title="Direct link to Getting Telemetry">​</a></h3><p>The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units</p><p>The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end.</p><p>Two parameter syntaxes are supported.</p><p>The first is a single string of the form &quot;TARGET_NAME PACKET_NAME ITEM_NAME&quot;</p><table><thead><tr><th>Parameter</th><th>Data Type</th><th>Description</th></tr></thead><tbody><tr><td>tlm_string</td><td>String</td><td>A single string containing all required information for the telemetry item</td></tr></tbody></table><p>The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name.</p><table><thead><tr><th>Parameter</th><th>Data Type</th><th>Description</th></tr></thead><tbody><tr><td>target_name</td><td>String</td><td>Name of the target to get the telemetry value from</td></tr><tr><td>packet_name</td><td>String</td><td>Name of the packet to get the telemetry value from</td></tr><tr><td>item_name</td><td>String</td><td>Name of the telemetry item</td></tr></tbody></table><p>Example Usage:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;method&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;tlm&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;params&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;INST HEALTH_STATUS TEMP1&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;keyword_params&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;scope&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;DEFAULT&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;result&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">94.9438</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain">--</span><span class="token operator" style="color:rgb(127, 219, 202)">&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;method&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;tlm&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;params&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;INST&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;HEALTH_STATUS&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;TEMP1&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;keyword_params&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;scope&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;DEFAULT&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#d6deeb"><span class="token plain"></span><span class="token operator" style="color:rgb(127, 219, 202)">&lt;</span><span class="token plain">-- </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">&quot;jsonrpc&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;2.0&quot;</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;result&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">94.9438</span><span class="token plain">, </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;id&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">2</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_fF9Z" id="further-debugging">Further Debugging<a href="#further-debugging" class="hash-link" aria-label="Direct link to Further Debugging" title="Direct link to Further Debugging">​</a></h2><p>If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation.</p><ol><li>Launch COSMOS</li><li>Open Command Sender</li><li>Open browser developer tools (right-click-&gt;Inspect in Chrome)</li><li>Click &quot;Network&quot; tab (may need to add it with <code>+</code> button)</li><li>Send a command with the GUI</li><li>View the request in the developer tool. Click the &quot;Payload&quot; sub-tab to view the JSON</li></ol><p>You can also try sending these raw commands from the terminal with a program like <code>curl</code>:</p><div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#d6deeb;--prism-background-color:#011627"><div class="codeBlockContent_qZBB"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#d6deeb"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -d </span><span class="token string" style="color:rgb(173, 219, 103)">&#x27;{&quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;method&quot;: &quot;tlm&quot;, &quot;params&quot;: [&quot;INST HEALTH_STATUS TEMP1&quot;], &quot;id&quot;: 2, &quot;keyword_params&quot;:{&quot;type&quot;:&quot;WITH_UNITS&quot;,&quot;scope&quot;:&quot;DEFAULT&quot;}}&#x27;</span><span class="token plain"> http://localhost:2900/openc3-api/api -H </span><span class="token string" style="color:rgb(173, 219, 103)">&quot;Authorization: password&quot;</span><br></span></code></pre><div class="buttonGroup_TNwR"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_MVhB" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_yxgH"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_QJLJ"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/json-api.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_T23F"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/docs/docs/development/host-install"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Host Install</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/docs/docs/development/log-structure"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Log Structure</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#authorization" class="table-of-contents__link toc-highlight">Authorization</a></li><li><a href="#json-rpc-20" class="table-of-contents__link toc-highlight">JSON-RPC 2.0</a></li><li><a href="#socket-connections" class="table-of-contents__link toc-highlight">Socket Connections</a></li><li><a href="#supported-methods" class="table-of-contents__link toc-highlight">Supported Methods</a></li><li><a href="#existing-implementations" class="table-of-contents__link toc-highlight">Existing Implementations</a></li><li><a href="#example-usage" class="table-of-contents__link toc-highlight">Example Usage</a><ul><li><a href="#sending-commands" class="table-of-contents__link toc-highlight">Sending Commands</a></li><li><a href="#getting-telemetry" class="table-of-contents__link toc-highlight">Getting Telemetry</a></li></ul></li><li><a href="#further-debugging" class="table-of-contents__link toc-highlight">Further Debugging</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/docs/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/tools/docs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 OpenC3, Inc.</div></div></div></footer></div>
13
+ <script src="/tools/docs/assets/js/runtime~main.e3a6c705.js"></script>
14
+ <script src="/tools/docs/assets/js/main.b5a535c2.js"></script>
15
+ </body>
16
+ </html>