After getting authentication token, we refresh it every 4/5 of the expire time (approx. 4 min).
From time to time (sometimes several times a day, sometimes once every few days), such refresh_token requests fail with 400 error and message "iPlanet session has been expired."
What can cause such error? How to prevent it?
Are you experiencing the token expires approximately every 18 hours? This may be the reason why it is happening. I believe there is a setting within your specific account that may have set this up - I believe it is the default. In addition to what you are doing, i.e. refreshing every 4/5 of the expire time, you can also refresh apply 4/5 of the 18 hour window. I would also reach out to your Refinitiv account manager to see if this setting can be turned off.
I too get this response. I have an application that I use to test the EDP API similar to Postman but one that I wrote myself.
I run up two instances I1 and I2.
I1 GetAccessToken (grant_type=password) returns access_token and refresh_token.
I2 GetAccessToken(grant_type=password)returns access_token and refresh_token.
I1 RefreshTokens (grant_type=refresh_token) returns 'iPlanet session has been expired'
I2 RefreshTokens (grant_type=refresh_token) returns access_token and refresh_token.
I1 RefreshTokens (grant_type=refresh_token) returns 'Refresh token does not exist.'
Same client_id for both instances.