Skip to main content

Dataset Service

The dataset resource contains the configuration for dataset monitoring

Dataset REST API

The Dataset REST API is accessed through the following URL:

https://api.opendatadsl.com/api/dataset

General

MethodPathExampleDescription
GETGet the build information for this service

Dataset info methods

The API consists of the following calls:

MethodPathExampleDescription
GET{release}/infov1/infoLists all the datasets you have configured for monitoring
GET{release}/alldsv1/alldsLists all the datasets you have access to (both managed and unmanaged)
GET{release}/info/{id}v1/info/ICE.NDEX.NLBGets a dataset configuration
POST{release}/infov1/infoUpdate a dataset monitoring configuration
DELETE{release}/info/{id}v1/info/ICE.NDEX.NLBRemove a dataset monitoring configuration

Dataset feed methods

The API consists of the following calls:

MethodPathExampleDescription
GET{release}/feedv1/feedLists all the dataset feeds you have configured for monitoring
GET{release}/alldfv1/alldfLists all the dataset feeds you have access to (both managed and unmanaged)
GET{release}/feed/{id}v1/feed/ICE.NDEXGets a dataset feed configuration
POST{release}/feedv1/feedUpdate a dataset feed configuration
DELETE{release}/feed/{id}v1/feed/ICE.NDEXRemove a dataset feed monitoring configuration

Dataset delivery methods

The API consists of the following calls:

MethodPathExampleDescription
GET{release}/deliveryv1/deliveryLists all the dataset deliveries for the current ondate
GET{release}/delivery/{ondate}v1/delivery/2024-06-12Lists all the dataset deliveries for the provided ondate
GET{release}/delivery/{id}v1/delivery/ICE.NDEX.NLB:2024-06-12Gets the specified dataset delivery for the provided ondate

Dataset entities

Dataset configuration

Here are the properties of a Dataset configuration

NameDescriptionType
_idUnique id for the DataSet in the format {provider}.{feed}.{product}String
_typeAlways 'Dataset'String
dsidSame as _idString
nameThe name of the datasetString
providerThe id of the providerString
feedThe id of the feedString
productThe id of the productString
sourceThe source of the dataset private, common or publicString
qualityGroupThe name of the quality group used to check the quality of the dataset (group type:quality)String
expectedAn object defining the number of each tenor type we expect to receive for this dataset - only applicable for private datasetsObject

Example dataset

  {
"_id": "ICE.NDEX.BEP",
"_type": "Dataset",
"dsid": "ICE.NDEX.BEP",
"provider": "ICE",
"feed": "NDEX",
"product": "BEP",
"name": "ICE NDEX BEP - Belgian Power Financial Peak Futures",
"qualityGroup": "default",
"expected": {
"*": 82,
"Month": 59,
"Year": 4,
"Quarter": 19
},
"source": "common"
}

Dataset Feed configuration

Here are the properties of a Dataset Feed configuration

NameDescriptionType
_idUnique id for the DataSet Feed in the format {provider}.{feed}String
_typeAlways 'DatasetFeed'String
dsidSame as _idString
nameThe name of the dataset feedString
providerThe id of the providerString
feedThe id of the feedString
sourceThe source of the dataset private, common or publicString
calendarThe holiday calendar defining when the feed is available for collectionString
timeThe start time when the feed should be available in the format HH:mmString
lateThe time when the feed is considered to be late in the format HH:mmString

Example dataset feed

{
"_id": "ODSL.FEED",
"_type": "DatasetFeed",
"calendar": "BUSINESS",
"source": "private",
"time": "20:00 EU1",
"late": "23:00 EU1",
"provider": "ODSL",
"feed": "FEED",
"name": "ODSL Sample Feed"
}

Smart feed configuration

If this dataset feed is being loaded using the Smart Feed, the following additional configuration information can be added:

NameDescriptionType
smartFeedA boolean indicating to load this dataset feed using the smart loaderBoolean
loadersAn array of loader configurationsObject
Loader configuration
NameDescriptionType
typeThe type of loader - standard, auto or manualString
idThe name of the loader, has to be unique within this feedString
processThe name of the process to runString
calendarThe days this loader should be runString
startThe start time for the loader to fireString
retryStrategyOnly applicable to standard loaders and configures how the loader handles retriesObject
Retry strategies
NameDescriptionType
strategyThe type - linear, random, eager or lazyString
retryMinutesThe number of minutes to wait for linear and a hint to the othersInteger
Example loader configuration
{
"calendar": "DAILY",
"process": "BSP_EL_DA_DATA",
"start": "19:30 EU2",
"type": "standard",
"id": "standard",
"retryStrategy": {
"strategy": "linear",
"retryMinutes": 10
}
}

