This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube
---
Limitations and specifcities:
*In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method.
*Stopping instance i.e. /sdrangel with DELETE method is a server only feature. It allows stopping the instance nicely.
*Preset import and export from/to file is a server only feature.
*Device set focus is a GUI only feature.
* The following channels are not implemented (status 501 is returned):ATV demodulator, Channel Analyzer, Channel Analyzer NG, LoRa demodulator, TCP source
* The content type returned is always application/json except in the following cases:
* An incorrect URL was specified:this document is returned as text/html with a status 400
---
version:"4.0.0"
title:SDRangel
contact:
url:"https://github.com/f4exb/sdrangel"
email:"f4exb06@gmail.com"
# basePath prefixes all resource paths
basePath:/
#
schemes:
# tip: remove http to make production-grade
- http
# format of bodies a client can send (Content-Type)
consumes:
- application/json
# format of the responses to the client (Accepts)
produces:
- application/json
paths:
/sdrangel:
# binds a127 app logic to a route
x-swagger-router-controller:instance
get:
description:SDRangel instance summary
# used as the method name of the controller
operationId:instanceSummary
tags:
- Instance
responses:
"200":
description:Success
schema:
# a pointer to a definition
$ref:"#/definitions/InstanceSummaryResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
delete:
description:Stop SDRangel instance (server only)
# used as the method name of the controller
operationId:instanceDelete
tags:
- Instance
responses:
"202":
description:Message to stop the SDRangel instance was sent successfully
schema:
# a pointer to a definition
$ref:"#/definitions/InstanceSummaryResponse"
"400":
description:Unsupported (GUI instance)
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/devices:
x-swagger-router-controller:instance
get:
description:Get a list of sampling devices that can be used to take part in a device set
operationId:instanceDevices
tags:
- Instance
parameters:
- name:tx
in:query
description:Set to non zero (true) for Tx direction (default Rx)
required:false
type:integer
responses:
"200":
description:Success
schema:
$ref:"#/definitions/InstanceDevicesResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/channels:
x-swagger-router-controller:instance
get:
description:Get a list of channel plugins available in this instance
operationId:instanceChannels
tags:
- Instance
parameters:
- name:tx
in:query
description:Set to non zero (true) for Tx channels (default Rx)
required:false
type:integer
responses:
"200":
description:Success
schema:
$ref:"#/definitions/InstanceChannelsResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/logging:
x-swagger-router-controller:instance
get:
description:Get logging information for this instance
operationId:instanceLoggingGet
tags:
- Instance
responses:
"200":
description:Success
schema:
$ref:"#/definitions/LoggingInfo"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
put:
description:Change logging parmeters for this instance
operationId:instanceLoggingPut
tags:
- Instance
consumes:
- application/json
parameters:
- name:body
in:body
description:Logging information
required:true
schema:
$ref:"#/definitions/LoggingInfo"
responses:
"200":
description:Return new data on success
schema:
$ref:"#/definitions/LoggingInfo"
"400":
description:Invalid data
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/audio:
x-swagger-router-controller:instance
get:
description:Get audio devices list available to this instance
operationId:instanceAudioGet
tags:
- Instance
responses:
"200":
description:Success
schema:
$ref:"#/definitions/AudioDevices"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
patch:
description:Set audio devices
operationId:instanceAudioPatch
tags:
- Instance
consumes:
- application/json
parameters:
- name:body
in:body
description:Select audio devices to use for this instance
required:true
schema:
$ref:"#/definitions/AudioDevicesSelect"
responses:
"200":
description:Success
schema:
$ref:"#/definitions/AudioDevicesSelect"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/location:
x-swagger-router-controller:instance
get:
description:Get instance geolocation information
operationId:instanceLocationGet
tags:
- Instance
responses:
"200":
description:Onsuccess return location
schema:
$ref:"#/definitions/LocationInformation"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
put:
description:Set instance geolocation information
operationId:instanceLocationPut
tags:
- Instance
consumes:
- application/json
parameters:
- name:body
in:body
description:Location of instance in latitude and longitude
required:true
schema:
$ref:"#/definitions/LocationInformation"
responses:
"200":
description:Onsuccess return location
schema:
$ref:"#/definitions/LocationInformation"
"400":
description:Location invalid
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/dvserial:
x-swagger-router-controller:instance
patch:
description:Set or reset DV serial processing for AMBE frames decoding in digital voice modes
operationId:instanceDVSerialPatch
tags:
- Instance
parameters:
- name:dvserial
in:query
description:Set to non zero (true) to set DV serial processing
required:false
type:integer
responses:
"200":
description:Onsuccess return list of devices or empty list if unset
schema:
$ref:"#/definitions/DVSeralDevices"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/presets:
x-swagger-router-controller:instance
get:
description:List all presets in the instance
operationId:instancePresetGet
tags:
- Instance
responses:
"200":
description:Onsuccess return preset list
schema:
$ref:"#/definitions/Presets"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/preset:
x-swagger-router-controller:instance
patch:
description:Load a preset in a device set
operationId:instancePresetPatch
tags:
- Instance
consumes:
- application/json
parameters:
- name:body
in:body
description:Load preset settings to the device set
required:true
schema:
$ref:"#/definitions/PresetTransfer"
responses:
"202":
description:Onsuccessful sending of the message the selected preset identification is returned
schema:
$ref:"#/definitions/PresetIdentifier"
"400":
description:Invalid JSON request or preset type and device set type mismatch
schema:
$ref:"#/definitions/ErrorResponse"
"404":
description:Nopreset or device set found
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
put:
description:Update an existing preset with device set settings.
operationId:instancePresetPut
tags:
- Instance
consumes:
- application/json
parameters:
- name:body
in:body
description:save device set settings to the preset
required:true
schema:
$ref:"#/definitions/PresetTransfer"
responses:
"202":
description:Onsuccessful sending of the message the selected preset identification is returned
schema:
$ref:"#/definitions/PresetIdentifier"
"400":
description:Invalid JSON request
schema:
$ref:"#/definitions/ErrorResponse"
"404":
description:Nopreset or device set found
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
post:
description:Create a new preset from a device set settings. Frequency and type is ignored and taken from the the device set values.
operationId:instancePresetPost
tags:
- Instance
consumes:
- application/json
parameters:
- name:body
in:body
description:save device set settings on a new preset
required:true
schema:
$ref:"#/definitions/PresetTransfer"
responses:
"202":
description:Onsuccessful sending of the message the created preset identification is returned
schema:
$ref:"#/definitions/PresetIdentifier"
"400":
description:Invalid JSON request
schema:
$ref:"#/definitions/ErrorResponse"
"404":
description:Device set not found
schema:
$ref:"#/definitions/ErrorResponse"
"409":
description:Preset already exists
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
delete:
description:Deletes a preset
operationId:instancePresetDelete
tags:
- Instance
consumes:
- application/json
parameters:
- name:body
in:body
description:delete this preset
required:true
schema:
$ref:"#/definitions/PresetIdentifier"
responses:
"202":
description:Onsuccessful sending of the message the selected preset identification is returned
schema:
$ref:"#/definitions/PresetIdentifier"
"400":
description:Invalid JSON request
schema:
$ref:"#/definitions/ErrorResponse"
"404":
description:Preset not found
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/preset/file:
x-swagger-router-controller:instance
put:
description:import a preset from file as a new preset (server only).
description:Get summary information about device sets opened in the instance
operationId:instanceDeviceSetsGet
tags:
- Instance
responses:
"200":
description:Onsuccess return device set list
schema:
$ref:"#/definitions/DeviceSetList"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/deviceset:
x-swagger-router-controller:instance
post:
description:Add (append) a new device set with default values
operationId:instanceDeviceSetPost
tags:
- DeviceSet
parameters:
- name:tx
in:query
description:Set to non zero (true) for a Tx device set (default Rx)
required:false
type:integer
responses:
"202":
description:Message to add a new device set was sent successfully
schema:
$ref:"#/definitions/SuccessResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
delete:
description:Remove last device set. The GUI version does not remove the first device.
operationId:instanceDeviceSetDelete
tags:
- DeviceSet
responses:
"202":
description:Message to remove last device set was sent successfully
schema:
$ref:"#/definitions/SuccessResponse"
"404":
description:"No more device sets to be deleted"
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}:
x-swagger-router-controller:deviceset
get:
description:Get device set information
operationId:devicesetGet
tags:
- DeviceSet
parameters:
- in:path
name:deviceSetIndex
type:integer
required:true
description:Index of device set in the device set list
responses:
"200":
description:Onsuccess return details on the device set
schema:
$ref:"#/definitions/DeviceSet"
"404":
description:Invalid index
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}/focus:
x-swagger-router-controller:deviceset
patch:
description:Set focus on device set (GUI only)
operationId:devicesetFocusPatch
tags:
- DeviceSet
parameters:
- in:path
name:deviceSetIndex
type:integer
required:true
description:Index of device set in the device set list
responses:
"202":
description:Message to focus on device set was sent successfully
schema:
$ref:"#/definitions/SuccessResponse"
"400":
description:Unsupported (srver instance)
schema:
$ref:"#/definitions/ErrorResponse"
"404":
description:Invalid index
schema:
$ref:"#/definitions/ErrorResponse"
"500":
$ref:"#/responses/Response_500"
"501":
$ref:"#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}/device:
x-swagger-router-controller:deviceset
put:
description:Set the device used in the device set
operationId:devicesetDevicePut
tags:
- DeviceSet
parameters:
- in:path
name:deviceSetIndex
type:integer
required:true
description:Index of device set in the device set list
- name:body
in:body
description:Device item to look for. Specify only the fields you want to search for. You must at least specify one among displayedName, hwType or serial. index and nbStreams are ignored. Rx is assumed if tx is not specified.
required:true
schema:
$ref:"#/definitions/DeviceListItem"
responses:
"202":
description:Onsuccessful semdomg of the message it returns the details of the device being set
schema:
$ref:"#/definitions/DeviceListItem"
"400":
description:Device set and device type mismatch (Rx vs Tx)
schema:
$ref:"#/definitions/ErrorResponse"
"404":
description:Invalid device set index or device not found