Error attempting to use the /views/chains API

Hi, I am trying to retrieve the components of a chain using the "/views/chains" API, the same example provided in the API Playground. My (Python) code and its output are below. Please let me know the likely cause of the error (error code 400, "Validation error"). Thanks very much. --Jon

Code:

import refinitiv.dataplatform as rdp
RDP_APP_KEY = ...
RDP_MACHINE_USERNAME = ...
RDP_MACHINE_PASSWORD = ...
RDP_BASE_URL = 'https://api.refinitiv.com'
RDP_CHAIN_URL = RDP_BASE_URL + '/data/pricing/beta3/views/chains'
CHAIN_UNIVERSE = '.AV.O'
rdp.open_platform_session(RDP_APP_KEY,
                          rdp.GrantPassword(RDP_MACHINE_USERNAME,
                                            RDP_MACHINE_PASSWORD))
session=rdp.get_default_session()
url = RDP_CHAIN_URL + '?universe=' + CHAIN_UNIVERSE
ep = rdp.Endpoint(session=session, url=url)
response = ep.send_request(method=rdp.Endpoint.RequestMethod.GET)
if response.is_success:
    print('[INFO] SUCCESS!')
    # ...
else:
    print('[ERROR] FAILURE!')
    print('[ERROR] Error code: ' + str(response.error_code))
    print('[ERROR] Error message: ' + response.error_message)
rdp.close_session()

Output:

[ERROR] FAILURE!
[ERROR] Error code: 400
[ERROR] Error message: Validation error


Best Answer

  • wasin.w
    wasin.w admin
    Answer ✓

    Hello @Jon Freeman

    Thank you for contacting us. Could you please let me know if you can run this API example on the API Playground page? Does it return the same result?

    Based on the API Playground page, this Chain API is in the beta3 version, so I highly recommend you contact the RDP support team directly to help you with the issue. You can contact the team via the https://my.refinitiv.com/content/mytr/en/productsupport.html website as follows:

    rdp-chain-api.png

    Additionally, I noticed that you are using the Refinitiv Data Platform - Libraries. There is a Refinitiv Data Library for Python which is a new and updated API. I suggest you try this one too.


Answers

  • Hi Wasin,

    When I try to run this example on the API Playground page, the Send button is greyed out with this tooltip message: "you are not permissioned to execute this method". So it looks like this is simply a permissioning problem. How should I go about requesting this permission? Thanks again.

    Regards,
    Jon

  • Hello @Jon Freeman

    Thank you for the explanation. If the send button on the API Playground page is greyed out, it means your RDP account does not have permission for that API.

    I highly recommend you contact your Refinitiv representative (who gives you the RDP (or Machine ID) credentials) to verify your permission.

    The Chain API is still in the beta3 phase, I recommend you check the API status with the representative too.