Skip to content

TethysDash APIs

TethysDash offers two main APIs: a REST API, which supports all major operations; and an AsyncAPI exposed via Websockets.

REST API

Documentation

The TethysDash API is documented at https://docs.mbari.org/tethysdash/apidocs/.

Accessing the API

TethysDash Client libraries

You can use available tooling, including openapi-generator, swagger-codegen, to generate client libraries in different languages by parsing the OpenAPI definition.

Some client libraries focused on concrete operations have been developed on an as-needed basis. In general, these are not actively maintained. Please contact us if you need access.

  • Java client library. A preliminary Java client library is currently maintained here. The corresponding API documentation for this Java client is located here.

  • Python client library. A very preliminary python client has been started here.

Generic mechanisms

To access the API you can use any HTTP client library in your preferred programming language, or command line tools like CURL, CURLie, HTTPie.

Async API

With the TethysDash Async API, exposed via Websockets, client applications get notified asynchronously about various events in the system including LRAUV vehicle events, cell connection status, as well as about TrackingDB asset positions (which are monitored and reported by the odss2dash service).

The AsyncAPI definition is available here. NOTE: incomplete.

To access the AsyncAPI you can of course use the standard Websockets mechanism in browsers, websocket-aware libraries in programming languages, or command line tools like websocat.