soundcloud / soundcloud/api

Rate Limit Responses for Repost Endpoints

Open
#74 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
JavaScript
Stars
254
Forks
53
PR merge metrics
No merged PRs in 30d

Description

Title: Rate Limit Responses for Actions Endpoints (Reposts)

Issue found of: 7th July, 2021

Endpoint(s):
  • POST /reposts/tracks/{id}
Scope(s):
  • User scope
Expected behaviour:

When a user has been blocked from reposting on SoundCloud, this endpoint should return a 429 response. Historically when we were using the v2 API, this was the case, and this enabled us to notify the user they have been rate limited by SoundCloud, give them advice on why this is not a good idea and should be avoided, as well as pointing them to resources on the SoundCloud website for more information.

While we enforce our own limits on reposting via our app, a user is able repost elsewhere before doing doing so on our platform.

By giving us a 429 response, it enables us to close the feedback loop with the user, as well as allowing us to temporarily restrict functionality if warranted.

Other action endpoints (follows, likes etc) return 429 when a user has breached limits which allows us to be more intelligent with our advice and messaging within our app.

Actual behaviour:

It seems that when the repost rate-limit is hit, this endpoint returns 500 instead.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with POST /reposts/tracks/{id} and reproduce the user-scope request after the repost rate limit is reached. Compare its response with the other action endpoints mentioned in the issue; done means the rate-limited repost request returns 429 rather than 500.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.