Currently Known Kraken API Issues

Twitch isn’t maintaining a list of API bugs, and the Github Issues isn’t organized. Someone mentioned there wasn’t a list of known API issues, so here’s a list to the best of my knowledge. I’ll try to keep it updated, and if I’m missing something let me know.

  1. Wrong API version being served
    • If you request version 3 of /users/:user, for some users you might be served version 2. This is confirmed to be a caching issue with no known ETA on a fix.
  2. Wrong channel subdocument served inside a stream object
    • Some requests to /streams may result in the channel object being the object of the user instead.
    • In some rare instances, I believe a different user may have been served.
    • This is another caching issue with no known ETA on a fix.
  3. You cannot use the query string parameter “client_id” on /streams
    • This is because some streaming clients use the Twitch API and have a client_id.
  4. You can only request the first and last 1600 followers of a channel.
    • Due to excessive server load caused applications scraping lists of followers, Twitch has decided to limit the amount of followers you can offset.
    • Twitch is working on a solution, but it has been proposed that an implementation similar to Twitter’s might be implemented. In this implementation a cursor would be used to allow you to move forwards and backwards through a list, most likely using previous and next links inside the _links key provided in the API response.
  5. For new Twitch channels, mature is “null” instead of false in the channel object.
    • Since mature is a boolean, it should default to false.
  6. /search/streams returns valid _total count, but is missing some streams in the response
  7. Non-SSL resources are linked in an SSL-only API.
    • Twitch image resources support SSL, so just replace http:// with https://
    • Video player embed does not work on SSL websites
    • Twitch chat embed does not work on SSL websites
  8. There’s no way to get members of a team in the Kraken Twitch API.
    • You can use the old teams API until a replacement happens.
    • http://api.twitch.tv/api/team/:team_name/all_channels.json
  9. “Don’t allow other users to embed your videos” only works for VoDs
    • I think access control is a big deal for certain streamers. Twitch should better honor this setting to keep content on the actual Twitch website.
  10. OAuth implementation breaks RFC in certain instances (not really a big deal)
    • Should be using Authorization “Bearer” header
    • Should be using “access_token” query string parameter
    • Should allow clients to revoke access tokens
  11. During high peak hours, API OAuth authentication codes and access tokens not immediately active
    • These codes and tokens usually become active after some seconds of waiting.
    • I retry an access token multiple times before giving up, which might work for you too.
  12. Auth Code Flow assigning incorrect scopes and not properly revocating tokens
    • Access tokens may not be revoked when a user “disconnects” an application on the Twitch website or reauthenticates with your application.
    • Some users may not be able to get the required scopes to use your application, see Scope 'user_read' not working for explanation - fixed™
    • This could not be reproduced using the implicit auth flow
4 Likes

11c is fixed.(check 12 now?)

Kraken is also missing a list of hosts, seeing as the undocumented api for doing so is gone.

Kraken is known to return misleading responses (ie. missing token or invalid scope) at (what appears to be) random when no such issue is occurring (bad handling when server/database is overloading maybe?)

The old team API seems to 302 redirect over HTTPS most of the time, but HTTP seems to work nicely.

Twitch has never publicized an API for hosts, teams is only mentioned because there used to be documentation for it a while back (in 2013).

This should be explained in #11 already. Feel free to test tokens multiple times to confirm.

Nice catch, I updated the post.

To clarify, I was referring to existing tokens which are already activated and have previously worked.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.