Create instrument list locally in TRTH REST API

ziucqea
ziucqea Newcomer

Hi. For the past 26 years, each year I have an instrument list consisting of thousands of stocks' RIC's. I'm using R and I literally have a 'list' looking like: list=c('IBM.N', 'AAPL.O', 'MSFT.O', .....)

So my question is, how do I pass this list in my body? I'm aware that it can be done like:


qq截图20210825175202.png

But it would be impractical to pass thousands of RICs. I've also had a look at https://hosted.datascopeapi.reuters.com/RestApi.Help/Context/Operation?ctx=Extractions&ent=InstrumentList&opn=ImportFromBytes

But I don't know how to read this page and I'm still confused... So could I have some help? Thank you!

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @ziucqea

    To use this /Extractions/InstrumentListImportFromBytes endpoint, please refer to this discussion. You can use it to create a new instrument list saved on the DSS server.

    1629880491872.png

    You can also access the DSS GUI to import the instrument list.

    To use the instrument list in the on-demand extraction, you need to know the ListId. To get the ListId, you can use the following endpoint. 'test1' is the name of my instrument list.

    /Extractions/InstrumentListGetByName(ListName='test1')

    The output is:

    {
        "@odata.context": "https://selectapi.datascope.refinitiv.com/RestApi/v1/$metadata#InstrumentLists/$entity",
        "ListId": "0x07af0307431d1024",
        "Name": "test1",
        "Count": 1,
        "Created": "2021-08-25T08:31:18.603Z",
        "Modified": "2021-08-25T08:31:19.103Z"
    }

    The ListId of 'test1' is 0x07af0307431d1024. Then, we can use it in the on-demand extraction.

    {
        "ExtractionRequest": {
        ...
            "IdentifierList": {
                "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentListIdentifierList",
                "InstrumentListId": "0x07af0307431d1024"
            },
    ...