Skip to content

Latest commit

 

History

History
1014 lines (682 loc) · 50.6 KB

API.md

File metadata and controls

1014 lines (682 loc) · 50.6 KB

REST API Documentation

Camera Endpoints

GET /api/v1/camera/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Battery": "...", "Connected": "...", "Offset": "...", "Gain": "...", "DefaultGain": "...", "Temperature": "...", "TemperatureSetPoint": "...", "AtTargetTemp": "...", "TargetTemp": "...", "CoolerOn": "...", "CoolerPower": "...", "HasDewHeater": "...", "BinX": "...", "BinY": "...", "USBLimit": "...", "XSize": "...", "YSize": "...", "PixelSize": "...", "SensorType": "...", "Action": "..."}

PATCH /api/v1/camera/binning
Parameters
name type data type description
X required short N/A
Y required short N/A
Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Battery": "...", "Connected": "...", "Offset": "...", "Gain": "...", "DefaultGain": "...", "Temperature": "...", "TemperatureSetPoint": "...", "AtTargetTemp": "...", "TargetTemp": "...", "CoolerOn": "...", "CoolerPower": "...", "HasDewHeater": "...", "BinX": "...", "BinY": "...", "USBLimit": "...", "XSize": "...", "YSize": "...", "PixelSize": "...", "SensorType": "...", "Action": "..."}

POST /api/v1/camera/capture
Parameters
name type data type description
ExposureTime required double N/A
Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Battery": "...", "Connected": "...", "Offset": "...", "Gain": "...", "DefaultGain": "...", "Temperature": "...", "TemperatureSetPoint": "...", "AtTargetTemp": "...", "TargetTemp": "...", "CoolerOn": "...", "CoolerPower": "...", "HasDewHeater": "...", "BinX": "...", "BinY": "...", "USBLimit": "...", "XSize": "...", "YSize": "...", "PixelSize": "...", "SensorType": "...", "Action": "..."}

POST /api/v1/camera/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Battery": "...", "Connected": "...", "Offset": "...", "Gain": "...", "DefaultGain": "...", "Temperature": "...", "TemperatureSetPoint": "...", "AtTargetTemp": "...", "TargetTemp": "...", "CoolerOn": "...", "CoolerPower": "...", "HasDewHeater": "...", "BinX": "...", "BinY": "...", "USBLimit": "...", "XSize": "...", "YSize": "...", "PixelSize": "...", "SensorType": "...", "Action": "..."}

POST /api/v1/camera/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Battery": "...", "Connected": "...", "Offset": "...", "Gain": "...", "DefaultGain": "...", "Temperature": "...", "TemperatureSetPoint": "...", "AtTargetTemp": "...", "TargetTemp": "...", "CoolerOn": "...", "CoolerPower": "...", "HasDewHeater": "...", "BinX": "...", "BinY": "...", "USBLimit": "...", "XSize": "...", "YSize": "...", "PixelSize": "...", "SensorType": "...", "Action": "..."}

Dome Endpoints

GET /api/v1/dome/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

POST /api/v1/dome/close
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

POST /api/v1/dome/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

POST /api/v1/dome/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

PATCH /api/v1/dome/following
Parameters
name type data type description
Enabled required bool N/A
Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

POST /api/v1/dome/home
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

POST /api/v1/dome/open
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

POST /api/v1/dome/park
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

POST /api/v1/dome/rotate
Parameters
name type data type description
Azimuth required double N/A
Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

POST /api/v1/dome/sync
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "AtHome": "...", "AtPark": "...", "DriverFollowing": "...", "ShutterStatus": "...", "Azimuth": "...", "Slewing": "...", "IsFollowingScope": "...", "Action": "..."}

Mount Endpoints

GET /api/v1/mount/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "UTCDate": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Slewing": "...", "TrackingEnabled": "...", "TrackingMode": "...", "AtHome": "...", "AtPark": "...", "RightAscension": "...", "Declination": "...", "Azimuth": "...", "Altitude": "...", "SideOfPier": "...", "SiteLatitude": "...", "SiteLongitude": "...", "SiteElevation": "...", "AlignmentMode": "...", "IsPulseGuiding": "...", "SiderealTime": "...", "GuideRateDeclination": "...", "GuideRateRightAscension": "...", "Action": "..."}

POST /api/v1/mount/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "UTCDate": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Slewing": "...", "TrackingEnabled": "...", "TrackingMode": "...", "AtHome": "...", "AtPark": "...", "RightAscension": "...", "Declination": "...", "Azimuth": "...", "Altitude": "...", "SideOfPier": "...", "SiteLatitude": "...", "SiteLongitude": "...", "SiteElevation": "...", "AlignmentMode": "...", "IsPulseGuiding": "...", "SiderealTime": "...", "GuideRateDeclination": "...", "GuideRateRightAscension": "...", "Action": "..."}

