Skip to content

Topas4 API Documentation

Welcome to the Topas4 API Documentation. Here you will find all the resources required to get started with the Topas4 API, including download links, examples, and a comprehensive guide to the API's functionality.

Downloads & Resources

Principal Concepts

Topas4 software system is designed to facilitate seamless device control through a server-client model. Below are the key concepts:

  1. Continuous Server Operation: The Topas4 Server application must be running at all times to access the device.
  2. Client Application Flexibility: Multiple client applications can control the device simultaneously using the REST API.
  3. Versatile Setup: Server and client applications can run on the same or different PCs, irrespective of the operating system.
  4. REST API Control: The device is exclusively controlled via REST API using JSON for data serialization.
  5. Non-blocking Operations: All actions are non-blocking; use additional API calls to track completion.
  6. Direct API Interaction: There's no concept of connecting/disconnecting from a device/session.
  7. Authorized Access: System state changes require an authorized IP address for safety.
  8. Server Location: Topas4 Server's location uses UDP multicast; SDK and Python examples available for locating the server.

.NET SDK

The .NET library is a thin wrapper over the REST API, simplifying and expediting the development process. For languages/environments not supporting .NET, the REST API can be used directly without any loss of functionality.

Detailed Description of Sub-Services

Examples

Quick-start examples for various languages/tools are provided:

  • C#
  • Python
  • Visual Basic
  • LabVIEW
  • Matlab
  • Postman Collection

Demo Device: You can use a demo device within the WinTopas4 application for API testing without a physical device.

Example Code Snippet

static void Main (string[] args) {
    var serialNumber = "00666"; // Replace with your device's serial number.
    var example = new Topas4SDKExample (serialNumber);
    example.Run ();
}