The REST API Callback allows to connect external end-points in order to receive callback events sent by the guiding and/or focusing loops.

The structure of JSON callback message is standard.

The JSON response is structured as following:




“success” if event indicate a successful result

“error” in case of error


The name of the event who fired the callback


null if there is no data, otherwise the data returned by the method. It can be a boolean value, or a complex data structure.


null if there is no message, otherwise a string containing the message.




Event sent during the guider calibration process


Event sent during the focuser calibration process


Event sent when the guider frame has been pre-processed and displayed on the camera output viewport


Event sent when the guider reference frame has been updated on the reference viewport


Event sent when the guider correlation has been completed.


Event sent when the focuser correlation has been completed.


Event sent when the acquisition loop status has changed


Event sent when the guiding status has changed


Event sent when the focusing status has changed

As an example, a Powershell script is distributed with the SkySurveyor installation package.

 The script be found here: “SkyGuard_x86_ASCOM64_MDL6_v3.3.0000.00000\SDK\RESTCallbackListener.ps1

This example creates a HTTP request listener on port 8000.

 Before running the powershell do the URL reservation with the netsh.exe command with the following command:

netsh http add urlacl url=http://+:8000/ user=DOMAIN\user

 To make the URL reservation and Windows Command Prompt “CMD.exe” must be opened as administrator.

UAC requires administrator access. If the account does not have administrator privileges, an administrator user and password will be necessary to continue.

See for details.

Once the URL reservation is done, the REST callback listener can be started by running the powershell script in the following screen capture:

 To end the HTTP callback listener execution, do not stop the script, invoke the following URL via an internet browser or via Powershell Invoke-Request command: http://localhost:8000/end$