POST /api/v1/mount/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "UTCDate": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Slewing": "...", "TrackingEnabled": "...", "TrackingMode": "...", "AtHome": "...", "AtPark": "...", "RightAscension": "...", "Declination": "...", "Azimuth": "...", "Altitude": "...", "SideOfPier": "...", "SiteLatitude": "...", "SiteLongitude": "...", "SiteElevation": "...", "AlignmentMode": "...", "IsPulseGuiding": "...", "SiderealTime": "...", "GuideRateDeclination": "...", "GuideRateRightAscension": "...", "Action": "..."}

POST /api/v1/mount/park
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "UTCDate": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Slewing": "...", "TrackingEnabled": "...", "TrackingMode": "...", "AtHome": "...", "AtPark": "...", "RightAscension": "...", "Declination": "...", "Azimuth": "...", "Altitude": "...", "SideOfPier": "...", "SiteLatitude": "...", "SiteLongitude": "...", "SiteElevation": "...", "AlignmentMode": "...", "IsPulseGuiding": "...", "SiderealTime": "...", "GuideRateDeclination": "...", "GuideRateRightAscension": "...", "Action": "..."}

POST /api/v1/mount/slew
Parameters
name type data type description
RightAscension required double N/A
Declination required double N/A
Responses
http code content-type response
200 application/json {"Name": "...", "UTCDate": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Slewing": "...", "TrackingEnabled": "...", "TrackingMode": "...", "AtHome": "...", "AtPark": "...", "RightAscension": "...", "Declination": "...", "Azimuth": "...", "Altitude": "...", "SideOfPier": "...", "SiteLatitude": "...", "SiteLongitude": "...", "SiteElevation": "...", "AlignmentMode": "...", "IsPulseGuiding": "...", "SiderealTime": "...", "GuideRateDeclination": "...", "GuideRateRightAscension": "...", "Action": "..."}

PATCH /api/v1/mount/trackingmode
Parameters
name type data type description
TrackingMode required string N/A
Responses
http code content-type response
200 application/json {"Name": "...", "UTCDate": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Slewing": "...", "TrackingEnabled": "...", "TrackingMode": "...", "AtHome": "...", "AtPark": "...", "RightAscension": "...", "Declination": "...", "Azimuth": "...", "Altitude": "...", "SideOfPier": "...", "SiteLatitude": "...", "SiteLongitude": "...", "SiteElevation": "...", "AlignmentMode": "...", "IsPulseGuiding": "...", "SiderealTime": "...", "GuideRateDeclination": "...", "GuideRateRightAscension": "...", "Action": "..."}

POST /api/v1/mount/unpark
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "UTCDate": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Slewing": "...", "TrackingEnabled": "...", "TrackingMode": "...", "AtHome": "...", "AtPark": "...", "RightAscension": "...", "Declination": "...", "Azimuth": "...", "Altitude": "...", "SideOfPier": "...", "SiteLatitude": "...", "SiteLongitude": "...", "SiteElevation": "...", "AlignmentMode": "...", "IsPulseGuiding": "...", "SiderealTime": "...", "GuideRateDeclination": "...", "GuideRateRightAscension": "...", "Action": "..."}

Rotator Endpoints

GET /api/v1/rotator/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Position": "...", "IsMoving": "...", "StepSize": "...", "MechanicalPosition": "...", "Reverse": "...", "Action": "..."}

POST /api/v1/rotator/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Position": "...", "IsMoving": "...", "StepSize": "...", "MechanicalPosition": "...", "Reverse": "...", "Action": "..."}

POST /api/v1/rotator/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Position": "...", "IsMoving": "...", "StepSize": "...", "MechanicalPosition": "...", "Reverse": "...", "Action": "..."}

Switch Endpoints

GET /api/v1/switch/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Action": "..."}

POST /api/v1/switch/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Action": "..."}

POST /api/v1/switch/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Action": "..."}

Focuser Endpoints

GET /api/v1/focuser/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Position": "...", "TempComp": "...", "TempCompAvailable": "...", "Temperature": "...", "StepSize": "...", "Action": "..."}

POST /api/v1/focuser/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Position": "...", "TempComp": "...", "TempCompAvailable": "...", "Temperature": "...", "StepSize": "...", "Action": "..."}

POST /api/v1/focuser/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Position": "...", "TempComp": "...", "TempCompAvailable": "...", "Temperature": "...", "StepSize": "...", "Action": "..."}

PATCH /api/v1/focuser/position
Parameters
name type data type description
Position required int N/A
Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Position": "...", "TempComp": "...", "TempCompAvailable": "...", "Temperature": "...", "StepSize": "...", "Action": "..."}

Filter Wheel Endpoints

GET /api/v1/filterwheel/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "SelectedFilter": "...", "Action": "..."}

POST /api/v1/filterwheel/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "SelectedFilter": "...", "Action": "..."}

POST /api/v1/filterwheel/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "SelectedFilter": "...", "Action": "..."}

PATCH /api/v1/filterwheel/filter
Parameters
name type data type description
Position required short N/A
Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "SelectedFilter": "...", "Action": "..."}

Flat Device Endpoints

