Download OpenAPI specification:
Software Defined Radio Web Application API
[- {
- "id": "string",
- "name": "string",
- "type": "rx",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0,
- "owner": "self",
- "ownerName": "string",
- "status": "live",
- "uptime": 0,
- "recording": {
- "filename": "string",
- "duration": 0,
- "fileSize": 0,
- "isRecording": true
}, - "playback": {
- "filename": "string",
- "progress": 1,
- "isLooping": true,
- "duration": 0
}, - "createdAt": 0,
- "fps": 0,
- "visualizationMode": "fft-only"
}
]Create a new task
| name required | string (Name) |
| frequency required | number (Frequency) |
| sampleRate required | number (Samplerate) |
| bandwidth required | number (Bandwidth) |
| fftSize required | integer (Fftsize) |
{- "name": "string",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0
}{- "id": "string",
- "name": "string",
- "type": "rx",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0,
- "owner": "self",
- "ownerName": "string",
- "status": "live",
- "uptime": 0,
- "recording": {
- "filename": "string",
- "duration": 0,
- "fileSize": 0,
- "isRecording": true
}, - "playback": {
- "filename": "string",
- "progress": 1,
- "isLooping": true,
- "duration": 0
}, - "createdAt": 0,
- "fps": 0,
- "visualizationMode": "fft-only"
}{- "id": "string",
- "name": "string",
- "type": "rx",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0,
- "owner": "self",
- "ownerName": "string",
- "status": "live",
- "uptime": 0,
- "recording": {
- "filename": "string",
- "duration": 0,
- "fileSize": 0,
- "isRecording": true
}, - "playback": {
- "filename": "string",
- "progress": 1,
- "isLooping": true,
- "duration": 0
}, - "createdAt": 0,
- "fps": 0,
- "visualizationMode": "fft-only"
}Update a task
| task_id required | string (Task Id) |
Name (string) or Name (null) (Name) | |
TaskStatus (string) or null | |
Frequency (number) or Frequency (null) (Frequency) |
{- "name": "string",
- "status": "live",
- "frequency": 0
}{- "id": "string",
- "name": "string",
- "type": "rx",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0,
- "owner": "self",
- "ownerName": "string",
- "status": "live",
- "uptime": 0,
- "recording": {
- "filename": "string",
- "duration": 0,
- "fileSize": 0,
- "isRecording": true
}, - "playback": {
- "filename": "string",
- "progress": 1,
- "isLooping": true,
- "duration": 0
}, - "createdAt": 0,
- "fps": 0,
- "visualizationMode": "fft-only"
}{- "id": "string",
- "name": "string",
- "type": "rx",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0,
- "owner": "self",
- "ownerName": "string",
- "status": "live",
- "uptime": 0,
- "recording": {
- "filename": "string",
- "duration": 0,
- "fileSize": 0,
- "isRecording": true
}, - "playback": {
- "filename": "string",
- "progress": 1,
- "isLooping": true,
- "duration": 0
}, - "createdAt": 0,
- "fps": 0,
- "visualizationMode": "fft-only"
}{- "id": "string",
- "name": "string",
- "type": "rx",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0,
- "owner": "self",
- "ownerName": "string",
- "status": "live",
- "uptime": 0,
- "recording": {
- "filename": "string",
- "duration": 0,
- "fileSize": 0,
- "isRecording": true
}, - "playback": {
- "filename": "string",
- "progress": 1,
- "isLooping": true,
- "duration": 0
}, - "createdAt": 0,
- "fps": 0,
- "visualizationMode": "fft-only"
}Start recording on an RX task
| task_id required | string (Task Id) |
{- "id": "string",
- "name": "string",
- "type": "rx",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0,
- "owner": "self",
- "ownerName": "string",
- "status": "live",
- "uptime": 0,
- "recording": {
- "filename": "string",
- "duration": 0,
- "fileSize": 0,
- "isRecording": true
}, - "playback": {
- "filename": "string",
- "progress": 1,
- "isLooping": true,
- "duration": 0
}, - "createdAt": 0,
- "fps": 0,
- "visualizationMode": "fft-only"
}{- "id": "string",
- "name": "string",
- "type": "rx",
- "frequency": 0,
- "sampleRate": 0,
- "bandwidth": 0,
- "fftSize": 0,
- "owner": "self",
- "ownerName": "string",
- "status": "live",
- "uptime": 0,
- "recording": {
- "filename": "string",
- "duration": 0,
- "fileSize": 0,
- "isRecording": true
}, - "playback": {
- "filename": "string",
- "progress": 1,
- "isLooping": true,
- "duration": 0
}, - "createdAt": 0,
- "fps": 0,
- "visualizationMode": "fft-only"
}{- "timestamp": 0,
- "overallStatus": "ok",
- "summary": {
- "total": 0,
- "ok": 0,
- "warn": 0,
- "fail": 0
}, - "tests": [
- {
- "id": "string",
- "name": "string",
- "status": "ok",
- "description": "string",
- "lastRun": 0,
- "durationMs": 0,
- "metrics": {
- "expected": "string",
- "actual": "string",
- "threshold": "string",
- "unit": "string"
}, - "extraResultInfo": [
- "string"
], - "functionNodes": [
- "string"
], - "hardwareNodes": [
- "string"
]
}
], - "functionTree": {
- "id": "string",
- "name": "string",
- "status": "ok",
- "description": "string",
- "children": [
- { }
], - "tests": [
- "string"
]
}, - "hardwareTree": {
- "id": "string",
- "name": "string",
- "status": "ok",
- "description": "string",
- "children": [
- { }
], - "tests": [
- "string"
]
}
}Get recent BIT alerts with optional filtering
| since | integer (Since) Unix timestamp in ms (default 4 hours ago) |
| limit | integer (Limit) Default: 50 |
{- "alerts": [
- {
- "id": 0,
- "timestamp": 0,
- "testId": "string",
- "testName": "string",
- "previousStatus": "ok",
- "newStatus": "ok",
- "severity": "failed",
- "message": "string"
}
], - "totalCount": 0
}Get health metrics over a time window
| window_minutes | integer (Window Minutes) Default: 240 Time window in minutes (default 4 hours) |
{- "windowMinutes": 0,
- "snapshotCount": 0,
- "operationalPercent": 0,
- "degradedMinutes": 0,
- "nonOpMinutes": 0,
- "failureCount": 0,
- "topFailingTests": [
- {
- "testId": "string",
- "testName": "string",
- "failMinutes": 0
}
]
}Get status history for a specific test
| test_id required | string (Test Id) |
| since | integer (Since) Unix timestamp in ms |
| until | integer (Until) Unix timestamp in ms |
{- "testId": "string",
- "testName": "string",
- "points": [
- {
- "timestamp": 0,
- "status": "ok",
- "durationMs": 0
}
]
}Get upload and validation status
| upload_id required | string (Upload Id) |
{- "uploadId": "string",
- "status": "idle",
- "bytesReceived": 0,
- "totalBytes": 0,
- "percentComplete": 0,
- "validationResults": { },
- "error": "string"
}