403 error during upgrade from V1 authentication to V2

We have been using V1 authentication successfully for a couple of years now - using this address:

https://api.refinitiv.com:443/auth/oauth2/v1/token

However, we are now being forced to "upgrade" to V2 authentication (https://api.refinitiv.com/auth/oauth2/v2/token) switching us from using the machine ids, to now just using client_id and secret (an the token is now not supposed to expire during our websocket connection it my understanding)

So I have updated our python code to use the new V2 url, and we have configured the credentials in the "Platform Administration" page. I can now get a token from the V2 URL and it is returned to me.

The next thing we do (and have done) in the code is use that token to make a request to https://api.refinitiv.com/streaming/pricing/v1/

However, the call to this Service Discovery url is returned with a 403 forbidden error.

The implementation manager and his team are directing us here to try and solve this problem, but I am not sure where to start troubleshooting a permissions error on my own.

Thank you for any assistance!

Best Answer

  • @bthews01

    Thank you for reaching out to us.

    You need to specify the scope in the request's body.

    1695781348993.png

    Otherwise, you will get the following error when calling this endpoint (https://api.refinitiv.com/streaming/pricing/v1/).

    {
        "error": {
            "id": "6eff4a0e-67f9-493c-80c5-519302421704",
            "code": "insufficient_scope",
            "message": "access denied. Scopes required to access the resource: [trapi.streaming.pricing.read]. Missing scopes: [trapi.streaming.pricing.read]",
            "status": "Forbidden"
        }
    }

    You can also refer to the Learn Refinitiv WebSocket APIs with Postman article.

Answers