Skip to main content

Documentation for ScryLab v0.2.1

Changelogs

REST API

The ScryLab REST API lets you send signal data into ScryLab over HTTP – from Python, MATLAB, Julia, or any other environment. It is designed for engineers who want to push data into ScryLab programmatically and interact with it in the GUI.

Base URL

http://localhost:5678

Info

The API is only accessible from the local machine. No authentication is required.

The API starts automatically by default. You can disable it under Settings → General → Integrations.

Endpoints

MethodEndpointDescription
GET/api/statusCheck if ScryLab is running
POST/api/signals/sendSend a signal (JSON, small data)
POST/api/signals/uploadSend a signal (binary .npz/.mat, large data)
POST/api/signals/upload_batchSend multiple signals in one request
POST/api/plotAdd a signal to the active plot by name

Python & MATLAB clients

If you use Python or MATLAB, the official scrylab (Python) and scrylab-matlab (MATLAB) clients handle all of this automatically – including transport selection and source management.

Sending signals

ScryLab supports three transport methods:

SituationEndpoint
Small signal (< 50k samples)POST /api/signals/send (JSON)
Large signalPOST /api/signals/upload (binary .npz or .mat)
Many signals at oncePOST /api/signals/upload_batch

Every signal needs a target_source_id – the ID of the data source it should be added to. You can get one by creating a new source from the UI, or by calling POST /api/sources.

Source management

Two endpoints exist for looking up and creating data sources. They are used internally by the Python and MATLAB clients and do not usually need to be called directly:

MethodEndpointDescription
GET/api/sourcesList all loaded data sources
POST/api/sourcesCreate a new empty data source