Endpoint for interacting with raw time-series events (read-write).

GET

Retrieving a paginated list of events requires a GET request to a list URL:

GET /api/v4/timeseries/<uuid>/events/

Retrieving a single event requires a GET request to a detail URL:

GET /api/v4/timeseries/<uuid>/events/<datetime>/

Note that <datetime> should be an ISO 8601 date and time representation, for example 2020-01-01T00:00:00Z. If no time zone is provided, UTC is assumed. Historic values may be obtained as follows:

GET /api/v4/timeseries/<uuid>/events/<datetime>/history/

POST

Creating and/or updating events requires a POST request to a list URL:

POST /api/v4/timeseries/<uuid>/events/

The JSON payload should be a list of one or more events, for example:

[
    {"time": "2020-03-20T01:00:00Z", "value": 3.14},
    {"time": "2020-03-20T01:05:00Z", "value": 2.72}
]

It's also possible to post a CSV file as multipart form data. The first line of the file should describe the column names, for example:

time, value
2020-03-20T01:00:00Z, 3.14
2020-03-20T01:05:00Z, 2.72

Depending on the value_type of the corresponding time series, the following fields may be set:

time: ISO 8601 date and time representation. This is a required field.

value: A number, string, or boolean, depending on the value_type of the corresponding time series. Nullable for numbers. Since float is the most commonly used value_type, numbers are predominant.

flag: A small integer. Nullable. Not available for booleans.

validation_code: A string of at most 3 characters. Available for numbers and booleans.

comment: A string. Available for numbers and booleans.

detection_limit: Either "", "<", or ">". Only available for numbers.

DELETE

Deleting all events requires a DELETE request on a list URL:

DELETE /api/v4/timeseries/<uuid>/events/

Note that this will delete historic values as well! Query parameters (see below) may be used to control what events get deleted, for example:

DELETE /api/v4/timeseries/<uuid>/events/?time__year=2020

Deleting a single event requires a DELETE request on a detail URL:

DELETE /api/v4/timeseries/<uuid>/events/<datetime>/

Query parameters:

time: Filter on time. A variety of lookups are available, see the examples below. The aliases start and end may be used instead of time__gte and time__lt, respectively.

value: Filter on value. For numbers, exact (the default), lt, gt, lte, gte, and isnull are supported. For strings, exact (the default) and startswith are supported. For booleans, only exact is available.

flag: Filter on flag. Supported lookups: exact (the default), lt, gt, lte, gte, and isnull.

validation_code: Filter on validation_code. Only exact (the default), startswith, and is_empty is supported.

last_modified: Filter on last_modified. Supported lookups: exact (the default), lt, gt, lte, and gte.

detection_limit: Filter on detection_limit. Only exact (the default) and is_empty is supported. To filter on < and >, it might be necessary to use URL encoding, so %3C and %3E, respectively.

Query parameters may be combined for advanced filtering.

Examples

?time=2020-04-23T00:00:00Z

?time__gte=2020-04-23T00:00:00Z

?time__lt=2022-04-23T00:00:00Z

?time__gte=2020-04-23T00:00:00Z&time__lt=2022-04-23T00:00:00Z

?start=2020-04-23T00:00:00Z&end=2022-04-23T00:00:00Z

?time__range=2020-04-23T00:00:00Z,2022-04-23T00:00:00Z

?time__year=2020

?time__time=00:05

?value=0.5

?value=xyz

?value=true

?value__isnull=true

?flag__in=5,6,7

?validation_code__startswith=W

?last_modified__gte=2021-04-23T00:00:00Z

?detection_limit__isempty=false

?detection_limit__isempty=%3C
GET /api/v4/timeseries/aae25e31-3a89-46bd-a167-95a42eb2b4c2/events/?format=api
HTTP 200 OK
Allow: GET, POST, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 301179,
    "next": "https://zuiderzeeland.lizard.net/api/v4/timeseries/aae25e31-3a89-46bd-a167-95a42eb2b4c2/events/?format=api&page=2",
    "previous": null,
    "results": [
        {
            "time": "1990-01-01T01:00:00Z",
            "value": 0.0,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.823593Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T02:00:00Z",
            "value": 0.0,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.823738Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T03:00:00Z",
            "value": 0.0,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.823844Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T04:00:00Z",
            "value": 0.0,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.823941Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T05:00:00Z",
            "value": 0.0,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.824071Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T06:00:00Z",
            "value": 0.0,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.824169Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T07:00:00Z",
            "value": -0.1,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.824263Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T08:00:00Z",
            "value": -0.1,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.824356Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T09:00:00Z",
            "value": -0.1,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.824448Z",
            "detection_limit": ""
        },
        {
            "time": "1990-01-01T10:00:00Z",
            "value": -0.1,
            "flag": null,
            "validation_code": "",
            "comment": "",
            "last_modified": "2020-11-30T09:40:15.824540Z",
            "detection_limit": ""
        }
    ]
}