The swXtch API base URL is http://{swXtch-ctrl-ip}:{port}
Services
services
Returns information about available service endpoints.
Endpoint:
<base_url>/swx/servicesRequest:
Empty
Response:
text/html
Example Response →
$ curl localhost/swx/services SWXTCH SERVICES API /install/swx-bridge-1.0.0-centos9-1.x86_64.rpm Download latest swx-bridge-1.0.0-centos9-1.x86_64.rpm package /install/swx-bridge-1.0.0-centos9-1.x86_64.rpm.sig.b64 Download signature file swx-bridge-1.0.0-centos9-1.x86_64.rpm.sig.b64 /install/swx-bridge-docker.tar.gz Download latest swx-bridge-docker.tar.gz package /install/swx-bridge-docker.tar.gz.sig.b64 Download signature file swx-bridge-docker.tar.gz.sig.b64 /install/swx-bridge_1.0.0_ubuntu20.04_amd64.deb Download latest swx-bridge_1.0.0_ubuntu20.04_amd64.deb package /install/swx-bridge_1.0.0_ubuntu20.04_amd64.deb.sig.b64 Download signature file swx-bridge_1.0.0_ubuntu20.04_amd64.deb.sig.b64 /install/swx-bridge_1.0.0_ubuntu24.04_amd64.deb Download latest swx-bridge_1.0.0_ubuntu24.04_amd64.deb package /install/swx-bridge_1.0.0_ubuntu24.04_amd64.deb.sig.b64 Download signature file swx-bridge_1.0.0_ubuntu24.04_amd64.deb.sig.b64 /install/swx-dpdk-kmods.tar.xz Download latest swx-dpdk-kmods.tar.xz package /install/swx-dpdk-kmods.tar.xz.sig.b64 Download signature file swx-dpdk-kmods.tar.xz.sig.b64 /install/swx-dpdk-perf Download latest swx-dpdk-perf package /install/swx-dpdk-perf.sig.b64 Download signature file swx-dpdk-perf.sig.b64 /install/swx-tools-1.0.0-centos8-1.x86_64.rpm Download latest swx-tools-1.0.0-centos8-1.x86_64.rpm package /install/swx-tools-1.0.0-centos8-1.x86_64.rpm.sig.b64 Download signature file swx-tools-1.0.0-centos8-1.x86_64.rpm.sig.b64 /install/swx-tools-1.0.0-centos9-1.x86_64.rpm Download latest swx-tools-1.0.0-centos9-1.x86_64.rpm package /install/swx-tools-1.0.0-centos9-1.x86_64.rpm.sig.b64 Download signature file swx-tools-1.0.0-centos9-1.x86_64.rpm.sig.b64 /install/swx-tools_1.0.0_ubuntu20.04_amd64.deb Download latest swx-tools_1.0.0_ubuntu20.04_amd64.deb package /install/swx-tools_1.0.0_ubuntu20.04_amd64.deb.sig.b64 Download signature file swx-tools_1.0.0_ubuntu20.04_amd64.deb.sig.b64 /install/swx-tools_1.0.0_ubuntu22.04_amd64.deb Download latest swx-tools_1.0.0_ubuntu22.04_amd64.deb package /install/swx-tools_1.0.0_ubuntu22.04_amd64.deb.sig.b64 Download signature file swx-tools_1.0.0_ubuntu22.04_amd64.deb.sig.b64 /install/swx-tools_1.0.0_ubuntu24.04_amd64.deb Download latest swx-tools_1.0.0_ubuntu24.04_amd64.deb package /install/swx-tools_1.0.0_ubuntu24.04_amd64.deb.sig.b64 Download signature file swx-tools_1.0.0_ubuntu24.04_amd64.deb.sig.b64 /install/swx-wxckedeye-docker.tar.gz Download latest swx-wxckedeye-docker.tar.gz package /install/swx-wxckedeye-docker.tar.gz.sig.b64 Download signature file swx-wxckedeye-docker.tar.gz.sig.b64 /install/swx-xnic-1.0.0-centos8-1.x86_64.rpm Download latest swx-xnic-1.0.0-centos8-1.x86_64.rpm package /install/swx-xnic-1.0.0-centos8-1.x86_64.rpm.sig.b64 Download signature file swx-xnic-1.0.0-centos8-1.x86_64.rpm.sig.b64 /install/swx-xnic-1.0.0-centos9-1.x86_64.rpm Download latest swx-xnic-1.0.0-centos9-1.x86_64.rpm package /install/swx-xnic-1.0.0-centos9-1.x86_64.rpm.sig.b64 Download signature file swx-xnic-1.0.0-centos9-1.x86_64.rpm.sig.b64 /install/swx-xnic-1.0.0-x86_64.msi Download latest swx-xnic-1.0.0-x86_64.msi package /install/swx-xnic-1.0.0-x86_64.msi.sig.b64 Download signature file swx-xnic-1.0.0-x86_64.msi.sig.b64 /install/swx-xnic_1.0.0_ubuntu20.04_amd64.deb Download latest swx-xnic_1.0.0_ubuntu20.04_amd64.deb package /install/swx-xnic_1.0.0_ubuntu20.04_amd64.deb.sig.b64 Download signature file swx-xnic_1.0.0_ubuntu20.04_amd64.deb.sig.b64 /install/swx-xnic_1.0.0_ubuntu22.04_amd64.deb Download latest swx-xnic_1.0.0_ubuntu22.04_amd64.deb package /install/swx-xnic_1.0.0_ubuntu22.04_amd64.deb.sig.b64 Download signature file swx-xnic_1.0.0_ubuntu22.04_amd64.deb.sig.b64 /install/swx-xnic_1.0.0_ubuntu24.04_amd64.deb Download latest swx-xnic_1.0.0_ubuntu24.04_amd64.deb package /install/swx-xnic_1.0.0_ubuntu24.04_amd64.deb.sig.b64 Download signature file swx-xnic_1.0.0_ubuntu24.04_amd64.deb.sig.b64 /install/timebeat-2.1.4-amd64.deb Download latest timebeat-2.1.4-amd64.deb package /install/timebeat-2.1.4-amd64.deb.sig.b64 Download signature file timebeat-2.1.4-amd64.deb.sig.b64 /install/timebeat-2.1.4-windows-x86_64.zip Download latest timebeat-2.1.4-windows-x86_64.zip package /install/timebeat-2.1.4-windows-x86_64.zip.sig.b64 Download signature file timebeat-2.1.4-windows-x86_64.zip.sig.b64 /install/timebeat-2.1.4-x86_64.rpm Download latest timebeat-2.1.4-x86_64.rpm package /install/timebeat-2.1.4-x86_64.rpm.sig.b64 Download signature file timebeat-2.1.4-x86_64.rpm.sig.b64 /install/wXckedEye.tgz Download latest wXckedEye.tgz package /install/wXckedEye.tgz.sig.b64 Download signature file wXckedEye.tgz.sig.b64 /install/api.sh Download script api.sh /install/api.sh.sig.b64 Download signature file api.sh.sig.b64 /install/assets.sh Download script assets.sh /install/assets.sh.sig.b64 Download signature file assets.sh.sig.b64 /install/distro.sh Download script distro.sh /install/distro.sh.sig.b64 Download signature file distro.sh.sig.b64 /install/docker.sh Download script docker.sh /install/docker.sh.sig.b64 Download signature file docker.sh.sig.b64 /install/logging.sh Download script logging.sh /install/logging.sh.sig.b64 Download signature file logging.sh.sig.b64 /install/packager.sh Download script packager.sh /install/packager.sh.sig.b64 Download signature file packager.sh.sig.b64 /install/swx-bridge-install.sh Download script swx-bridge-install.sh /install/swx-bridge-install.sh.sig.b64 Download signature file swx-bridge-install.sh.sig.b64 /install/swx-dpdk-driver-toolkit.sh Download script swx-dpdk-driver-toolkit.sh /install/swx-dpdk-driver-toolkit.sh.sig.b64 Download signature file swx-dpdk-driver-toolkit.sh.sig.b64 /install/swx-dpdk-perf-install.sh Download script swx-dpdk-perf-install.sh /install/swx-dpdk-perf-install.sh.sig.b64 Download signature file swx-dpdk-perf-install.sh.sig.b64 /install/swx-hugepages-toolkit.sh Download script swx-hugepages-toolkit.sh /install/swx-hugepages-toolkit.sh.sig.b64 Download signature file swx-hugepages-toolkit.sh.sig.b64 /install/swx-tools-install.sh Download script swx-tools-install.sh /install/swx-tools-install.sh.sig.b64 Download signature file swx-tools-install.sh.sig.b64 /install/swx-xnic-install.ps1 Download script swx-xnic-install.ps1 /install/swx-xnic-install.ps1.sig.b64 Download signature file swx-xnic-install.ps1.sig.b64 /install/swx-xnic-install.sh Download script swx-xnic-install.sh /install/swx-xnic-install.sh.sig.b64 Download signature file swx-xnic-install.sh.sig.b64 /install/swx-xnic-instance-install.ps1 Download script swx-xnic-instance-install.ps1 /install/swx-xnic-instance-install.ps1.sig.b64 Download signature file swx-xnic-instance-install.ps1.sig.b64 /install/swx-xnic-k8s-install.sh Download script swx-xnic-k8s-install.sh /install/swx-xnic-k8s-install.sh.sig.b64 Download signature file swx-xnic-k8s-install.sh.sig.b64 /install/swxtch-update-linux-cmdline.sh Download script swxtch-update-linux-cmdline.sh /install/swxtch-update-linux-cmdline.sh.sig.b64 Download signature file swxtch-update-linux-cmdline.sh.sig.b64 /install/swxtch.crt Download script swxtch.crt /install/swxtch.crt.sig.b64 Download signature file swxtch.crt.sig.b64 /install/tachyon-live-install.sh Download script tachyon-live-install.sh /install/tachyon-live-install.sh.sig.b64 Download signature file tachyon-live-install.sh.sig.b64 /install/timebeat-client-install.ps1 Download script timebeat-client-install.ps1 /install/timebeat-client-install.ps1.sig.b64 Download signature file timebeat-client-install.ps1.sig.b64 /install/timebeat-client-install.sh Download script timebeat-client-install.sh /install/timebeat-client-install.sh.sig.b64 Download signature file timebeat-client-install.sh.sig.b64 /install/timebeat-server-install.sh Download script timebeat-server-install.sh /install/timebeat-server-install.sh.sig.b64 Download signature file timebeat-server-install.sh.sig.b64 /install/timebeat-setup.sh Download script timebeat-setup.sh /install/timebeat-setup.sh.sig.b64 Download signature file timebeat-setup.sh.sig.b64 /install/timebeat.sh Download script timebeat.sh /install/timebeat.sh.sig.b64 Download signature file timebeat.sh.sig.b64 /install/tools.sh Download script tools.sh /install/tools.sh.sig.b64 Download signature file tools.sh.sig.b64 /install/xnic_ds_installer.sh Download script xnic_ds_installer.sh /install/xnic_ds_installer.sh.sig.b64 Download signature file xnic_ds_installer.sh.sig.b64
services/install/{fileName}
Downloads installer packages (DEB/RPM) or scripts.
Endpoint:
<base_url>/swx/services/install/{fileName}Parameters:
fileName(path) - Name of the file to downloadResponse:
.debfiles:application/vnd.debian.binary-package
.rpmfiles:application/x-rpmScripts:
application/x-shortext/plain
Example Response →
This endpoint allows the user to download, for example, the installation scripts:
$ curl http://172.51.128.132/swx/services/install/swx-xnic-install.sh #!/usr/bin/env bash # xnic installation log name _INSTALL_LOG_NAME="swx-xnic-install.log" # Requiring uninstall the current version of xnic _UNINSTALL_ONLY="false" # Type of xnic to install _TYPE_TO_INSTALL=0 # public key name _PBKEY=./sig_public.pem # use this nic as xnic ctrl iface _CTRL_INTERFACE_NAME="" # use this nic as xnic data iface _DATA_INTERFACE_NAME="" # Configure the xnic to override the src ip of the traffic. _OVERRIDE_SRC_IP="false" # if install ptp services _PTP_INSTALL="false" # verify the signature of the downloaded assets _VERIFY_SIGNATURE="false" # xnic logs root path _LOGS_ROOT_PATH="/var/log/swxtch" # path where find xnic services _SERVICES_ROOT_PATH="/lib/systemd/system" # root path of xnic files _CONFIG_ROOT_PATH="/var/opt/swxtch" # xnic config file name . .
services/install/{fileName}.sig.b64
Downloads the cryptographic signature for the installer files.
Endpoint:
<base_url>/swx/services/install/{fileName}.sig.b64Parameters:
fileName(path) - Base name of the signed fileResponse:
application/octet-stream- Base64 encoded signature
Example Response →
$ curl http://172.51.128.132/swx/services/install/swx-xnic-install.sh.sig.b64 RYKbbuTJmK+UEpAOZVIMGrRr3mDI7IsqZ8pbL85FRMjh0xTPVSj+eEqFe9v46uN9 srQ+nujd1zeCFxMp0p6Ntr2UhAXIcuG8o8DbC6rC4Zu1K/e4gsgf70eO1gfjbDqg cOsZx/MomoIB+Stdc3k40fwmZ3efYr4BoMEwbWxn9ndMYK6G1y4+UEL1d0oB+uhX 3biEu7t6cuzCP5LZIjgrp21ft8g7oZ2m2XYtevv/zInjTZbsT2OMUCjRhu9jyHy2 lWfGSioOk966bvSRseok0glOqdZPEQorzHN/lQMyBLB8ueIi/u44PbzXZSi4ldmV 2DYuQVQe4BSnJ8CFz35Rs/NFDm7b7UGVAavJGEBAu8el6zJlwB5jiYGJVQbKiuy6 MnIzuOClVoHYHq9/uwGa97zpLiux5WJLHDyfVnPyDtbE61dyQhugn70+ZDhSI7HP yrIs7p5shNjKUfD4RYogigElID8W2VRmWxzyvf7wWP8WD8KvOj2qovvbIMMbXUdW r7j9pOVTgCEsZxVjhZRJGu79qZV91LBL0hu/ElPmORmO3BlumgVXqgd0UFrt+9Ua XF4HeTOGekxHon12Jue7cD+WirncRCwAcq/85tst/xrYE3GlpNgVViFejS7S/A/A
services/timebeatLicense
Downloads the Timebeat license file for PTP clock synchronization.
Endpoint:
<base_url>/swx/services/timebeatLicenseRequest:
Empty
Response:
text/plainContent-Disposition: attachment; filename=timebeat.lic
Error Responses:
400- PTP entitlement not enabled
404- License file not found
Example Response →
This is a sample of what the user can get when the license is not available:
$ curl http://172.51.128.132/swx/services/timebeatLicense {"errorMessage":"Timebeat license file not found. Please verify your license."}
services/checksum
Returns the calculated SHA256 checksum for installer assets.
Endpoint:
<base_url>/swx/services/checksumRequest:
json/ { "assetName": "installer-package.deb" }Response:
json
Example Response →
$ curl http://172.51.128.132/swx/services/checksum -d '{ "assetName": "swx-xnic_1.0.0_ubuntu24.04_amd64.deb" }' {"assetName":"swx-xnic_1.0.0_ubuntu24.04_amd64.deb","hash":"0d8b3bbb544085231f180cecf92867c3e210c5f7158a026816be67d976628097"}
services/version
Returns the software version and build information.
Endpoint:
<base_url>/swx/services/versionRequest:
Empty
Response:
json
Example Response →
$ curl http://172.51.128.132/swx/services/version { "Version": "v4.0.0", "Commit": "8c867c976174e7f15c843d7c8d54692362da17d1", "Date": "20250917.172748" }
Adaptors
adaptors/add
Add new unicast adaptor (Protocols) configuration.
Endpoint:
<base_url>/swx/adaptors/addRequest:
json{ "protocolCode": "udp", "directionCode": "ingress", "streamIp": "239.1.1.1", "streamPort": 5000, "socketIp": "10.0.1.100", "socketPort": 5001, "listenerPort": 6000, "options": [ { "name": "bufferSize", "value": "65536" }, { "name": "ttl", "value": "64" } ] }Response:
json/ { "id": "adaptor-uuid-123" }Error Responses:
400- Fanout not enabled or validation failed
409- Adaptor already exists
Example Response →
$ curl 172.51.128.132/swx/adaptors/add -d '{ "protocolCode": "udp", "directionCode": "ingress", "streamIp": "239.1.1.1", "streamPort": 5000, "socketIp": "10.0.1.100", "socketPort": 5001, "listenerPort": 6000, "options": [ { "name": "bufferSize", "value": "65536" }, { "name": "ttl", "value": "64" } ] }' {"id":"12415546857077395231"}
adaptors/remove
Removes one or more adaptor configurations.
Endpoint:
<base_url>/swx/adaptors/removeRequest:
json/ { "ids": ["adaptor-uuid-123", "adaptor-uuid-456"] }Response:
200- Success (no body)
json/ {"errorCode":12005,"errorMessage":"The given adaptors don't exist.","data":"adaptor-uuid-123"}
Example Response →
$ curl 172.51.128.132/swx/adaptors/remove -d '{ "ids": [ "12415546857077395231" ] }' $
adaptors/show
Returns the list of current adaptors configuration.
Endpoint:
<base_url>/swx/adaptors/showRequest:
Empty
Response:
json{ "adaptors": { "adaptor-uuid-123": { "id": "adaptor-uuid-123", "protocolCode": "udp", "directionCode": "ingress", "streamIp": "239.1.1.1", "streamPort": 5000, "socketIp": "10.0.1.100", "socketPort": 5001, "listenerPort": 6000, "options": [ { "name": "bufferSize", "value": "65536" } ] } } }
Example Response →
$ curl 172.51.128.132/swx/adaptors/show {"adaptors":{"3875045238777959178":{"id":"3875045238777959178","protocolCode":"udp","directionCode":"ingress","streamIp":"239.1.1.1","streamPort":5000,"socketIp":"10.0.1.100","socketPort":5001,"listenerPort":6000,"options":[{"name":"bufferSize","value":"65536"},{"name":"ttl","value":"64"}]},"9444164746505921829":{"id":"9444164746505921829","protocolCode":"udp","directionCode":"ingress","streamIp":"239.1.1.1","streamPort":10020,"socketIp":null,"socketPort":null,"listenerPort":10021,"options":[]}}}
adaptors/state
Returns the runtime statistics for all adaptors.
Endpoint:
<base_url>/swx/adaptors/stateRequest:
Empty
Response:
json{ "adaptor-uuid-123": { "id": "adaptor-uuid-123", "isConnected": true, "isActive": true, "stats": { "239.1.1.1:5000": { "packets": 1000000, "bytes": 1500000000, "packetsRate": 1000, "bytesRate": 1500000, "timestamp": 1642248600, "protocolId": 1, "protocolName": "UDP" } }, "config": { "id": "adaptor-uuid-123", "protocolCode": "udp", "directionCode": "ingress" } } }
Example Response →
$ curl 172.51.128.132/swx/adaptors/state {"3875045238777959178":{"id":"3875045238777959178","isConnected":false,"isActive":false,"stats":{},"config":{"id":"3875045238777959178","protocolCode":"udp","directionCode":"ingress","streamIp":"239.1.1.1","streamPort":5000,"socketIp":"10.0.1.100","socketPort":5001,"listenerPort":6000,"options":[{"name":"bufferSize","value":"65536"},{"name":"ttl","value":"64"}]}},"9444164746505921829":{"id":"9444164746505921829","isConnected":false,"isActive":false,"stats":{},"config":{"id":"9444164746505921829","protocolCode":"udp","directionCode":"ingress","streamIp":"239.1.1.1","streamPort":10020,"socketIp":null,"socketPort":null,"listenerPort":10021,"options":[]}}}
adaptors/update
Update existing adaptor configuration.
NOTE
Only SRT adaptros that are currently in use can be updated. Also, only the POST type. For a complete list
Endpoint:
<base_url>/swx/adaptors/updateRequest:
json{ "id": "adaptor-uuid-123", "options": [ { "name": "bufferSize", "value": "131072" }, { "name": "ttl", "value": "32" } ] }Response:
200- Success (no body)
json/ {"errorCode":12005,"errorMessage":"The given adaptors don't exist.","data":null}
Example Response →
$ curl 172.51.128.132/swx/adaptors/update -d '{ "id": "3875045238777959178", "options": [ { "name": "bufferSize", "value": "131072" }, { "name": "ttl", "value": "32" } ] }'
.png?sv=2022-11-02&spr=https&st=2025-11-03T13%3A29%3A13Z&se=2025-11-03T13%3A59%3A13Z&sr=c&sp=r&sig=JJ9wvEwFYWkffhbptT7gW8SPo9orhgKKWFrkHiB9FEc%3D)