Pagination APIs structure

Represents a pair of request / response pair a subset of the desired results and allows the consumer to request the rest page after page

POST Request query parameters

Must

  • customerGUID

Optional

  • Standard filters (cluster, namespace, attributes)
  • WLID filter
  • instanceID
{
    "pageSize": 68,
    "pageNum": 15,
    "since": "2020-11-24T09:37:45.633230367-05:00",
    "until": "2020-11-20T05:37:45.633230937-05:00",
    "orderBy": "timestamp:desc",
    "innerFilters": [
        {
            "aaab": "val1|like,val45",
            "nmvccv": "aasdtyy|greater", //AND
            "vvg": "bbb|lower"
        }, //OR
        {
            "aaab": "val1|like,val45",
            "nmvccv": "aasdtyy|greater",
            "vvg": "bbb|lower"
        }
    ],
    "cursor": ""
}

The example above shows request of page number 15 while each page holds 68 entries.
Limited to entries started from 2020-11-24 05:37:45.633230367 UTC until 2020-11-20 09:37:45.633230937 UTC.
Only entries which suttisffying the inner filters condition will be taken into account.

Request fields

Order By

Determines which fields to sort the resposnse by, and with what order
Order types:

  • asc
  • desc
    In the exmple above, "timestamp:desc" means order by timestamp field in a descending order

Page size

Determines how many elements the consumer wants to get in response.
The BE limitation is currently set to 150.

Page number

Which page number the cosumer wants to get back from BE (starts from 1)

Since

A time in RFC3339 text format to start the search from

Until

A time in RFC3339 text format to limit the search to

Cursor

Using to replace the page number field in certain requests which not supporting in fully pagination mode.
Works in similar to this cursor

Inner filters structure

The inner filters are list of filters, once the item is matching one of the filters, it will be taken into account for the response.
In each filter one may have some fields of the elements to match a desired values separated by ','.
All of these fields in the item must meet their values in order to the the item be taken into account for the response.
Each value can be followed by a condition to meet. The default condition is "match".
The possible values are:

  • match - the value in the field must be equal to the term
  • like - the value in the field must contains the term
  • regex - the value in the field must match the provided regex. Regex syntax can be found here
  • greater - the value in the field must be gretear than or equal to the term
  • lower - the value in the field must be lower than or equal to the term

So the "aaab": "val1|like,val45" filter in the example above means that each item which contains "val1" in the value of aaab field, or that the value of aaab field is equal (==) to "val45" will match this filter.
And in addition it must match the "nmvccv": "aasdtyy|greater" and "vvg": "bbb|lower" conditions.

📘

Values to use inside the inner filters can be retreived with unique values request

🚧

Empty string in filters value will be ignored.
If you wish to get result with empty value in this key, use a string with just a comma like this:
{"filterKey" : ","}

{
    "total": {
        "value": 186,
        "relation": "eq"
    },
    "response": [
        {
            "timestamp": "1626787042",
            "machineID": "frontend-7fcd7c6bd8-d9v7z",
            "containerName": "server",
            "processID": 1,
            "processName": "/src/server",
            "sessionID": "b29cf8a8a60d4b92b53c33de214eead4",
            "wlid": "wlid://cluster-dwertent-v1/namespace-default/deployment-frontend",
            "receivedTime": "2021-07-20T13:18:02Z",
            "accessTime": 1616003126,
            "modificationTime": 1616003126,
            "size": 211009,
            "encrypted": 0,
            "quantity": 0,
            "fullName": "/src/static/img/products/barista-kit.jpg",
            "directory": "/src/static/img/products/",
            "uniqueID": 176,
            "openMode": 1
        },
        {
            "timestamp": "1626787043",
            "machineID": "frontend-7fcd7c6bd8-d9v7z",
            "containerName": "server",
            "processID": 1,
            "processName": "/src/server",
            "sessionID": "b29cf8a8a60d4b92b53c33de214eead4",
            "wlid": "wlid://cluster-dwertent-v1/namespace-default/deployment-frontend",
            "receivedTime": "2021-07-20T13:18:02Z",
            "accessTime": 1616003126,
            "modificationTime": 1616003126,
            "size": 260426,
            "encrypted": 0,
            "quantity": 0,
            "fullName": "/src/static/images/HeroBannerImage2.png",
            "directory": "/src/static/images/",
            "uniqueID": 183,
            "openMode": 1
        },
        {
            "timestamp": "1626787042",
            "machineID": "frontend-7fcd7c6bd8-d9v7z",
            "containerName": "server",
            "processID": 1,
            "processName": "/src/server",
            "sessionID": "b29cf8a8a60d4b92b53c33de214eead4",
            "wlid": "wlid://cluster-dwertent-v1/namespace-default/deployment-frontend",
            "receivedTime": "2021-07-20T13:18:02Z",
            "accessTime": 1616003126,
            "modificationTime": 1616003126,
            "size": 73723,
            "encrypted": 0,
            "quantity": 0,
            "fullName": "/src/static/img/products/camp-mug.jpg",
            "directory": "/src/static/img/products/",
            "uniqueID": 180,
            "openMode": 1
        }
    ],
    "cursor": ""
}

Response fields

Total

How many results could be retrieved for the filters provided by the request (up to 10,000)

  • value - the number of the results (up to 10,000)
  • relation - whether the real total number in DB is equal (eq) to the "value" number or greater than (gte) this number