Article

How to Retrieve Early Partial Delivery of Embargoed Reports via DataScope Select REST API

LSEG DataScope Select is a hosted data extraction platform that provides access to global pricing, validated terms and conditions, historical data content, corporate actions, cross-reference data, and legal entity data. Supported instruments include equities, funds, derivatives, money/foreign exchange, warrants, fixed income securities, commodities, and sell-side estimates, as well as user-defined instruments (Credit Default Swaps, Interest Rate Swaps and Over-The-Counter Equity Options). Data is categorized into report templates, such as EOD Pricing, Intraday Pricing, Premium EOD Pricing, Terms and Conditions, and Composite report templates. 

This article focuses on the Early Partial Delivery of Embargoed Reports preference. You can enable this option to receive an early partial report with non-embargoed data before the complete report with embargoed intraday is available. This article demonstrates how to enable this feature and how to retrieve early partial reports with non-embargoed data via DataScope Select REST API. The Postman example is also available on GitHub. 

To learn more about this feature and use it on DataScope Select Web GUI, please refer to How to Retrieve Early Partial Delivery of Embargoed Reports via DataScope Select Web GUI article.  

Embargoed Extractions

DataScope Select is governed by exchange rules that require delays in the release of Intraday Pricing and Premium End of Day Data Pricing extractions. Embargo delays apply only to users who are not permissioned to receive real-time intraday data during the exchange’s operating hours. No embargo is applied if you are permissioned for real-time intraday data or if you request data outside of the exchange’s operating hours. Please contact your local account manager or sales specialist for information about real-time intraday permissions.

To retrieve embargo information for the instruments in your input list, you should run an Intraday Pricing or Premium EOD Pricing extraction using the following fields:

  • Current Embargo Delay: The remaining amount of time (in minutes) until an exchange embargo is lifted. 
  • Embargo Times: Operating hours of the exchange during which the full embargo will be applied, presented in the schedule-level preferred time zone.
  • Embargo Window: Time period during which you are not permitted to receive data from the exchange for the indicated instrument; Data requested during this time period will be delayed until the start of the next window.
  • Exchange Requiring Embargo: Exchange requiring the embargo delay for the indicated instrument.
  • Instrument Snap Time: Time at which the data was snapshot for the indicated instrument, presented in the time zone selected in your user preferences.
  • Last Update Time: Time at which the indicated instrument last received an update (tick) in DSS from the content feed for this extraction, presented in the time zone selected in your user preferences.
  • Maximum Embargo Delay: Maximum number of minutes required by the exchange that the instrument must be embargoed for, based on the specific users’ exchange permissions.
  • Real Time Permitted: Y/N flag indicating whether you are permissioned to retrieve real-time intraday data for the indicated instrument.

You can use On-Demand extractions in the DataScope REST API to extraction this information by sending to following request message to the /Extractions/ExtractWithNotes endpoint with the HTTP POST method. The request message looks like this:

    	
            

{

  "ExtractionRequest": {

    "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.IntradayPricingExtractionRequest",

    "ContentFieldNames": [

      "RIC",

      "Current Embargo Delay",

      "Embargo Times",

      "Embargo Window",

      "Exchange Requiring Embargo",

      "Instrument Snap Time",

      "Last Update Time",

      "Maximum Embargo Delay",

      "Real Time Permitted"

    ],

    "IdentifierList": {

      "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList", 

      "InstrumentIdentifiers": [

              { "Identifier": "0001.HK", "IdentifierType": "Ric" },

              { "Identifier": "IBM.N", "IdentifierType": "Ric" },

              { "Identifier": "JPY=", "IdentifierType": "Ric" },

              { "Identifier": "1579.T", "IdentifierType": "Ric" },

              { "Identifier": "PTT.BK", "IdentifierType": "Ric" }

      ]

    },

    "Condition": null

  }

}

The retrieved response looks like this:

    	
            

