410 Gone on v5 games/top


#1
{
  "error": "Gone",
  "status": 410,
  "message": "War. War never changes... but APIs do. See https://dev.twitch.tv/docs"
}

periodically, not always. v5 headers, not v3.


#2

Do you have logs of your request when you’re getting a 410 error? because if you’re using the v5 header you shouldn’t get that response


#3

I’m, intermittently, getting the same

I call https://api.twitch.tv/kraken/games/top?limit=100 every 5 minutes
with headers ‘Client-ID’: MY_CLIENT_ID, ‘Accept’: ‘application/vnd.twitchtv.v5+json’

410 was returned at 2019-10-15 02:40:00 UTC

Edit (times are UTC):
2019-10-15 03:05:01: 200
2019-10-15 03:10:01: 200
2019-10-15 03:15:01: 410
2019-10-15 03:20:01: 200
2019-10-15 03:25:01: 200
2019-10-15 03:30:01: 200
2019-10-15 03:35:01: 200
2019-10-15 03:40:01: 200
2019-10-15 03:45:01: 200
2019-10-15 03:50:01: 200
2019-10-15 03:55:01: 410
2019-10-15 04:00:01: 200
2019-10-15 04:05:01: 200
2019-10-15 04:10:01: 200
2019-10-15 04:15:01: 410
2019-10-15 04:20:01: 200

Edit2:
I modified my code to retry (once) if a 410 is returned.
This gave:
2019-10-15 04:25:01: 200
2019-10-15 04:30:01: 200
2019-10-15 04:35:01: 200
2019-10-15 04:40:01: 200
2019-10-15 04:45:01: 200
2019-10-15 04:50:01: 410
2019-10-15 04:50:01: 410
2019-10-15 04:55:01: 200
2019-10-15 05:00:01: 200
2019-10-15 05:05:01: 200
2019-10-15 05:10:01: 200
2019-10-15 05:15:01: 200
2019-10-15 05:20:01: 410
2019-10-15 05:20:01: 410
2019-10-15 05:25:01: 200
2019-10-15 05:30:01: 200
2019-10-15 05:35:01: 200
2019-10-15 05:40:01: 200
2019-10-15 05:45:01: 410
2019-10-15 05:45:01: 410
2019-10-15 05:50:01: 200
2019-10-15 05:55:01: 200
2019-10-15 06:00:01: 200
2019-10-15 06:05:01: 200
2019-10-15 06:10:01: 410
2019-10-15 06:10:01: 410
2019-10-15 06:15:01: 200
2019-10-15 06:20:01: 410
2019-10-15 06:20:01: 410
2019-10-15 06:25:01: 410
2019-10-15 06:25:01: 410
2019-10-15 06:30:01: 410
2019-10-15 06:30:01: 410
2019-10-15 06:35:01: 200
2019-10-15 06:40:01: 200
2019-10-15 06:45:01: 200
2019-10-15 06:50:01: 200
2019-10-15 06:55:01: 200
2019-10-15 07:00:01: 200
2019-10-15 07:05:01: 410
2019-10-15 07:05:01: 410
2019-10-15 07:10:01: 200
2019-10-15 07:15:01: 410
2019-10-15 07:15:01: 410

Note that, every time 410 is returned, an immediate retry also returns 410


#4

Can confirm some wonky stuff on the 14th/15th. First occurrence on Oct 10th, 11:30 PM UTC.
1:00 AM, 2:00 AM, 8:00 AM, 11:00AM, 7:30 PM, 10:30PM UTC on Oct 14th.
3:00 AM, 4:00 AM, 9:30 AM, 10:00 AM UTC on Oct 15th.

All requests:

"params": {
    "limit": 100,
    "offset": 0
}

Though you can force a 410 by specifying an offset that’s too large. This behavior however is extremely unusual. I believe it has been a 404 in the past, and of course since it’s not a cursored endpoint, there’s no guarantee that while I’m traversing the games, that the total doesn’t change and I inadvertently wind up calling the endpoint with an offset that is now too large.


#5

I still have this problem.

The problem is that for some devices the problem doesn’t happens, for others only some times one two a day, and for others all the time.

I’m using a workaround that every time it returns 410 I start using helix, but helix is not yet done so the result it returns is not complete as kraken.

So is this be worked on and will eventually be fixed?

Is here on this site that we post api problems so they get fixed?

One can’t open a ticket on the dev support site anymore as the feature was removed so I wonder if posting problem here actually reach those responsible for the api after all this is open for some time and the issue persist.


#6

tl;dr: Add &api_version=5 to your URL
(even if you already have ‘Accept’: ‘application/vnd.twitchtv.v5+json’ in the headers)


The problem appears to be related to the shutdown of v3 APIs, and (sometimes) the v3 version being called, even when ‘Accept’: ‘application/vnd.twitchtv.v5+json’ is in the headers.

So, I tried calling https://api.twitch.tv/kraken/games/top?limit=100&api_version=5 whenever https://api.twitch.tv/kraken/games/top?limit=100 returned 410

Since making this change 2 days ago:

  • 410 was returned by the original call, 132 times out of 728 attempts
  • 410 was never returned when including &api_version=5 in the URL

How to return subscribers in order (Helix API)
#7

After that change all good, using for days now and no more 410s. Thanks @SPDene for the workaround I didn’t know about that…

I took the time and add api_version=5 to all kraken calls to prevent future problems from any API.