API
Streams
In advance, we need the o2a token. The procedure to retrieve a login token is quite similar to REGISTRY.
The session token can be created like this:
bash
curl -c cookiefile \
-X 'POST' 'https://ingest.o2a-data.de/rest/auth/login' \
-H 'accept: application/json' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-o /dev/null
-d 'username=yourmail.aai@xyz.de&password=this_is_the_o2a_token'In the -d object "username" is the account name (no functional account, it must be able to authenticate via AAI). "password" refers to the O2A token.
O2A token are versatilely usable in the O2A framework, hence each token can be applied to each part, such as registry, streams, etc.
Post datasets
bash
curl -X 'POST' \
'https://ingest.o2a-data.de/rest/datasets' \
-H 'accept: application/json' \
-H 'Content-Type: text/plain' \
-d 'the (string encoded) content of your nrt file'Reminder: these are the specs for nrt files
As a response amongst others the dataset ID is returned. The ID is a unique identifier which can be used in different ways. For example an overview of the dataset can be created by:
bash
curl -X 'GET' \
'https://ingest.o2a-data.de/rest/datasets/4927165' \
-H 'accept: application/json'The response brings up the following:
json
{
"id": 4927165,
"datetime": "2025-09-24T08:20:32.887869",
"datetimeMin": "2025-09-24T08:19:07",
"datetimeMax": "2025-09-24T08:19:07",
"values": 12,
"username": "i.ngest@awi.de"
}- id: the dataset ID
- datetime: the timestamp when the dataset was written to the database
- datetimeMin: the "oldest" row of data
- datetimeMax: the "youngest" row of data
- values: the total number of values without the datetime element (the above example has 13 columns in a tabular form)
- username: the account that was responsible for the insertion of the data
Delete datasets
Remark: only accounts that have written a dataset to the database are able to erase it!
bash
curl -X 'DELETE' \
'https://ingest.o2a-data.de/rest/datasets/4927567' \
-H 'accept: application/json'Files
... more coming soon.