Dataset Delivery configuration

Here are the properties of a Dataset Delivery configuration

NameDescriptionType
_idUnique id for the Dataset Delivery in the format {provider}.{feed}.{product}.{ondate}String
_typeAlways 'DatasetDelivery'String
dsidThe dataset idString
ondateThe date for the data being deliveredString
completeA boolean indicating if this dataset is completeBoolean
initialisedA datetime when this delivery was initialisedDatetime
scoreAn integer defining the score for this delivery - 4=No issues, 3=Late<1h, 2=Late<4h, 1=Late>4h, 0=HolidayInteger
scoreinfoText to add context to the score valueString
statusThe current status of the deliveryString
statusinfoText to add context to the statusString
expectedExpected tenors to be delivered, copied from the dataset configurationObject
actualActual tenors delivered, same format as expectedObject
timingsAn object with info about the timingsObject
deliveriesInformation about all the feed deliveries that were madeObject
checksInformation about all the quality checks that were madeObject
timelineA log of everything that has happened in connection with this deliveryArray(String)
timestampThe last time this delivery information was updatedDatetime

Dataset delivery timings object

NameDescriptionType
expectedThe time when this dataset is expected to be ready in the format HH:mm [tz]String
lateThe time when this dataset is considered to be late in the format HH:mm [tz]String
loadedThe time the data was loaded completely in the format HH:mm [tz]String
late_deltaAn integer indicating the number of minutes that this dataset is lateInteger
actualAn array of objects with time and status used to show partial deliveries up to final full deliveryArray

Dataset delivery deliveries object

NameDescriptionType
idThe transaction id - usually the same as the process execution idString
timestampThe datetime for this deliveryDatetime
reasonThe reason string, usually crontab informationString
originThe origin of the delivery, usually the name of the processString
tenorsThe actual tenors delivered in this deliveryObject

Dataset delivery quality check object

NameDescriptionType
idThe transaction id - usually the same as the process execution idString
timestampThe datetime for the quality checksDatetime
logLog messages produced from the checksList(String)
{check name}Object containing output from the quality check functionObject

Example Dataset Delivery

{
"_id": "BSP.EL_DA.SI:2024-07-18",
"complete": true,
"dsid": "BSP.EL_DA.SI",
"initialised": "2024-07-18T00:00:40.580Z",
"ondate": "2024-07-18",
"score": 1,
"scoreinfo": "Late Data: > 4h",
"status": "loaded",
"statusinfo": "Loaded data matches expected",
"timeline": [
"2024-07-18T00:00:40.580263Z[UTC] info DS_PUBLIC_INIT status changed to waiting",
"2024-07-19T00:10:32.981082Z[UTC] warn DS_PUBLIC_LATE status changed to late",
"2024-07-19T00:10:32.981146Z[UTC] info DS_PUBLIC_LATE statusinfo changed to 1 days late",
"2024-07-19T17:31:05.803141Z[UTC] info BSP_EL_DA_DATA Got delivery ee5d9f41-b32e-465a-9c78-80fbe775f4ac with 24 tenors",
"2024-07-19T17:31:05.807096Z[UTC] info BSP_EL_DA_DATA Delivery ee5d9f41-b32e-465a-9c78-80fbe775f4ac had 24 new tenors",
"2024-07-19T17:31:05.807251Z[UTC] info BSP_EL_DA_DATA status changed to loaded",
"2024-07-19T17:31:05.865858Z[UTC] info BSP_EL_DA_DATA statusinfo changed to Loaded data matches expected"
],
"timings": {
"expected": "19:30 EU2",
"late": "21:00 EU2",
"timezone": "Europe/Ljubljana",
"actual": [
{
"00:10 UTC": "late"
},
{
"-19:31 EU2": "loaded"
}
],
"late_delta": 88260,
"loaded": "-19:31 EU2"
},
"actual": {
"*": 24,
"Intraday": 24
},
"deliveries": {
"ee5d9f41-b32e-465a-9c78-80fbe775f4ac": {
"id": "ee5d9f41-b32e-465a-9c78-80fbe775f4ac",
"timestamp": "2024-07-19T17:31:05.803Z",
"reason": "smartLoader(BSP.EL_DA/BSP_EL_DA_DATA/2024-07-19,2024-07-19T17:30:30Z)",
"origin": "BSP_EL_DA_DATA",
"tenors": {
"*": 24,
"Intraday": 24
}
}
},
"expected": {
"*": 24,
"Intraday": 24
},
"timestamp": "2024-07-19T17:31:05.807Z"
}

