The Oceans 3.0 API provides a collection of web services for programmatically unlocking access to the vast ONC data archive, whether it is scalar data, complex data or video and imagery. The services in the API are split into three functional groups: 1) Discovery, 2) Delivery and 3) Interoperability.
1) The discovery services are a collection of five services which are used to obtain all of the codes needed to successfully request data from the ONC data archive.
2) The data product delivery services are a collection of three services that return data defined by filter criteria. The data delivery services are split into two functional groups based on their delivery method: a) Asynchronous for large volumes or resampled data, and b) Synchronous for simple, near real-time scalar and raw data.
a) The asynchronous approach is handled by the dataProductsDelivery web service, which provides programmatic and url access to all the same data and data products as are available in the Oceans 3.0 Data Search web application. Data Products can be requested from instruments in five different ways, to suit different user workflows:
Because it is built on top of the Data Products framework, whenever new data products are made available or existing data products are improved, they are automatically made be available through the API.
All of the same data product functionality, including quality control, sub-sampling, multiple file formats and more, can be requested through the API. With a new JSON data product, 'Time Series Scalar Data' products can be easily ingested into a program, in your programming language of choice, for further processing and analysis.
b) The synchronous approach is currently being handled by the scalardata and rawdata services. The objective of these services is to provide fast access to small amounts of simple data, such as the last reading from an instrument and return it immediately in the response payload in json format, so that it can be quickly utilized by the calling program.