{

    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#DataScope.Select.Api.Extractions.ExtractionRequests.ExtractionResult",

    "Contents": [

        {

            "IdentifierType": "Ric",

            "Identifier": "0001.HK",

            "RIC": "0001.HK",

            "Current Embargo Delay": 15,

            "Embargo Times": "Monday-Friday 08:30:00-11:00:00 and Monday-Friday 12:00:00-15:00:00",

            "Embargo Window": null,

            "Exchange Requiring Embargo": "HS1 (HKEX-HONG KONG STOCK EXCHANGE LEVEL 1), HKG (HKEX-HONG KONG STOCK EXCHANGE LEVEL 1 LEVEL 2), HSF (HKEX-HONG KONG STOCK EXCHANGE FULL TICK DATA)",

            "Instrument Snap Time": "18.07.2023 10:43:43",

            "Last Update Time": "18.07.2023 10:43:38",

            "Maximum Embargo Delay": 15,

            "Real Time Permitted": "N"

        },

        {

            "IdentifierType": "Ric",

            "Identifier": "IBM.N",

            "RIC": "IBM.N",

            "Current Embargo Delay": 0,

            "Embargo Times": "Monday-Friday 20:30:00-03:02:00",

            "Embargo Window": null,

            "Exchange Requiring Embargo": "NYS (NYSE LEVEL 1)",

            "Instrument Snap Time": "18.07.2023 10:43:43",

            "Last Update Time": "18.07.2023 10:09:00",

            "Maximum Embargo Delay": 15,

            "Real Time Permitted": "N"

        },

        {

            "IdentifierType": "Ric",

            "Identifier": "JPY=",

            "RIC": "JPY=",

            "Current Embargo Delay": 0,

            "Embargo Times": null,

            "Embargo Window": null,

            "Exchange Requiring Embargo": null,

            "Instrument Snap Time": "18.07.2023 10:43:43",

            "Last Update Time": "18.07.2023 10:43:42",

            "Maximum Embargo Delay": 0,

            "Real Time Permitted": "Y"

        },

        {

            "IdentifierType": "Ric",

            "Identifier": "1579.T",

            "RIC": "1579.T",

            "Current Embargo Delay": 20,

            "Embargo Times": "Monday-Friday 07:00:00-09:31:00 and Monday-Friday 10:30:00-13:05:00",

            "Embargo Window": null,

            "Exchange Requiring Embargo": "TYO (TOKYO STOCK EXCHANGE), TYM (TOKYO SE FLEX FULL OPEN MKT MODEL)",

            "Instrument Snap Time": "18.07.2023 10:43:43",

            "Last Update Time": "18.07.2023 10:43:43",

            "Maximum Embargo Delay": 20,

            "Real Time Permitted": "N"

        },

        {

            "IdentifierType": "Ric",

            "Identifier": "PTT.BK",

            "RIC": "PTT.BK",

            "Current Embargo Delay": 15,

            "Embargo Times": "Monday-Friday 09:55:00-12:30:00 and Monday-Friday 14:25:00-16:40:00",

            "Embargo Window": null,

            "Exchange Requiring Embargo": "SET (STOCK EXCHANGE OF THAILAND), ST2 (STOCK EXCHANGE OF THAILAND L1 L2)",

            "Instrument Snap Time": "18.07.2023 10:43:43",

            "Last Update Time": "18.07.2023 10:43:43",

            "Maximum Embargo Delay": 15,

            "Real Time Permitted": "N"

        }

    ],

    "Notes": [

        "Extraction Services Version 17.2.1.45837 (3cafbfe0269d), ...

}

This extraction was sent at 10:45 AM (GMT+7). The result indicates that at this time there was no embargo delay for IBM.N and JPY=. There was 15 minutes delay for PTT.BK and 0001.HK, and there was 20 minutes delay for 1579.T. 

Early Partial Delivery of Embargoed Reports preferences

You can enable the Early Partial Delivery of Embargoed Reports feature to receive early, non-embargoed intraday data prior to receiving the complete extraction following all required exchange delays. This feature can be enabled via the DataScope Select Web GUI or DataScope Select REST API. With the DSS REST API, you can use the /Users/UserPreferences endpoint with the HTTP GET method to retrieve the current settings.

Then, verify the values of the PartialEmbargoedReportsEnabled, IntermediateReportsEnabled, and DeltaReportsEnbled settings.

  • PartialEmbargoedReportsEnabled: This option lets users receive early, non-embargoed intraday data prior to receiving the complete extraction following all required exchange delays. When this option is selected, the following options can also be enabled:
  • IntermediateReportsEnabled: Select this option to receive intermediate embargoed extractions as soon as the data is available from the exchange. When cleared, the non-embargoed extraction is delivered first, followed by the completed extraction with all embargoed data.
  • DeltaReportsEnbled: Select this option to receive delta reports. If Enable Intermediate Embargoed Reports is also selected, only data that has changed since the previous intermediate embargoed report is output. If it is cleared, all embargoed data is output in a single report.

You can change these setting by sending the new settings with the HTTP PUT to the /Users/UserPreferences(<DSS Username>) endpoint. The body of the HTTP PUT message contains all settings with the changed values. For example:

    	
            

{

    "UserPreferenceId": <DSS Username>,

    "ContentSettings": {

        "FiGlobalSnapshotPricesForPpxUs3Pm4PmEnabled": false,

        "IgnoreFinr": false,

        "ImportOfDuplicateInstrumentsAllowed": true,

        "ImportOfDuplicateLegalEntitiesAllowed": false,

        "ImportOfExpiredInstrumentsAllowed": true,

        "ImportOfOpenAccessRicsAllowed": false,

        "ImportOfUnsupportedInstrumentAllowed": false,

        "IncludeDelistedRicsForFileCodeExpansion": false,

        "PartialEmbargoedReportsEnabled": true,

        "IntermediateReportsEnabled": true,

        "DeltaReportsEnabled": true,

        "ReturnLastTradingDayPriceOnNonTradingDays": false,

        "ReturnNullCodeValuesInExtractionPricingFields": false,

        "RicMaintenanceReportsEnabled": true,

        "PreferredIdentifier": "RIC",

        "UseDseOverLipper": false,

        "DefaultToUsExchange": false,

        "UseConsolidatedQuoteSourceForUsa": false,

        "UseConsolidatedQuoteSourceForCanada": false,

        "AllowHistoricalInstruments": true,

        "AllowLimitedTermInstruments": false,

        "UseDebtOverEquity": false,

        "UseOtcPqSource": false,

        "RequireOfferingCodeMatch": false,

        "AllowSubclassImport": false,

        "AllowUnmanagedOrUnverifiedEntities": false

    },

    "UiSettings": {

        "LongTimeFormatString": "HH:mm:ss",

        "ShortTimeFormatString": "HH:mm",

        "LongDateFormatString": "dd MMMM yyyy",

        "ShortDateFormatString": "dd.MM.yyyy",

        "DateSeparator": ".",

        "TimeSeparator": ":",

        "DecimalSeparator": ".",

        "GroupSeparator": ",",

        "TimeZone": "SE Asia Standard Time"

    }

}

The status of the HTTP response will be 204 No Content.

Immediate Schedule Extractions

At the time of this writing, the Early Partial Delivery of Embargoed Reports feature only supports schedule extractions. Therefore, in this section, I will show how to create an immediate schedule extraction to extract embargoed content and download partial reports from the extraction. 

I set the PartialEmbargoedReportsEnabled, IntermediateReportsEnabled, and DeltaReportsEnabled options to true, as shown in the previous section. With these settings, I will receive early, non-embargo intraday data prior to receiving intermediate embargoed data. Each partial data file will be suffixed with the delayed times, such as 0min, 15min, and 20min and it contains only data that has changed since the previous file. 

1. Create an Instrument List

To perform a schedule extraction, the first step is preparing an instrument list. You can use the DataScope Select REST API to create an instrument list by sending an HTTP POST method to the /Extractions/InstrumentLists endpoint with the following payload.

    	
            

{

  "@odata.type": "#DataScope.Select.Api.Extractions.SubjectLists.InstrumentList",

  "Name": "EmbargoedTestInstrumentLIst"

}

It creates an instrument list named "EmbargoedTestInstrumentLIst". The returned HTTP response status is 201 Created and the response’s body contains an instrument list ID.

    	
            

{

    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#InstrumentLists/$entity",

    "ListId": "0x088adbf29df8ed10",

    "Name": "EmbargoedTestInstrumentLIst",

    "Count": 0,

    "Created": "2023-07-10T11:41:13.121Z",

    "Modified": "2023-07-10T11:41:13.121Z"

}

Then, use the ListId to append instruments by sending an HTTP POST method to the /Extractions/InstrumentLists('<ListId>')/DataScope.Select.Api.Extractions.InstrumentListAppendIdentifiers endpoint with the following payload. 

    	
            

{

    "Identifiers": [

        {

            "Identifier": "0001.HK",

            "IdentifierType": "Ric"

        },

        {

            "Identifier": "IBM.N",

            "IdentifierType": "Ric"

        },

        {

            "Identifier": "JPY=",

            "IdentifierType": "Ric"

        },

        {

            "Identifier": "1579.T",

            "IdentifierType": "Ric"

        },

        {

            "Identifier": "PTT.BK",

            "IdentifierType": "Ric"

        }

    ],

    "KeepDuplicates": false

}

The returned HTTP response status code is 200 OK and the response’s body contains instruments’ descriptions.

    	
            

{

    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#DataScope.Select.Api.Extractions.SubjectLists.InstrumentsAppendIdentifiersResult",

    "ValidationResult": {

        "ValidInstrumentCount": 5,

        "OpenAccessSegments": [],

        "StandardSegments": [

            {

                "Code": "E",

                "Description": "Equity",

                "Count": 4

            },

            {

                "Code": "Y",

                "Description": "Money Market",

                "Count": 1

            }

        ],

        "ValidationDuplicates": [],

        "Messages": []

    },

    "AppendResult": {

        "AppendedInstrumentCount": 5,

        "AppendDuplicates": []

    }

}

2. Create an Intraday Pricing Report Template

The second step is creating an Intraday Pricing report template to extract real-time intraday data, such as Last Price, Bid Price, and Ask Price fields. You can use the DataScope Select REST API to create an Intrada Pricing report template by sending an HTTP POST method to the /Extractions/IntradayPricingReportTemplates endpoint with the following payload.

    	
            

{

    "@odata.type": "#DataScope.Select.Api.Extractions.ReportTemplates.IntradayPricingReportTemplate",

    "ShowColumnHeaders": true,

    "Name": "EmbargoedTestIntradayPricingTemplate",

    "Headers": [],

    "Trailers": [],

    "ContentFields": [

        {

            "FieldName": "RIC"

        },

        {

            "FieldName": "Last Price"

        },

        {

            "FieldName": "Last Update Time"

        },

        {

            "FieldName": "Last Volume"

        },

        {

            "FieldName": "Bid Price"

        },

        {

            "FieldName": "Ask Price"

        },

        {

            "FieldName": "Bid Size"

        },

        {

            "FieldName": "Ask Size"

        }

    ],

    "Condition": null

}

It creates a report template named "EmbargoedTestIntradayPricingTemplate". The returned HTTP response status is 201 Created and the response’s body contains a report template ID.

    	
            

{

    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#IntradayPricingReportTemplates/$entity",

    "ReportTemplateId": "0x088b96693488ee2b",

    "ShowColumnHeaders": true,

    "CompressionType": "None",

    "CreateDate": "2023-07-12T06:20:27.166Z",

    "LastChangedDate": "2023-07-12T06:20:27.166Z",

    "Name": "EmbargoedTestIntradayPricingTemplate",

    "OutputFormat": "CommaSeparatedValues",

    "ReportFieldCount": 8,

    "Delimiter": "None",

    "DeliveryType": "None",

    "TemplateTypeCode": "IDP",

    "Headers": [],

    "Trailers": [],

    "ContentFields": [

...

    ]

}

3. Perform an Immediate Schedule Extraction

Then, use the ListId and ReportTemplateId from the previous steps to schedule an immediate extraction by sending an HTTP POST to the /Extractions/Schedules endpoint with the following payload.

    	
            

{

  "Name": "EmbargoedTestImmediateSchedule",

  "Recurrence": {

    "@odata.type": "#DataScope.Select.Api.Extractions.Schedules.SingleRecurrence",

    "IsImmediate": true

  },

  "Trigger": {

    "@odata.type": "#DataScope.Select.Api.Extractions.Schedules.ImmediateTrigger",

    "LimitReportToTodaysData": true

  },

  "ListId": "0x088adbf29df8ed10",

  "ReportTemplateId": "0x088b96693488ee2b"

}

The returned HTTP response status is 201 Created and the response’s body contains a schedule ID.

    	
            

{

    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#Schedules/$entity",

    "ScheduleId": "0x088df97dd848f287",

    "Name": "EmbargoedTestImmediateSchedule",

    "TimeZone": "SE Asia Standard Time",

    "Recurrence": {

        "@odata.type": "#DataScope.Select.Api.Extractions.Schedules.SingleRecurrence",

        "ExtractionDateTime": "0001-01-01T00:00:00Z",

        "IsImmediate": true

    },

    "Trigger": {

        "@odata.type": "#DataScope.Select.Api.Extractions.Schedules.ImmediateTrigger",

        "LimitReportToTodaysData": true

    },

    "UserId": 9008895,

    "CreateDate": "2023-07-20T03:48:54.980Z",

    "LastChangeDate": "2023-07-20T03:48:54.980Z",

    "ListId": "0x088adbf29df8ed10",

    "ReportTemplateId": "0x088d21ce4908f0f0"

}

4. Get a Report Extraction

If the data is embargoed, the extraction’s status will be “Processing/Embargoed”. You can check the status and get the Report Extraction Id by sending an HTTP GET request to the following endpoint.

    	
            https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/Schedules('<scheduleId>')/PendingExtractions
        
        
    

The <scheduleId> is the schedule Id retrieved from the previous step. If the scheduleId is valid, the returned HTTP response status will be 200 OK and the response’s body will contain the status and a Report Extraction Id.

    	
            

{

    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#ReportExtractions",

    "value": [

        {

            "ReportExtractionId": "2000000586370140",

            "ScheduleId": "0x088df97dd848f287",

            "Status": "Processing",

            "DetailedStatus": "Embargoed",

            "ExtractionDateUtc": "2023-07-20T03:48:55.043Z",

            "ScheduleName": "EmbargoedTestImmediateSchedule",

            "IsTriggered": false,

            "ExtractionStartUtc": "2023-07-20T03:49:13.600Z"

        }

    ]

}

When the extraction has completed, the extraction’s status will be changed to “Completed/Done”. You can check the status by sending an HTTP GET request to the following endpoint.

    	
            https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/Schedules('<scheduleId>')/ CompletedExtractions
        
        
    

The <scheduleId> is the schedule Id retrieved from the previous step. If the scheduleId is valid, the returned HTTP response status will be 200 OK and the response’s body will contain the status and a Report Extraction Id.

    	
            

{

    "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#ReportExtractions",

    "value": [

        {

            "ReportExtractionId": "2000000586370140",

            "ScheduleId": "0x088df97dd848f287",

            "Status": "Completed",

            "DetailedStatus": "Done",

            "ExtractionDateUtc": "2023-07-20T03:48:55.043Z",

            "ScheduleName": "EmbargoedTestImmediateSchedule",

            "IsTriggered": false,

            "ExtractionStartUtc": "2023-07-20T03:49:13.600Z",

            "ExtractionEndUtc": "2023-07-20T04:08:56.370Z"

        }

    ]

}

The Report Extraction Id can be used to get a list of files (Notes and Data files) available in the extraction.

5. Get Notes and Partial Files

You can get a list of available files in a report extraction by sending an HTTP GET request to the following endpoint.

    	
            https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ReportExtractions('<reportExtractionId>')/Files
        
        
    

The <reportExtractionId> is the report extraction Id retrieved from the previous step. If the reportExtractionId is valid, the returned HTTP response status will be 200 OK and the response’s body will contain a list of files.

    	
            

{    

"@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#ExtractedFiles",

    "value": [

...

        {

            "ExtractedFileId": "VjF8fDEyMjg4NzE0OTI",

            "ReportExtractionId": "2000000586370140",

            "ScheduleId": "0x088df97dd848f287",

            "FileType": "Partial",

            "ExtractedFileName": "9008895.EmbargoedTestImmediateSchedule.20230720.104912.2000000586370140.xc08bdm2Q21.0min.csv",

            "LastWriteTimeUtc": "2023-07-20T03:49:30.181Z",

            "ContentsExists": true,

            "Size": 194,

            "ReceivedDateUtc": "2023-07-20T03:49:30.181Z"

        },

        {

            "ExtractedFileId": "VjF8fDEyMjg4NzE0OTE",

            "ReportExtractionId": "2000000586370140",

            "ScheduleId": "0x088df97dd848f287",

            "FileType": "Note",

            "ExtractedFileName": "9008895.EmbargoedTestImmediateSchedule.20230720.104912.2000000586370140.xc08bdm2Q21.csv.notes.txt",

            "LastWriteTimeUtc": "2023-07-20T03:49:30.190Z",

            "ContentsExists": true,

            "Size": 3221,

            "ReceivedDateUtc": "2023-07-20T03:49:30.190Z"

        },

...

    ]

}

Each file has a unique Id called ExtractedFileId. The file type of the content file is Partial and the file type of the notes file is Note. Otherwise, you can use an HTTP GET request with the following endpoint to get a Notes file.

    	
            https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ReportExtractions('<reportExtractionId>')/NotesFile
        
        
    

The <reportExtractionId> is the report extraction Id retrieved from the previous step. If the reportExtractionId is valid, the returned HTTP response status will be 200 OK and the response’s body will contain the description of the Notes file. 

    	
            

{

       "ExtractedFileId": "VjF8fDEyMjg4NzE0OTE",

       "ReportExtractionId": "2000000586370140",

       "ScheduleId": "0x088df97dd848f287",

       "FileType": "Note",

       "ExtractedFileName": "9008895.EmbargoedTestImmediateSchedule.20230720.104912.2000000586370140.xc08bdm2Q21.csv.notes.txt",

        "LastWriteTimeUtc": "2023-07-20T03:49:30.190Z",

        "ContentsExists": true,

        "Size": 3221,

       "ReceivedDateUtc": "2023-07-20T03:49:30.190Z"

}

Then, to download a file, you send an HTTP GET request with the ExtractedFileId of that file to the following endpoint.

    	
            https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractedFiles('<extractedFileId>')/$value
        
        
    

The <extractedFileId> is the extracted file Id of the file. 

The content of the Notes file looks like this:

    	
            

Extraction Services Version 17.2.1.45837 (3cafbfe0269d), Built Jun  5 2023 17:25:14

User has overridden estimates broker entitlements.

Processing started at 20.07.2023 10:49:13.

User ID: 9008895

Extraction ID: 2000000586370140

Correlation ID: CiD/9007633/3_fbUQ.088885f2ae08e727/EQM/ED.0x088df97dd858f287.0

Schedule: EmbargoedTestImmediateSchedule (ID = 0x088df97dd848f287)

Input List (5 items): EmbargoedTestInstrumentLIst (ID = 0x088adbf29df8ed10) Created: 10.07.2023 18:41:13 Last Modified: 18.07.2023 10:52:28

Report Template (9 fields): EmbargoedTestIntradayPricingTemplate1 (ID = 0x088d21ce4908f0f0) Created: 17.07.2023 10:36:02 Last Modified: 17.07.2023 10:36:02

Schedule dispatched via message queue (0x088df97dd858f287)

Schedule Time: 20.07.2023 10:48:55

Temporary Integration Test Checkpoint 22

Successful operation - data received from RDP

Real-time data was snapped at the following times:

   20.07.2023 10:48:55

   20.07.2023 10:49:13 for data scheduled to snap at 20.07.2023 10:48:55.

Processing completed successfully at 20.07.2023 10:49:13, taking 0.496 Secs.

Extraction finished at 20.07.2023 03:49:13 UTC, with servers: xc08bdm2Q21, QSDHA1 (0.0 secs), QSHC16 (0.1 secs)

Columns for (RIC,IBM.N,NYS) suppressed due to trade date other than today

Embargo delay of 15 minutes required by [ HS1 (HKEX-HONG KONG STOCK EXCHANGE LEVEL 1), HKG (HKEX-HONG KONG STOCK EXCHANGE LEVEL 1 LEVEL 2), HSF (HKEX-HONG KONG STOCK EXCHANGE FULL TICK DATA) ] for quotes from HKG

Embargo delay of 20 minutes required by [ TYO (TOKYO STOCK EXCHANGE), TYM (TOKYO SE FLEX FULL OPEN MKT MODEL) ] for quotes from TYO

Embargo delay of 15 minutes required by [ SET (STOCK EXCHANGE OF THAILAND), ST2 (STOCK EXCHANGE OF THAILAND L1 L2) ] for quotes from SET

The last report will be embargoed until 20.07.2023 11:09:12 (20 minutes) due to quote: RIC,1579.T,TYO - Last Update Time: 20.07.2023 10:49:12.

Usage Summary for User 9008895, Client 65507, Template Type Intraday Pricing

Base Usage

        Instrument                          Instrument                   Terms          Price

  Count Type                                Subtype                      Source         Source

------- ----------------------------------- ---------------------------- -------------- ----------------------------------------

      4 Equities                                                         N/A            N/A

      1 Money Market                                                     N/A            N/A

-------

      5 Total instruments charged.

      0 Instruments with no reported data.

=======

      5 Instruments in the input list.

No Evaluated Pricing Service complex usage to report -- 5 Instruments in the input list had no reported data.

The file 9008895.EmbargoedTestImmediateSchedule.20230720.104912.2000000586370140.xc08bdm2Q21.0min.csv will be available immediately.

The file 9008895.EmbargoedTestImmediateSchedule.20230720.104912.2000000586370140.xc08bdm2Q21.15min.csv will be embargoed until 20.07.2023 11:04:12.

The file 9008895.EmbargoedTestImmediateSchedule.20230720.104912.2000000586370140.xc08bdm2Q21.20min.csv will be embargoed until 20.07.2023 11:09:12.

Writing RIC maintenance report.

The Notes file indicates that the first partial file with the 0min suffix will be available immediately. The second partial file with the 15min suffix will be available at 15 minutes later and the last partial file with the 20min suffix will be available at 20 minutes later. 

The first partial file contains the data of IBM.N and JPY=.

    	
            

RIC,Current Embargo Delay,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

IBM.N,0,,20.07.2023 10:07:22,,,,0,0

JPY=,0,139.22,20.07.2023 10:49:13,,139.22,139.24,,

The second partial file contains the data of 0001.HK and PTT.BK.

    	
            

RIC,Current Embargo Delay,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

0001.HK,15,47.5,20.07.2023 10:48:58,500,47.45,47.5,"28,500","3,000"

PTT.BK,15,34.25,20.07.2023 10:49:12,200,34.25,34.5,"11,913,500","6,223,700"

The last partial file contains the data of 1579.T.

    	
            

RIC,Current Embargo Delay,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

1579.T,20,"21,320",20.07.2023 10:49:12,40,"21,315","21,325",250,"4,600"

6. Clean Up

After downloading files, the immediate schedule can be deleted by sending an HTTP DELETE request to the following endpoint.

    	
            https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/Schedules('<scheduleId>')
        
        
    

The <scheduleId> is a schedule Id created in the third step. If the scheduleId is valid, the HTTP response status will be 204 No Content.

The created report template and instrument list may also be deleted by sending HTTP DELETE requests to the following endpoints.

    	
            

https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ReportTemplates('<reportTemplateId>')

https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/InstrumentLists('<instrumentListId>')

Examples

1. Postman

The Postman example that contains the HTTP requests used in this article is available on GitHub. It contains a Postman collection and a Postman environment. Set the dss-user, dss-password, and user variables in the Postman environment.

Then run the HTTP requests in the Postman collection. 

2. Python

The Python example demonstrates how to perform the immediate schedule Intraday Pricing extraction with the PartialEmbargoedReportsEnabled options enabled. The example can be downloaded from GitHub. You can run the example with the following parameters.

    	
            EarlyPartialReportPython.py -u <DSS username> -p <DSS Password>
        
        
    

The list of instruments and content fields can be modified in the code.

    	
            

instrument_list = [

    ('Ric','0001.HK'),

    ('Ric','IBM.N'),

    ('Ric','JPY='),

    ('Ric','1579.T'),

    ('Ric','PTT.BK')

    ]

 

...

 

intraday_fields =[

    'RIC',

    'Last Price',

    'Last Update Time',

    'Last Volume',

    'Bid Price',

    'Ask Price',

    'Bid Size',

    'Ask Size'

    ]

The output is:

    	
            

####################################################################

 

    Disclaimer:

    The example applications presented here has been written by LSEG for the only purpose of illustrating articles published on the LSEG Developer Community. These example applications has not been tested for a usage in production environments. LSEG cannot be held responsible for any issues that may happen if these example applications or the related source code is used in production or any other client environment.

 

####################################################################

 

DSS username is  9008895

 

1. Request a token

==================

Token is _77_swwUP_xxx2OK04Qj79Z4yNKfI

 

2. Get embargo description

==========================

RIC             Current Embargo Delay

0001.HK         5 minute(s)

IBM.N           0 minute(s)

JPY=            0 minute(s)

1579.T          20 minute(s)

PTT.BK          15 minute(s)

 

3. Check the partial embargoed reports settings

=================================================

Current Settings:

PartialEmbargoedReportsEnabled: False

IntermediateReportsEnabled: False

DeltaReportsEnabled: False

Date Format: MM/dd/yyyy

Time Format: tt hh:mm:ss

 

Update Settings:

PartialEmbargoedReportsEnabled: True

IntermediateReportsEnabled: True

DeltaReportsEnabled: True

 

 

4. Schedule an immediate extraction

=====================================

4.1 Create an instrument list

The instrument list ID of EmbargoedTestInstrumentList is 0x089e325b5e591445

 

4.2 Append instruments to an instrument list

Append 5 instruments

 

4.3 Create an intraday pricing report template

The report template ID of EmbargoedTestIntradayPricingTemplate is 0x089e5e7fdc091485

 

4.4 Schedule an immediate extraction

The schedule ID of this immediate extraction is 0x089e2deb5b891440

 

5. Get a report extraction

============================

Report Extraction ID is 2000000608864226, Status: Pending/Queued

 

6. Get Notes and Data

######################

6.1 Get Notes

 

 

Extraction Services Version 17.3.1.46134 (701464ae16af), Built Aug  1 2023 16:17:07

User has overridden estimates broker entitlements.

Processing started at 09/08/2023 AM 11:17:31.

User ID: 9008895

Extraction ID: 2000000608864226

Correlation ID: CiD/9007633/Z3YuAA.08983130b5a90800/EQM/ED.0x089e2deb5b991440.0

Schedule: EmbargoedTestImmediateSchedule (ID = 0x089e2deb5b891440)

Input List (5 items): EmbargoedTestInstrumentList (ID = 0x089e325b5e591445) Created: 09/08/2023 AM 11:17:25 Last Modif

ied: 09/08/2023 AM 11:17:26

Report Template (8 fields): EmbargoedTestIntradayPricingTemplate (ID = 0x089e5e7fdc091485) Created: 09/08/2023 AM 11:1

7:28 Last Modified: 09/08/2023 AM 11:17:28

Schedule dispatched via message queue (0x089e2deb5b991440)

Schedule Time: 09/08/2023 AM 11:17:29

Temporary Integration Test Checkpoint 22

Successful operation - data received from RDP

Real-time data was snapped at the following times:

   09/08/2023 AM 11:17:29

   09/08/2023 AM 11:17:32 for data scheduled to snap at 09/08/2023 AM 11:17:29.

Processing completed successfully at 09/08/2023 AM 11:17:32, taking 0.486 Secs.

Extraction finished at 09/08/2023 AM 04:17:32 UTC, with servers: xc06xfhcQ13, QSDHA1 (0.0 secs), QSHC20 (0.1 secs)

Columns for (RIC,IBM.N,NYS) suppressed due to trade date other than today

Embargo delay of 20 minutes required by [ TYO (TOKYO STOCK EXCHANGE), TYM (TOKYO SE FLEX FULL OPEN MKT MODEL) ] for qu

otes from TYO

Embargo delay of 15 minutes required by [ SET (STOCK EXCHANGE OF THAILAND), ST2 (STOCK EXCHANGE OF THAILAND L1 L2) ] f

or quotes from SET

The last report will be embargoed until 09/08/2023 AM 11:37:31 (20 minutes) due to quote: RIC,1579.T,TYO - Last Update

 Time: 09/08/2023 AM 11:17:31.

Usage Summary for User 9008895, Client 65507, Template Type Intraday Pricing

Base Usage

        Instrument                          Instrument                   Terms          Price

  Count Type                                Subtype                      Source         Source

------- ----------------------------------- ---------------------------- -------------- ------------------------------

----------

      4 Equities                                                         N/A            N/A

      1 Money Market                                                     N/A            N/A

-------

      5 Total instruments charged.

      0 Instruments with no reported data.

=======

      5 Instruments in the input list.

No Evaluated Pricing Service complex usage to report -- 5 Instruments in the input list had no reported data.

The file 9008895.EmbargoedTestImmediateSchedule.20230908.111731.2000000608864226.xc06xfhcQ13.0min.csv will be available immediately.The file 9008895.EmbargoedTestImmediateSchedule.20230908.111731.2000000608864226.xc06xfhcQ13.15min.csv will be embargoed until 09/08/2023 AM 11:32:25. The file 9008895.EmbargoedTestImmediateSchedule.20230908.111731.2000000608864226.xc06xfhcQ13.20min.csv will be embargoed until 09/08/2023 AM 11:37:31.

Writing RIC maintenance report.

 

 

6.2 Get Data

2023-09-08 11:17:42: 9008895.EmbargoedTestImmediateSchedule.20230908.111731.2000000608864226.xc06xfhcQ13.0min.csv

 

RIC,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

0001.HK,,09/08/2023 AM 11:10:55,,,,,

IBM.N,,09/08/2023 AM 11:16:16,,,,0,0

JPY=,147.25,09/08/2023 AM 11:17:31,,147.25,147.3,,

 

Wait for Embargo Delay: 893 seconds

2023-09-08 11:32:42: 9008895.EmbargoedTestImmediateSchedule.20230908.111731.2000000608864226.xc06xfhcQ13.15min.csv

 

 

RIC,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

PTT.BK,35,09/08/2023 AM 11:17:25,"1,500",34.75,35,"11,265,300","7,764,600"

 

Wait for Embargo Delay: 1199 seconds

2023-09-08 11:37:56: 9008895.EmbargoedTestImmediateSchedule.20230908.111731.2000000608864226.xc06xfhcQ13.20min.csv

 

RIC,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

1579.T,"21,290",09/08/2023 AM 11:17:31,60,"21,285","21,295",210,490

 

 

7. Cleanup

############

Delete the schedule: 0x089e2deb5b891440

Delete the intraday pricing report template: 0x089e5e7fdc091485

Delete the instrument list: 0x089e325b5e591445

Reset the user preferences

 

Press any key to continue . . .

3. C# .NET Framework

The C# .NET Framework example demonstrates how to use the DSS .NET SDK to perform the immediate schedule Intraday Pricing extraction with the PartialEmbargoedReportsEnabled options enabled. The example can be downloaded from GitHub. You can run the example with the following parameters.

    	
            

Usage:

        -u, --username[optional]... DSS Username

        -p, --password[optional]... DSS Password

The list of instruments and content fields can be modified in the code.

    	
            

        List<InstrumentIdentifier> instrumentIdentifiers = new List<InstrumentIdentifier> 

        {

            new InstrumentIdentifier{IdentifierType = IdentifierType.Ric, Identifier = "0001.HK"},

            new InstrumentIdentifier{IdentifierType = IdentifierType.Ric, Identifier = "IBM.N"},

            new InstrumentIdentifier{IdentifierType = IdentifierType.Ric, Identifier = "JPY="},

            new InstrumentIdentifier{IdentifierType = IdentifierType.Ric, Identifier = "1579.T"},

            new InstrumentIdentifier{IdentifierType = IdentifierType.Ric, Identifier = "PTT.BK"},

        };

 

 

...

 

        List<string> intradayFields = new List<string>

        {      

            "RIC",

            "Last Price",

            "Last Update Time",

            "Last Volume",

            "Bid Price",

            "Ask Price",

            "Bid Size",

            "Ask Size"

        };

The output is:

    	
            

####################################################################

 

            Disclaimer:

            The example applications presented here has been written by LSEG for the only purpose of illustrating articles published on the LSEG Developer Community. These example applications has not been tested for a usage in production environments. LSEG cannot be held responsible for any issues that may happen if these example applications or the related source code is used in production or any other client environment.

 

####################################################################

 

DSS Username is 9008895

 

1. Request a token

==================

Token: _9G4ZgssAuJFKNnxxx

 

2. Get embargo description

==========================

RIC             Current Embargo Delay

0001.HK         10 minute(s)

IBM.N           0 minute(s)

JPY=            0 minute(s)

1579.T          20 minute(s)

PTT.BK          15 minute(s)

 

3. Check the partial embargoed reports settings

=================================================

Current Settings:

PartialEmbargoedReportsEnabled: False

IntermediateReportsEnabled: False

DeltaReportsEnabled: False

Date Format: MM/dd/yyyy

Time Format: tt hh:mm:ss

 

 

4. Schedule an immediated extraction

=====================================

4.1 Create an instrument list

EmbargoedTestInstrumentList

 

4.2 Append instruments to an instrument list

Appended: 5 instruments.

 

4.3 Create an intraday pricing report template

EmbargoedTestIntradayPricingTemplate

 

4.4 Schedule an immediate extraction

EmbargoedTestImmediateSchedule

 

5. Get a report extraction

============================

Report Extraction ID is 2000000608361977, Status: Pending/Queued

 

6. Get Notes and Data

######################

6.1 Get Notes

NotesFile ID: VjF8fDEyNDM1MzU0ODI

 

 

Extraction Services Version 17.3.1.46134 (701464ae16af), Built Aug  1 2023 16:17:07

User has overridden estimates broker entitlements.

Processing started at 09/07/2023 AM 11:27:14.

User ID: 9008895

Extraction ID: 2000000608361977

Correlation ID: CiD/9007633/udU_bQ.089831168d190800/EQM/ED.0x089ded7e607913d9.0

Schedule: EmbargoedTestImmediateSchedule (ID = 0x089ded7e606913d9)

Input List (5 items): EmbargoedTestInstrumentList (ID = 0x089de707dde913d5) Created: 09/07/2023 AM 11:27:00 Last Modified: 09/07/2023 AM 11:27:04

Report Template (8 fields): EmbargoedTestIntradayPricingTemplate (ID = 0x089deff1346913db) Created: 09/07/2023 AM 11:27:08 Last Modified: 09/07/2023 AM 11:27:08

Schedule dispatched via message queue (0x089ded7e607913d9)

Schedule Time: 09/07/2023 AM 11:27:10

Temporary Integration Test Checkpoint 22

Successful operation - data received from RDP

Real-time data was snapped at the following times:

   09/07/2023 AM 11:27:10

   09/07/2023 AM 11:27:14 for data scheduled to snap at 09/07/2023 AM 11:27:10.

Processing completed successfully at 09/07/2023 AM 11:27:15, taking 0.792 Secs.

Extraction finished at 09/07/2023 AM 04:27:15 UTC, with servers: xc08bdm2Q23, QSDHA1 (0.0 secs), QSHC17 (0.4 secs)

Columns for (RIC,IBM.N,NYS) suppressed due to trade date other than today

Embargo delay of 20 minutes required by [ TYO (TOKYO STOCK EXCHANGE), TYM (TOKYO SE FLEX FULL OPEN MKT MODEL) ] for quotes from TYO

Embargo delay of 15 minutes required by [ SET (STOCK EXCHANGE OF THAILAND), ST2 (STOCK EXCHANGE OF THAILAND L1 L2) ] for quotes from SET

The last report will be embargoed until 09/07/2023 AM 11:47:14 (20 minutes) due to quote: RIC,1579.T,TYO - Last Update Time: 09/07/2023 AM 11:27:14.

Usage Summary for User 9008895, Client 65507, Template Type Intraday Pricing

Base Usage

        Instrument                          Instrument                   Terms          Price

  Count Type                                Subtype                      Source         Source

------- ----------------------------------- ---------------------------- -------------- ----------------------------------------

      4 Equities                                                         N/A            N/A

      1 Money Market                                                     N/A            N/A

-------

      5 Total instruments charged.

      0 Instruments with no reported data.

=======

      5 Instruments in the input list.

No Evaluated Pricing Service complex usage to report -- 5 Instruments in the input list had no reported data.

The file 9008895.EmbargoedTestImmediateSchedule.20230907.112714.2000000608361977.xc08bdm2Q23.0min.csv will be available immediately.

The file 9008895.EmbargoedTestImmediateSchedule.20230907.112714.2000000608361977.xc08bdm2Q23.15min.csv will be embargoed until 09/07/2023 AM 11:42:04.

The file 9008895.EmbargoedTestImmediateSchedule.20230907.112714.2000000608361977.xc08bdm2Q23.20min.csv will be embargoed until 09/07/2023 AM 11:47:14.

Writing RIC maintenance report.

 

 

6.2 Get Data

9/7/2023 11:27:24 AM: 9008895.EmbargoedTestImmediateSchedule.20230907.112714.2000000608361977.xc08bdm2Q23.0min.csv

 

RIC,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

0001.HK,41.5,09/07/2023 AM 11:05:53,500,41.5,41.55,"10,500","49,000"

IBM.N,,09/07/2023 AM 11:02:25,,,,0,0

JPY=,147.57,09/07/2023 AM 11:27:14,,147.57,147.58,,

 

Wait for Embargo Delay: 889 seconds

9/7/2023 11:42:21 AM: 9008895.EmbargoedTestImmediateSchedule.20230907.112714.2000000608361977.xc08bdm2Q23.15min.csv

 

RIC,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

PTT.BK,35.5,09/07/2023 AM 11:27:04,"1,700",35.25,35.5,"4,893,900","12,203,500"

 

Wait for Embargo Delay: 1199 seconds

9/7/2023 11:47:38 AM: 9008895.EmbargoedTestImmediateSchedule.20230907.112714.2000000608361977.xc08bdm2Q23.20min.csv

 

RIC,Last Price,Last Update Time,Last Volume,Bid Price,Ask Price,Bid Size,Ask Size

1579.T,"22,025",09/07/2023 AM 11:27:14,50,"22,025","22,030",70,650

 

 

7. Cleanup

############

Delete the schedule: EmbargoedTestImmediateSchedule

Delete the intraday pricing report template: EmbargoedTestIntradayPricingTemplate

Delete the instrument list: EmbargoedTestInstrumentList

Reset the user preferences

 

Press any key to continue . . .

Summary

If users don’t have permissioned for real-time intraday data during the exchange’s operating hours, the Intraday Pricing and Premium End of Day Data Pricing extractions can be delayed according to the exchanges’ embargo rules. When the data is embargoed, the final extraction report will be impeded until all embargoed delays expire. 

DataScope Select provide the settings for users to receive an early partial report with non-embargoed data before the complete report with embargoed intraday is available. You can enable these settings via DSS Web GUI or DSS REST API. However, this early partial report feature is only available in schedule extractions which can be created via DSS Web GUI or DSS REST API. This article demonstrates how to enable this feature, create an immediate schedule extract to extract embargoed data, and download partial report files by using DSS REST API. 

References

1. How to Retrieve Early Partial Delivery of Embargoed Reports via DataScope Select Web GUI (21 July 2023) LSEG Developers Portal. Available at: https://developers.lseg.com/en/article-catalog/article/how-to-retrieve-early-partial-delivery-of-embargoed-reports-via- (Accessed: 26 July 2023).