Functions

The following functions are available on the dataset REST API:

FunctionExampleDescription
expected/dataset/v1/ODSL.NDEX.BEP?_function=expectedCalculate the expected tenors for a dataset based on historic data loads
expected/dataset/v1/ODSL?_function=expectedCalculate the expected tenors for all datasets starting with ODSL based on historic data loads
initialise/dataset/v1/2024-04-30?_function=initialiseInitialise a dataset for a specified ondate
lateness/dataset/v1/2024-03-11?_function=latenessCheck the lateness of all datasets for the specified ondate

Examples

Datasets

### Get full list of datasets
GET {{url}}/dataset/v1/allds
?_project=name
Authorization: Bearer {{token}}

### Get Dataset infos
GET {{url}}/dataset/v1/info
Authorization: Bearer {{token}}

### Get Dataset infos - filtered
GET {{url}}/dataset/v1/info
?_id=ICE.NDEX.GAB
&_id=ICE.NDEX.BEP
Authorization: Bearer {{token}}

### Get Dataset infos - projected
GET {{url}}/dataset/v1/info
?_project=dsid,source
Authorization: Bearer {{token}}

### Get a Dataset info
GET {{url}}/dataset/v1/info/ICE.NDEX.BEB
Authorization: Bearer {{token}}

### Add a Dataset Info
POST {{url}}/dataset/v1/info
Authorization: Bearer {{token}}

{
"_id": "ODSL.TRADER1.NBP",
"expected": {
"*": 1
}
}

### Add a common Dataset Info
POST {{url}}/dataset/v1/info
Authorization: Bearer {{token}}

{
"_id": "ICE.NDEX.NLB",
"source":"common"
}

### Delete a Dataset info
DELETE {{url}}/dataset/v1/info/ICE.NDEX.DDA
Authorization: Bearer {{token}}

Dataset Feed

### Get full list of datasets
GET {{url}}/dataset/v1/alldf
?_project=name
Authorization: Bearer {{token}}

### Get Dataset Feeds
GET {{url}}/dataset/v1/feed
Authorization: Bearer {{token}}

### Get Dataset Feeds - filtered
GET {{url}}/dataset/v1/feed
?_id=ICE.NDEX
Authorization: Bearer {{token}}

### Get Dataset Feeds - filtered
GET {{url}}/dataset/v1/feed
?source=common
Authorization: Bearer {{token}}

### Get Dataset Feeds - projected
GET {{url}}/dataset/v1/feed
?_project=calendar,time,late
Authorization: Bearer {{token}}

### Get a Dataset Feed
GET {{url}}/dataset/v1/feed/ICE.NDEX
Authorization: Bearer {{token}}

### Get a Dataset Feed - projected
GET {{url}}/dataset/v1/feed/ICE.NDEX
?_project=time,late
Authorization: Bearer {{token}}

### Add a dataset feed
POST {{url}}/dataset/v1/feed
Authorization: Bearer {{token}}

{
"_id": "ODSL.TRADER1",
"time": "20:00 EU1",
"late": "23:00 EU1"
}

### Delete a feed
DELETE {{url}}/dataset/v1/feed/ODSL.TRADER1
Authorization: Bearer {{token}}

Dataset deliveries

### Get Dataset Deliveries - current ondate
GET {{url}}/dataset/v1/delivery
Authorization: Bearer {{token}}

### Get Dataset Deliveries - specific ondate
GET {{url}}/dataset/v1/delivery/2024-06-12
Authorization: Bearer {{token}}

### Get Dataset Deliveries - filtered
GET {{url}}/dataset/v1/delivery/2024-06-12
?dsid=ICE.NDEX.NLB
Authorization: Bearer {{token}}

### Get Dataset Deliveries - projected
GET {{url}}/dataset/v1/delivery/2024-06-12
?_project=score,scoreinfo
Authorization: Bearer {{token}}

### Get Dataset Delivery
GET {{url}}/dataset/v1/delivery/ICE.NDEX.NLB:2024-06-12
?_project=score,scoreinfo
Authorization: Bearer {{token}}