openc3-cosmos-tool-docs 6.0.1 → 6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/tools/staticdocs/404.html +1 -1
- data/tools/staticdocs/assets/css/{styles.839a3ee9.css → styles.1de6b959.css} +1 -1
- data/tools/staticdocs/assets/images/arrayplot-ab4963f7ad4eb1d7ecc646065dd43b4816a06367fa5e07d58b8cf520deff931e.png +0 -0
- data/tools/staticdocs/assets/js/{019369f3.8413befc.js → 019369f3.1a6a0205.js} +1 -1
- data/tools/staticdocs/assets/js/{058ffc22.a4ceeb8e.js → 058ffc22.5cfabd67.js} +1 -1
- data/tools/staticdocs/assets/js/{0686a885.ae0a89e8.js → 0686a885.0e2ea47d.js} +1 -1
- data/tools/staticdocs/assets/js/{078dbab0.90ef4019.js → 078dbab0.5515d5e3.js} +1 -1
- data/tools/staticdocs/assets/js/{0f5d161c.1c827de2.js → 0f5d161c.7697df48.js} +1 -1
- data/tools/staticdocs/assets/js/{0ff569c9.3b7f9c95.js → 0ff569c9.f81b787b.js} +1 -1
- data/tools/staticdocs/assets/js/{103cc3be.76716a45.js → 103cc3be.e7943c80.js} +1 -1
- data/tools/staticdocs/assets/js/{13196248.18801ae0.js → 13196248.ea83002e.js} +1 -1
- data/tools/staticdocs/assets/js/{13c1b4e4.4457fa9a.js → 13c1b4e4.eb5250f4.js} +1 -1
- data/tools/staticdocs/assets/js/1e02e6a3.f477eca7.js +1 -0
- data/tools/staticdocs/assets/js/{2047b354.9470f5c9.js → 2047b354.d91f6c3e.js} +1 -1
- data/tools/staticdocs/assets/js/{22b3ac48.ac895789.js → 22b3ac48.0df9587b.js} +1 -1
- data/tools/staticdocs/assets/js/26b8abb2.7f8d4cb0.js +1 -0
- data/tools/staticdocs/assets/js/{2bb7bf90.471e10a1.js → 2bb7bf90.4051cf46.js} +1 -1
- data/tools/staticdocs/assets/js/31436304.a6b2eb4a.js +1 -0
- data/tools/staticdocs/assets/js/3969.afdd070b.js +1 -0
- data/tools/staticdocs/assets/js/{3dd7ef3b.d8bb37a8.js → 3dd7ef3b.c3455b97.js} +1 -1
- data/tools/staticdocs/assets/js/{40365d27.5f8a5da7.js → 40365d27.5ed2e9b5.js} +1 -1
- data/tools/staticdocs/assets/js/{411898ad.c8f67fde.js → 411898ad.f7fc4d80.js} +1 -1
- data/tools/staticdocs/assets/js/{42170351.86617d4a.js → 42170351.fbc05869.js} +1 -1
- data/tools/staticdocs/assets/js/{43652efd.0c473c25.js → 43652efd.60fa883f.js} +1 -1
- data/tools/staticdocs/assets/js/{2124.0e1f26f5.js → 5205.c6f31e57.js} +1 -1
- data/tools/staticdocs/assets/js/5328.3e2a53eb.js +1 -0
- data/tools/staticdocs/assets/js/53ca7c5b.fe331a71.js +1 -0
- data/tools/staticdocs/assets/js/{54d0d530.9ace531c.js → 54d0d530.ef91ba12.js} +1 -1
- data/tools/staticdocs/assets/js/5761.e7fabbc9.js +4 -0
- data/tools/staticdocs/assets/js/{5b233ba7.565c0c28.js → 5b233ba7.2ea0179c.js} +1 -1
- data/tools/staticdocs/assets/js/{5bc719f6.80b7b43c.js → 5bc719f6.b84c55e3.js} +1 -1
- data/tools/staticdocs/assets/js/{5c6ce5ec.ed839e0d.js → 5c6ce5ec.67d1d92e.js} +1 -1
- data/tools/staticdocs/assets/js/5e3ed378.8b51f7c0.js +1 -0
- data/tools/staticdocs/assets/js/5fe211ef.63b46202.js +1 -0
- data/tools/staticdocs/assets/js/651.a043d7b1.js +1 -0
- data/tools/staticdocs/assets/js/6831b732.bb38c0d0.js +1 -0
- data/tools/staticdocs/assets/js/{696b4199.34aa1d77.js → 696b4199.2a7ff897.js} +1 -1
- data/tools/staticdocs/assets/js/6b210247.ef28d4e5.js +1 -0
- data/tools/staticdocs/assets/js/{6b65133b.f71c0e94.js → 6b65133b.0376a397.js} +1 -1
- data/tools/staticdocs/assets/js/{6f92e431.c98e31e0.js → 6f92e431.d2ce2753.js} +1 -1
- data/tools/staticdocs/assets/js/72c6d8a8.b6fcfc30.js +1 -0
- data/tools/staticdocs/assets/js/{75e64983.45bf7edc.js → 75e64983.81988bef.js} +1 -1
- data/tools/staticdocs/assets/js/{80c97f38.5a408d9c.js → 80c97f38.607160d3.js} +1 -1
- data/tools/staticdocs/assets/js/{867640d5.866fe67b.js → 867640d5.2c0fa6d9.js} +1 -1
- data/tools/staticdocs/assets/js/89e76475.a76d0072.js +1 -0
- data/tools/staticdocs/assets/js/{8f7843ee.59da8025.js → 8f7843ee.abe30983.js} +1 -1
- data/tools/staticdocs/assets/js/9357.9a7e89b5.js +101 -0
- data/tools/staticdocs/assets/js/9424f0b3.5385d87f.js +1 -0
- data/tools/staticdocs/assets/js/{97535711.94a5b402.js → 97535711.88c7444a.js} +1 -1
- data/tools/staticdocs/assets/js/99581c43.5e55992d.js +1 -0
- data/tools/staticdocs/assets/js/9d6e81d0.28913d59.js +1 -0
- data/tools/staticdocs/assets/js/9fb6059a.821f7504.js +1 -0
- data/tools/staticdocs/assets/js/a677c089.2512b608.js +1 -0
- data/tools/staticdocs/assets/js/a9987364.81e9c91d.js +1 -0
- data/tools/staticdocs/assets/js/aa6b6c1b.40e48e37.js +1 -0
- data/tools/staticdocs/assets/js/{b4596165.a5fe2cea.js → b4596165.c648533a.js} +1 -1
- data/tools/staticdocs/assets/js/{b6d70f94.5df56282.js → b6d70f94.7813125e.js} +1 -1
- data/tools/staticdocs/assets/js/{b9f60ba6.cdb4a698.js → b9f60ba6.4c0bb1dd.js} +1 -1
- data/tools/staticdocs/assets/js/{bd0034eb.5fb449fc.js → bd0034eb.8ad39448.js} +1 -1
- data/tools/staticdocs/assets/js/{c24eae19.f419c8fb.js → c24eae19.89738127.js} +1 -1
- data/tools/staticdocs/assets/js/{c2598f55.85419dc8.js → c2598f55.812cdcd1.js} +1 -1
- data/tools/staticdocs/assets/js/{cb8c3f08.9264e5dd.js → cb8c3f08.07d1c9e9.js} +1 -1
- data/tools/staticdocs/assets/js/{cd879be4.aa3c877c.js → cd879be4.59af1749.js} +1 -1
- data/tools/staticdocs/assets/js/{d1b923aa.de9e8fd6.js → d1b923aa.a73e7e79.js} +1 -1
- data/tools/staticdocs/assets/js/d1bfc316.a58b9bbd.js +1 -0
- data/tools/staticdocs/assets/js/{d24bf9b6.1cb515f4.js → d24bf9b6.9fef8263.js} +1 -1
- data/tools/staticdocs/assets/js/{d57a4b5d.09769a64.js → d57a4b5d.c74b62b1.js} +1 -1
- data/tools/staticdocs/assets/js/{d5d77c37.1704d750.js → d5d77c37.e812e6e7.js} +1 -1
- data/tools/staticdocs/assets/js/{d66bf9c0.9a597f56.js → d66bf9c0.842d2efa.js} +1 -1
- data/tools/staticdocs/assets/js/d8ca4191.f5da7c6d.js +1 -0
- data/tools/staticdocs/assets/js/{d9b92eba.5a40eb6d.js → d9b92eba.34e63ba6.js} +1 -1
- data/tools/staticdocs/assets/js/{db8fa1d0.f9f65c91.js → db8fa1d0.94b76b52.js} +1 -1
- data/tools/staticdocs/assets/js/{dbe31111.dae4b9bd.js → dbe31111.75e9fc53.js} +1 -1
- data/tools/staticdocs/assets/js/dc5f7beb.9e4e6681.js +1 -0
- data/tools/staticdocs/assets/js/{e501b0d1.cb2ef34f.js → e501b0d1.d3a1e4bc.js} +1 -1
- data/tools/staticdocs/assets/js/{ebec1ccb.086b8668.js → ebec1ccb.120a5b80.js} +1 -1
- data/tools/staticdocs/assets/js/{f15615f1.afd4ba93.js → f15615f1.49804e96.js} +1 -1
- data/tools/staticdocs/assets/js/fd886806.124ffe26.js +1 -0
- data/tools/staticdocs/assets/js/main.d3e77dd5.js +36 -0
- data/tools/staticdocs/assets/js/runtime~main.92ff792a.js +1 -0
- data/tools/staticdocs/docs/configuration/accessors.html +2 -2
- data/tools/staticdocs/docs/configuration/command.html +12 -2
- data/tools/staticdocs/docs/configuration/format.html +2 -2
- data/tools/staticdocs/docs/configuration/interfaces.html +6 -2
- data/tools/staticdocs/docs/configuration/plugins.html +4 -4
- data/tools/staticdocs/docs/configuration/protocols.html +2 -2
- data/tools/staticdocs/docs/configuration/ssl-tls.html +2 -2
- data/tools/staticdocs/docs/configuration/table.html +12 -2
- data/tools/staticdocs/docs/configuration/target.html +2 -2
- data/tools/staticdocs/docs/configuration/telemetry-screens.html +60 -25
- data/tools/staticdocs/docs/configuration/telemetry.html +2 -2
- data/tools/staticdocs/docs/configuration.html +1 -1
- data/tools/staticdocs/docs/development/curl.html +2 -2
- data/tools/staticdocs/docs/development/developing.html +3 -3
- data/tools/staticdocs/docs/development/json-api.html +2 -2
- data/tools/staticdocs/docs/development/log-structure.html +2 -2
- data/tools/staticdocs/docs/development/roadmap.html +2 -2
- data/tools/staticdocs/docs/development/streaming-api.html +2 -2
- data/tools/staticdocs/docs/development/testing.html +2 -2
- data/tools/staticdocs/docs/development.html +1 -1
- data/tools/staticdocs/docs/getting-started/generators.html +2 -2
- data/tools/staticdocs/docs/getting-started/gettingstarted.html +2 -2
- data/tools/staticdocs/docs/getting-started/installation.html +2 -2
- data/tools/staticdocs/docs/getting-started/key_concepts.html +2 -2
- data/tools/staticdocs/docs/getting-started/podman.html +2 -2
- data/tools/staticdocs/docs/getting-started/requirements.html +2 -2
- data/tools/staticdocs/docs/getting-started/upgrading.html +2 -2
- data/tools/staticdocs/docs/getting-started.html +1 -1
- data/tools/staticdocs/docs/guides/bridges.html +2 -2
- data/tools/staticdocs/docs/guides/cfs.html +2 -2
- data/tools/staticdocs/docs/guides/custom-widgets.html +2 -2
- data/tools/staticdocs/docs/guides/exposing_microservices.html +33 -0
- data/tools/staticdocs/docs/guides/little-endian-bitfields.html +2 -2
- data/tools/staticdocs/docs/guides/local-mode.html +2 -2
- data/tools/staticdocs/docs/guides/logging.html +2 -2
- data/tools/staticdocs/docs/guides/monitoring.html +2 -2
- data/tools/staticdocs/docs/guides/performance.html +2 -2
- data/tools/staticdocs/docs/guides/raspberrypi.html +2 -2
- data/tools/staticdocs/docs/guides/script-writing.html +2 -2
- data/tools/staticdocs/docs/guides/scripting-api.html +496 -125
- data/tools/staticdocs/docs/guides.html +1 -1
- data/tools/staticdocs/docs/meta/contributing.html +2 -2
- data/tools/staticdocs/docs/meta/licenses.html +2 -2
- data/tools/staticdocs/docs/meta/philosophy.html +2 -2
- data/tools/staticdocs/docs/meta/xtce.html +2 -2
- data/tools/staticdocs/docs/meta.html +1 -1
- data/tools/staticdocs/docs/privacy.html +2 -2
- data/tools/staticdocs/docs/tools/admin.html +2 -2
- data/tools/staticdocs/docs/tools/autonomic.html +2 -2
- data/tools/staticdocs/docs/tools/bucket-explorer.html +2 -2
- data/tools/staticdocs/docs/tools/calendar.html +2 -2
- data/tools/staticdocs/docs/tools/cmd-sender.html +2 -2
- data/tools/staticdocs/docs/tools/cmd-tlm-server.html +2 -2
- data/tools/staticdocs/docs/tools/command_history.html +2 -2
- data/tools/staticdocs/docs/tools/data-extractor.html +2 -2
- data/tools/staticdocs/docs/tools/data-viewer.html +2 -2
- data/tools/staticdocs/docs/tools/handbooks.html +2 -2
- data/tools/staticdocs/docs/tools/limits-monitor.html +2 -2
- data/tools/staticdocs/docs/tools/packet-viewer.html +2 -2
- data/tools/staticdocs/docs/tools/script-runner.html +2 -2
- data/tools/staticdocs/docs/tools/table-manager.html +2 -2
- data/tools/staticdocs/docs/tools/tlm-grapher.html +2 -2
- data/tools/staticdocs/docs/tools/tlm-viewer.html +2 -2
- data/tools/staticdocs/docs/tools.html +1 -1
- data/tools/staticdocs/docs.html +2 -2
- data/tools/staticdocs/img/telemetry_viewer/widgets/arrayplot.png +0 -0
- data/tools/staticdocs/index.html +1 -1
- data/tools/staticdocs/lunr-index-1738736939408.json +1 -0
- data/tools/staticdocs/lunr-index.json +1 -1
- data/tools/staticdocs/markdown-page.html +2 -2
- data/tools/staticdocs/search-doc-1738736939408.json +1 -0
- data/tools/staticdocs/search-doc.json +1 -1
- data/tools/staticdocs/sitemap.xml +1 -1
- metadata +85 -81
- data/tools/staticdocs/assets/js/1602.1e622848.js +0 -1
- data/tools/staticdocs/assets/js/1e02e6a3.8e63f255.js +0 -1
- data/tools/staticdocs/assets/js/26b8abb2.45d268b1.js +0 -1
- data/tools/staticdocs/assets/js/3040.18a0bb2a.js +0 -4
- data/tools/staticdocs/assets/js/3687.6fa52db1.js +0 -101
- data/tools/staticdocs/assets/js/4303.a84f454a.js +0 -1
- data/tools/staticdocs/assets/js/53ca7c5b.f0e35da3.js +0 -1
- data/tools/staticdocs/assets/js/5e3ed378.048e258b.js +0 -1
- data/tools/staticdocs/assets/js/5fe211ef.96109971.js +0 -1
- data/tools/staticdocs/assets/js/6831b732.4008a669.js +0 -1
- data/tools/staticdocs/assets/js/6b210247.d37e3087.js +0 -1
- data/tools/staticdocs/assets/js/72c6d8a8.1053fbd7.js +0 -1
- data/tools/staticdocs/assets/js/7690.fc05b8e6.js +0 -1
- data/tools/staticdocs/assets/js/89e76475.b4e9da15.js +0 -1
- data/tools/staticdocs/assets/js/9424f0b3.cc8aa06e.js +0 -1
- data/tools/staticdocs/assets/js/99581c43.ebea1d08.js +0 -1
- data/tools/staticdocs/assets/js/9d6e81d0.4bc52207.js +0 -1
- data/tools/staticdocs/assets/js/9fb6059a.57936fbe.js +0 -1
- data/tools/staticdocs/assets/js/a677c089.d8d7a8f5.js +0 -1
- data/tools/staticdocs/assets/js/a9987364.2aa836fd.js +0 -1
- data/tools/staticdocs/assets/js/aa6b6c1b.993f091d.js +0 -1
- data/tools/staticdocs/assets/js/d1bfc316.82dd17ab.js +0 -1
- data/tools/staticdocs/assets/js/d8ca4191.1861d710.js +0 -1
- data/tools/staticdocs/assets/js/dc5f7beb.15fc7cc8.js +0 -1
- data/tools/staticdocs/assets/js/fd886806.fa25adc4.js +0 -1
- data/tools/staticdocs/assets/js/main.c4acbd62.js +0 -36
- data/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js +0 -1
- data/tools/staticdocs/lunr-index-1734734383200.json +0 -1
- data/tools/staticdocs/search-doc-1734734383200.json +0 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/curl" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Testing with Curl | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width,initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/curl><meta data-rh=true property=og:locale content=en><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="How to use Curl to hit the COSMOS APIs"><meta data-rh=true property=og:description content="How to use Curl to hit the COSMOS APIs"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/curl><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><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"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></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/staticdocs/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=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search 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"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><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/staticdocs/docs>Introduction</a><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" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true 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/staticdocs/docs/development/curl>Testing with Curl</a><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/staticdocs/docs/development/developing>Developing COSMOS</a><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/staticdocs/docs/development/json-api>JSON API</a><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/staticdocs/docs/development/log-structure>Log Structure</a><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/staticdocs/docs/development/roadmap>Roadmap</a><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/staticdocs/docs/development/streaming-api>Streaming API</a><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/staticdocs/docs/development/testing>Testing COSMOS</a></ul><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" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><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/staticdocs/><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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><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></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 admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><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"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_bl22><p>This information is just generally used behind the scenes in COSMOS tools</div></div>
|
1
|
+
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/curl" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Testing with Curl | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/curl><meta data-rh=true property=og:locale content=en><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="How to use Curl to hit the COSMOS APIs"><meta data-rh=true property=og:description content="How to use Curl to hit the COSMOS APIs"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/curl><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.92ff792a.js defer></script><script src=/tools/staticdocs/assets/js/main.d3e77dd5.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><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"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></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/staticdocs/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=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search 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"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><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/staticdocs/docs>Introduction</a><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" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true 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/staticdocs/docs/development/curl>Testing with Curl</a><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/staticdocs/docs/development/developing>Developing COSMOS</a><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/staticdocs/docs/development/json-api>JSON API</a><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/staticdocs/docs/development/log-structure>Log Structure</a><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/staticdocs/docs/development/roadmap>Roadmap</a><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/staticdocs/docs/development/streaming-api>Streaming API</a><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/staticdocs/docs/development/testing>Testing COSMOS</a></ul><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" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><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/staticdocs/><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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><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></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 admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><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"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_bl22><p>This information is just generally used behind the scenes in COSMOS tools</div></div>
|
2
2
|
<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>
|
3
3
|
<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>
|
4
4
|
<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>
|
@@ -35,4 +35,4 @@
|
|
35
35
|
<li>Request Result (this URL is a little different because the results are saved in redis)</li>
|
36
36
|
</ol>
|
37
37
|
<p>Below is a bash script which does all the above given some options. It requires <code>curl</code> for the web requests and <code>jq</code> for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result.</p>
|
38
|
-
<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" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token shebang important">#!/bin/bash</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-e</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">TARGET</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${1</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TARGET'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${2</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'procedures</span><span class="token variable operator" style="color:rgb(127, 219, 202)">/</span><span class="token variable" style="color:rgb(214, 222, 235)">cmd_tlm_test.rb'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SUITE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${3</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TestSuite'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">COSMOS_HOST</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">'http://localhost:2900'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_API</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/script-api"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"scripts/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$TARGET</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">CURL_ARGS</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><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Authorization: password'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept-Language: en-US,en;q=0.9'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Connection: keep-alive'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Content-Type: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--insecure</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--silent</span><span class="token plain"> </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 comment" style="color:rgb(99, 119, 119);font-style:italic"># Lock script #</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"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">/lock?scope=DEFAULT"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"POST"</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">"</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 comment" style="color:rgb(99, 119, 119);font-style:italic"># Run script #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">cat</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)"><<-</span><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">{</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "environment": [],</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suiteRunner": {</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "method": "start",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suite": "</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SUITE</span><span class="token variable string" style="color:rgb(173, 219, 103)">",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "options": [</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "continueAfterError"</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> ]</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> }</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">}</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"></span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable operator" style="color:rgb(127, 219, 202)"><<<</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-rc</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">ID</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token variable string" style="color:rgb(173, 219, 103)">/run?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> --data-raw </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)">)</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 builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Starting Script '</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">' at </span><span class="token string variable" style="color:rgb(214, 222, 235)">$(</span><span class="token string variable function" style="color:rgb(130, 170, 255)">date</span><span class="token string variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)"> (may take up to 15 minutes)"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"You can monitor it in Script Runner here: </span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/tools/scriptrunner/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loop while Script ID is still running #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token keyword" style="color:rgb(127, 219, 202)">while</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(127, 219, 202)">do</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_STATUS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"$(curl "</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/running-script?scope=DEFAULT" "</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">" | jq ".[]|select(.id==</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">)"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> if [[ -z </span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_STATUS</span><span class="token string" style="color:rgb(173, 219, 103)"> ]]; then</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> break;</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> fi</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> sleep 2</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">done</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"># Request results #</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">BUCKET_FILE_URI="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/completed-scripts?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable string" style="color:rgb(173, 219, 103)">'[.[]|select(.name | test("'</span><span class="token variable" style="color:rgb(214, 222, 235)">"$</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token variable comment" style="color:rgb(99, 119, 119);font-style:italic">#scripts/}"' ")</span><span class="token variable" style="color:rgb(214, 222, 235)">)</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 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 operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> .log </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> @uri' -r</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">URL="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable string" style="color:rgb(173, 219, 103)">/openc3-api/storage/download/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$BUCKET_FILE_URI</span><span class="token variable string" style="color:rgb(173, 219, 103)">?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable" style="color:rgb(214, 222, 235)">jq .url </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-r</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">curl "</span><span class="token variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable" style="color:rgb(214, 222, 235)">$URL</span><span class="token string" style="color:rgb(173, 219, 103)">" "</span><span class="token variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable" style="color:rgb(214, 222, 235)">}</span><span class="token plain">"</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"/></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 /></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md target=_blank rel="noopener noreferrer" 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"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></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/staticdocs/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/staticdocs/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><a href=#curl-example-with-openc3-cosmos-enterprise class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Enterprise</a><li><a href=#suite-runner-example class="table-of-contents__link toc-highlight">Suite Runner Example</a></ul></div></div></div></div></main></div></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></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/staticdocs/docs>Documentation</a></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
|
38
|
+
<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" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token shebang important">#!/bin/bash</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-e</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">TARGET</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${1</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TARGET'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${2</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'procedures</span><span class="token variable operator" style="color:rgb(127, 219, 202)">/</span><span class="token variable" style="color:rgb(214, 222, 235)">cmd_tlm_test.rb'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SUITE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${3</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TestSuite'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">COSMOS_HOST</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">'http://localhost:2900'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_API</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/script-api"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"scripts/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$TARGET</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">CURL_ARGS</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><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Authorization: password'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept-Language: en-US,en;q=0.9'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Connection: keep-alive'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Content-Type: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--insecure</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--silent</span><span class="token plain"> </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 comment" style="color:rgb(99, 119, 119);font-style:italic"># Lock script #</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"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">/lock?scope=DEFAULT"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"POST"</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">"</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 comment" style="color:rgb(99, 119, 119);font-style:italic"># Run script #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">cat</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)"><<-</span><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">{</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "environment": [],</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suiteRunner": {</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "method": "start",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suite": "</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SUITE</span><span class="token variable string" style="color:rgb(173, 219, 103)">",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "options": [</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "continueAfterError"</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> ]</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> }</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">}</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"></span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable operator" style="color:rgb(127, 219, 202)"><<<</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-rc</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">ID</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token variable string" style="color:rgb(173, 219, 103)">/run?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> --data-raw </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)">)</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 builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Starting Script '</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">' at </span><span class="token string variable" style="color:rgb(214, 222, 235)">$(</span><span class="token string variable function" style="color:rgb(130, 170, 255)">date</span><span class="token string variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)"> (may take up to 15 minutes)"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"You can monitor it in Script Runner here: </span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/tools/scriptrunner/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loop while Script ID is still running #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token keyword" style="color:rgb(127, 219, 202)">while</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(127, 219, 202)">do</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_STATUS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"$(curl "</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/running-script?scope=DEFAULT" "</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">" | jq ".[]|select(.id==</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">)"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> if [[ -z </span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_STATUS</span><span class="token string" style="color:rgb(173, 219, 103)"> ]]; then</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> break;</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> fi</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> sleep 2</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">done</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"># Request results #</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">BUCKET_FILE_URI="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/completed-scripts?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable string" style="color:rgb(173, 219, 103)">'[.[]|select(.name | test("'</span><span class="token variable" style="color:rgb(214, 222, 235)">"$</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token variable comment" style="color:rgb(99, 119, 119);font-style:italic">#scripts/}"' ")</span><span class="token variable" style="color:rgb(214, 222, 235)">)</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 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 operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> .log </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> @uri' -r</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">URL="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable string" style="color:rgb(173, 219, 103)">/openc3-api/storage/download/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$BUCKET_FILE_URI</span><span class="token variable string" style="color:rgb(173, 219, 103)">?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable" style="color:rgb(214, 222, 235)">jq .url </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-r</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">curl "</span><span class="token variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable" style="color:rgb(214, 222, 235)">$URL</span><span class="token string" style="color:rgb(173, 219, 103)">" "</span><span class="token variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable" style="color:rgb(214, 222, 235)">}</span><span class="token plain">"</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"/></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 /></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md target=_blank rel="noopener noreferrer" 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"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></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/staticdocs/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/staticdocs/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><a href=#curl-example-with-openc3-cosmos-enterprise class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Enterprise</a><li><a href=#suite-runner-example class="table-of-contents__link toc-highlight">Suite Runner Example</a></ul></div></div></div></div></main></div></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></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/staticdocs/docs>Documentation</a></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/developing" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Developing COSMOS | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width,initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/developing><meta data-rh=true property=og:locale content=en><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="Building COSMOS and developing the frontend and backend"><meta data-rh=true property=og:description content="Building COSMOS and developing the frontend and backend"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/developing><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><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"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></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/staticdocs/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=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search 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"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><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/staticdocs/docs>Introduction</a><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" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true 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/staticdocs/docs/development/curl>Testing with Curl</a><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/staticdocs/docs/development/developing>Developing COSMOS</a><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/staticdocs/docs/development/json-api>JSON API</a><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/staticdocs/docs/development/log-structure>Log Structure</a><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/staticdocs/docs/development/roadmap>Roadmap</a><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/staticdocs/docs/development/streaming-api>Streaming API</a><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/staticdocs/docs/development/testing>Testing COSMOS</a></ul><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" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><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/staticdocs/><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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><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></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>Developing COSMOS</h1></header>
|
1
|
+
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/developing" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Developing COSMOS | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/developing><meta data-rh=true property=og:locale content=en><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="Building COSMOS and developing the frontend and backend"><meta data-rh=true property=og:description content="Building COSMOS and developing the frontend and backend"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/developing><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/developing hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.92ff792a.js defer></script><script src=/tools/staticdocs/assets/js/main.d3e77dd5.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><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"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></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/staticdocs/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=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search 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"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><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/staticdocs/docs>Introduction</a><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" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true 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/staticdocs/docs/development/curl>Testing with Curl</a><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/staticdocs/docs/development/developing>Developing COSMOS</a><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/staticdocs/docs/development/json-api>JSON API</a><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/staticdocs/docs/development/log-structure>Log Structure</a><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/staticdocs/docs/development/roadmap>Roadmap</a><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/staticdocs/docs/development/streaming-api>Streaming API</a><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/staticdocs/docs/development/testing>Testing COSMOS</a></ul><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" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><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/staticdocs/><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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><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></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>Developing COSMOS</h1></header>
|
2
2
|
<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>
|
3
3
|
<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>
|
4
4
|
<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'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>
|
@@ -41,7 +41,7 @@ In the console paste:</p>
|
|
41
41
|
<p>Refresh and you should see <code>{...}</code> in the bottom right<br>
|
42
42
|
Click the Default button next to the application (@openc3/tool-scriptrunner)<br>
|
43
43
|
Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner)</p>
|
44
|
-
<p><a href=http://localhost:2914/tools/scriptrunner/
|
44
|
+
<p><a href=http://localhost:2914/tools/scriptrunner/main.js target=_blank rel="noopener noreferrer">http://localhost:2914/tools/scriptrunner/main.js</a></p>
|
45
45
|
<ol>
|
46
46
|
<li>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'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.</li>
|
47
47
|
</ol>
|
@@ -57,4 +57,4 @@ Paste in the development path which is dependent on the port returned by the loc
|
|
57
57
|
<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" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">% </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">cd</span><span class="token plain"> openc3-cosmos-cmd-tlm-api</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">ps</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Look for the container with name including cmd-tlm-api</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token function" style="color:rgb(130, 170, 255)">docker</span><span class="token plain"> stop cosmos-openc3-cosmos-cmd-tlm-api-1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run the following on Windows:</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api</span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> dev_server.bat</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># In Linux, set all the environment variables in the .env file, but override REDIS to be local</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> -a</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">source</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">/.env</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> +a</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_REDIS_HOSTNAME</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">OPENC3_REDIS_EPHEMERAL_HOSTNAME</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">127.0</span><span class="token plain">.0.1</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % bundle </span><span class="token function" style="color:rgb(130, 170, 255)">install</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">openc3-cosmos-cmd-tlm-api % bundle </span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">exec</span><span class="token plain"> 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"/></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 /></svg></span></button></div></div></div>
|
58
58
|
<ol>
|
59
59
|
<li>Once the <code>bundle exec rails s</code> command returns you should see API requests coming from interactions 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.</li>
|
60
|
-
</ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md target=_blank rel="noopener noreferrer" 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"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></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/staticdocs/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/staticdocs/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=#development-tools class="table-of-contents__link toc-highlight">Development Tools</a><li><a href=#running-a-frontend-application class="table-of-contents__link toc-highlight">Running a Frontend Application</a><li><a href=#running-a-backend-server class="table-of-contents__link toc-highlight">Running a Backend Server</a></ul></div></div></div></div></main></div></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></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/staticdocs/docs>Documentation</a></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright ©
|
60
|
+
</ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md target=_blank rel="noopener noreferrer" 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"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></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/staticdocs/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/staticdocs/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=#development-tools class="table-of-contents__link toc-highlight">Development Tools</a><li><a href=#running-a-frontend-application class="table-of-contents__link toc-highlight">Running a Frontend Application</a><li><a href=#running-a-backend-server class="table-of-contents__link toc-highlight">Running a Backend Server</a></ul></div></div></div></div></main></div></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></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/staticdocs/docs>Documentation</a></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/json-api" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>JSON API | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width,initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/json-api><meta data-rh=true property=og:locale content=en><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="Interfacing to the COSMOS APIs using JSON-RPC"><meta data-rh=true property=og:description content="Interfacing to the COSMOS APIs using JSON-RPC"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.839a3ee9.css><script src=/tools/staticdocs/assets/js/runtime~main.cb6ff8de.js defer></script><script src=/tools/staticdocs/assets/js/main.c4acbd62.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><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"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></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/staticdocs/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=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search 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"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><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/staticdocs/docs>Introduction</a><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" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true 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/staticdocs/docs/development/curl>Testing with Curl</a><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/staticdocs/docs/development/developing>Developing COSMOS</a><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/staticdocs/docs/development/json-api>JSON API</a><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/staticdocs/docs/development/log-structure>Log Structure</a><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/staticdocs/docs/development/roadmap>Roadmap</a><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/staticdocs/docs/development/streaming-api>Streaming API</a><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/staticdocs/docs/development/testing>Testing COSMOS</a></ul><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" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><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/staticdocs/><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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><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></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 admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><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"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_bl22><p>If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the <a href=/tools/staticdocs/docs/guides/scripting-api>Scripting API Guide</a> page. If you're trying to interface to COSMOS from an external application using any language then this is the right place.</div></div>
|
1
|
+
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/json-api" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>JSON API | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/json-api><meta data-rh=true property=og:locale content=en><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="Interfacing to the COSMOS APIs using JSON-RPC"><meta data-rh=true property=og:description content="Interfacing to the COSMOS APIs using JSON-RPC"><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api hreflang=en><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/json-api hreflang=x-default><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.1de6b959.css><script src=/tools/staticdocs/assets/js/runtime~main.92ff792a.js defer></script><script src=/tools/staticdocs/assets/js/main.d3e77dd5.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"dark",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg><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"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></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/staticdocs/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=navbarSearchContainer_bmvg><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search 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"><div class=docsWrapper_XLvK><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type=button></button><div class=docRoot_HciC><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class=sidebarViewport_N8x0><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/staticdocs/docs>Introduction</a><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" href=/tools/staticdocs/docs/getting-started>Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/configuration>Configuration</a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/tools>Tools</a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/guides>Guides</a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><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" href=/tools/staticdocs/docs/development>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true 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/staticdocs/docs/development/curl>Testing with Curl</a><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/staticdocs/docs/development/developing>Developing COSMOS</a><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/staticdocs/docs/development/json-api>JSON API</a><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/staticdocs/docs/development/log-structure>Log Structure</a><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/staticdocs/docs/development/roadmap>Roadmap</a><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/staticdocs/docs/development/streaming-api>Streaming API</a><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/staticdocs/docs/development/testing>Testing COSMOS</a></ul><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" href=/tools/staticdocs/docs/meta>Meta</a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy>OpenC3, Inc. Privacy Policy</a></ul></nav></div></div></aside><main class=docMainContainer_namt><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/staticdocs/><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 /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/tools/staticdocs/docs/development><span itemprop=name>Development</span></a><meta itemprop=position content=1><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></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 admonition_IZjC alert alert--secondary"><div class=admonitionHeading_uVvU><span class=admonitionIcon_HiR3><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"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_bl22><p>If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the <a href=/tools/staticdocs/docs/guides/scripting-api>Scripting API Guide</a> page. If you're trying to interface to COSMOS from an external application using any language then this is the right place.</div></div>
|
2
2
|
<p>This document provides the information necessary for external applications to interact with COSMOS 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>
|
3
3
|
<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>
|
4
4
|
<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>
|
@@ -44,4 +44,4 @@
|
|
44
44
|
<li>View the request in the developer tool. Click the "Payload" sub-tab to view the JSON</li>
|
45
45
|
</ol>
|
46
46
|
<p>You can also try sending these raw commands from the terminal with a program like <code>curl</code>:</p>
|
47
|
-
<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" style=color:#d6deeb;background-color:#011627><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"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-d</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}'</span><span class="token plain"> http://localhost:2900/openc3-api/api </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Authorization: password"</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"/></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 /></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/json-api.md target=_blank rel="noopener noreferrer" 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"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></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/staticdocs/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/staticdocs/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><a href=#json-rpc-20 class="table-of-contents__link toc-highlight">JSON-RPC 2.0</a><li><a href=#socket-connections class="table-of-contents__link toc-highlight">Socket Connections</a><li><a href=#supported-methods class="table-of-contents__link toc-highlight">Supported Methods</a><li><a href=#existing-implementations class="table-of-contents__link toc-highlight">Existing Implementations</a><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><a href=#getting-telemetry class="table-of-contents__link toc-highlight">Getting Telemetry</a></ul><li><a href=#further-debugging class="table-of-contents__link toc-highlight">Further Debugging</a></ul></div></div></div></div></main></div></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></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/staticdocs/docs>Documentation</a></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright ©
|
47
|
+
<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" style=color:#d6deeb;background-color:#011627><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"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-d</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}'</span><span class="token plain"> http://localhost:2900/openc3-api/api </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Authorization: password"</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"/></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 /></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/json-api.md target=_blank rel="noopener noreferrer" 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"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></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/staticdocs/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/staticdocs/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><a href=#json-rpc-20 class="table-of-contents__link toc-highlight">JSON-RPC 2.0</a><li><a href=#socket-connections class="table-of-contents__link toc-highlight">Socket Connections</a><li><a href=#supported-methods class="table-of-contents__link toc-highlight">Supported Methods</a><li><a href=#existing-implementations class="table-of-contents__link toc-highlight">Existing Implementations</a><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><a href=#getting-telemetry class="table-of-contents__link toc-highlight">Getting Telemetry</a></ul><li><a href=#further-debugging class="table-of-contents__link toc-highlight">Further Debugging</a></ul></div></div></div></div></main></div></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></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/staticdocs/docs>Documentation</a></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"/></svg></a></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"/></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|