GET /api/v1/flatdevice/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Brightness": "...", "MaxBrightness": "...", "MinBrightness": "...", "CoverState": "...", "LightOn": "...", "Action": "..."}

POST /api/v1/flatdevice/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Brightness": "...", "MaxBrightness": "...", "MinBrightness": "...", "CoverState": "...", "LightOn": "...", "Action": "..."}

POST /api/v1/flatdevice/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Brightness": "...", "MaxBrightness": "...", "MinBrightness": "...", "CoverState": "...", "LightOn": "...", "Action": "..."}

Safety Monitor Controller Endpoints

GET /api/v1/safetymonitor/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "IsSafe": "...", "Action": "..."}

POST /api/v1/safetymonitor/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "IsSafe": "...", "Action": "..."}

POST /api/v1/safetymonitor/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "IsSafe": "...", "Action": "..."}

Weather Endpoints

GET /api/v1/weather/
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Temperature": "...", "Humidity": "...", "DewPoint": "...", "WindSpeed": "...", "WindDirection": "...", "Pressure": "...", "SkyQuality": "...", "SkyBrightness": "...", "RainRate": "...", "CloudCover": "...", "StarFWHM": "...", "Action": "..."}

POST /api/v1/weather/connect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Temperature": "...", "Humidity": "...", "DewPoint": "...", "WindSpeed": "...", "WindDirection": "...", "Pressure": "...", "SkyQuality": "...", "SkyBrightness": "...", "RainRate": "...", "CloudCover": "...", "StarFWHM": "...", "Action": "..."}

POST /api/v1/weather/disconnect
Parameters

None

Responses
http code content-type response
200 application/json {"Name": "...", "Description": "...", "DeviceId": "...", "Connected": "...", "Temperature": "...", "Humidity": "...", "DewPoint": "...", "WindSpeed": "...", "WindDirection": "...", "Pressure": "...", "SkyQuality": "...", "SkyBrightness": "...", "RainRate": "...", "CloudCover": "...", "StarFWHM": "...", "Action": "..."}

Websocket Events Documentation

Camera Events

Event CameraStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Battery required int? N/A
Connected required bool N/A
Offset required int N/A
Gain required int? N/A
DefaultGain required int? N/A
Temperature required double? N/A
TemperatureSetPoint required double? N/A
AtTargetTemp required bool N/A
TargetTemp required double? N/A
CoolerOn required bool N/A
CoolerPower required double? N/A
HasDewHeater required bool N/A
BinX required short N/A
BinY required short N/A
USBLimit required int N/A
XSize required int N/A
YSize required int N/A
PixelSize required double? N/A
SensorType required string N/A
Action required string N/A

Dome Events

Event DomeStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
AtHome required bool N/A
AtPark required bool N/A
DriverFollowing required bool N/A
ShutterStatus required string N/A
Azimuth required double N/A
Slewing required bool N/A
IsFollowingScope required bool N/A
Action required string N/A

Mount Events

Event MountStatusResponse
Data
name type data type description
Name required string N/A
UTCDate required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
Slewing required bool N/A
TrackingEnabled required bool N/A
TrackingMode required string N/A
AtHome required bool N/A
AtPark required bool N/A
RightAscension required double N/A
Declination required double N/A
Azimuth required double N/A
Altitude required double N/A
SideOfPier required string N/A
SiteLatitude required double N/A
SiteLongitude required double N/A
SiteElevation required double N/A
AlignmentMode required string N/A
IsPulseGuiding required bool N/A
SiderealTime required string N/A
GuideRateDeclination required double? N/A
GuideRateRightAscension required double? N/A
Action required string N/A

Rotator Events

Event RotatorStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
Position required double? N/A
IsMoving required bool N/A
StepSize required double? N/A
MechanicalPosition required float? N/A
Reverse required bool N/A
Action required string N/A

Switch Events

Event SwitchStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
Action required string N/A

Focuser Events

Event FocuserStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
Position required int N/A
TempComp required bool N/A
TempCompAvailable required bool N/A
Temperature required double? N/A
StepSize required double? N/A
Action required string N/A

Filter Wheel Events

Event FilterWheelStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
SelectedFilter required Filter N/A
Action required string N/A

Flat Device Events

Event FlatDeviceStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
Brightness required int N/A
MaxBrightness required int N/A
MinBrightness required int N/A
CoverState required string N/A
LightOn required bool N/A
Action required string N/A

Safety Monitor Controller Events

Event SafetyMonitorStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
IsSafe required bool N/A
Action required string N/A

Weather Events

Event WeatherStatusResponse
Data
name type data type description
Name required string N/A
Description required string N/A
DeviceId required string N/A
Connected required bool N/A
Temperature required double? N/A
Humidity required double? N/A
DewPoint required double? N/A
WindSpeed required double? N/A
WindDirection required double? N/A
Pressure required double? N/A
SkyQuality required double? N/A
SkyBrightness required double? N/A
RainRate required double? N/A
CloudCover required double? N/A
StarFWHM required double? N/A
Action required string N/A