Intraday Summaries 404 error

I'm using python request module in a jupyter notebook to try and download intraday summaries. I've copied the sample request from the rest API doc, but I'm just receiving a 404 error. I am able to download other reports successfully, so I don't think there is a problem with the authentication token.


body:

{
 "ExtractionRequest": {
 "@odata.type":
"#DataScope.Select.Api.Extractions.ExtractionRequests.TickHistoryIntradaySummariesExtractionRequest",
 "ContentFieldNames": [
    "Close Ask",
    "Close Bid"
 ],
 "IdentifierList": {
 "@odata.type":
"#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
 "InstrumentIdentifiers": [
 {
 "Identifier": "EUR=",
 "IdentifierType": "Ric"
 }
 ],
 "ValidationOptions": null,
 "UseUserPreferencesForValidationOptions": false
 },
 "Condition": {
 "MessageTimeStampIn": "GmtUtc",
 "ApplyLegacySummaryTimeLabel": false,
 "ReportDateRangeType": "Range",
 "QueryStartDate": "2008-10-13T13:00:00:000-05:00",
 "QueryEndDate": "2008-10-13T14:00:00.000-05:00",
 "SummaryInterval": "OneMinute",
 "TimebarPersistence": true,
 "DisplaySourceRIC": true
 }
 }
}


request headers (token excluded):

{'Content-Type': 'application/json', 'Prefer': 'respond-async', 'Accept-Charset': 'UTF-8', 'Authorization': 'token ***'}

Best Answer

  • gareth.teage
    Answer ✓

    Hi @brian.collins

    I think if it is down to a template-level permission via API you'd get a 403 Forbidden rather than a 404.

    As I can't quite track down the issue, I've done a bit of a basic python example here: example.zip to see if this works for you using your original request body, though I needed to modify I little as I got some model errors back from:

    "ApplyLegacySummaryTimeLabel": false, - which I removed

    and

    "QueryStartDate": "2008-10-13T13:00:00:000-05:00", - which I replaced the colon (:000) with a full stop (.000)

    Hopefully you can check this example works it should print the token , and the location url out on a 202 Accepted and then track down what might differ.

    Hope it helps.

    Best regards,

    Gareth

Answers

  • Hi @brian.collins,

    Please could you confirm the http method and endpoint you are using?

    The expectation is to use POST with the base url / endpoint: https://selectapi.datascope.refinitiv.com/RestApi/v1//Extractions/ExtractRaw

    I can only replicate a 404 when the same endpoint is used with a GET.

    A full example of Intraday Summaries from our .NET Example App can be found below:

    POST https://selectapi.datascope.refinitiv.com/restapi/v1/Extractions/ExtractRaw
    Authorization: Token <your_auth_token_goes_here>
    Prefer: respond-async
    Content-Type: application/json; odata=minimalmetadata
    {
        "ExtractionRequest": {
            "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.TickHistoryIntradaySummariesExtractionRequest",
            "ContentFieldNames": [
                "Close Ask",
                "Close Ask Size",
                "Close Ask Yield",
                "Close Bid",
                "Close Bid Size",
                "Close Bid Yield",
                "Close Discount Factor",
                "Close Mid Price",
                "Close Yield",
                "Close Zero Yield",
                "Domain",
                "High",
                "High Ask",
                "High Ask Size",
                "High Ask Yield",
                "High Bid",
                "High Bid Size",
                "High Bid Yield",
                "High Discount Factor",
                "High Mid Price",
                "High Yield",
                "High Zero Yield",
                "History End",
                "History Start",
                "Instrument ID",
                "Instrument ID Type",
                "Last",
                "Low",
                "Low Ask",
                "Low Ask Size",
                "Low Ask Yield",
                "Low Bid",
                "Low Bid Size",
                "Low Bid Yield",
                "Low Discount Factor",
                "Low Mid Price",
                "Low Yield",
                "Low Zero Yield",
                "No. Ask Yields",
                "No. Asks",
                "No. Bid Yields",
                "No. Bids",
                "No. Discount Factors",
                "No. Trades",
                "No. Yields",
                "No. Zero Yields",
                "Open",
                "Open Ask",
                "Open Ask Size",
                "Open Ask Yield",
                "Open Bid",
                "Open Bid Size",
                "Open Bid Yield",
                "Open Discount Factor",
                "Open Mid Price",
                "Open Yield",
                "Open Zero Yield",
                "Sample Data",
                "Volume"
            ],
            "IdentifierList": {
                "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
                "InstrumentIdentifiers": [
                    {
                        "Identifier": "EUR=",
                        "IdentifierType": "Ric"
                    }
                ],
                "ValidationOptions": null,
                "UseUserPreferencesForValidationOptions": false
            },
            "Condition": {
                "MessageTimeStampIn": "GmtUtc",
                "ReportDateRangeType": "Range",
                "QueryStartDate": "2008-10-13T13:00:00.000-05:00",
                "QueryEndDate": "2008-10-13T14:00:00.000-05:00",
                "SummaryInterval": "OneMinute",
                "TimebarPersistence": true,
                "DisplaySourceRIC": true
            }
        }
    }
  • Hi @gteage I am using POST to the URL: https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractRaw .

    I have tried other report types such as TickHistoryRawExtractionRequest and that works, so I don't think there is anything wrong with the URL or http method.

    I have also tried copying the example you posted, but I still get 404.

    Could it be anything else? Does my account perhaps need to be permissioned to use TickHistoryIntradaySummariesExtractionRequest ?