Like the song in a play.
POST/play/:play_id/like
Records that this client likes the song behind this play. The like is
stored against the client and the song, not the play, so it survives
into later plays of the same song: subsequent plays render
audio_file.liked: true.
Liking is idempotent, and a like replaces a previous dislike of the same
song. Remove it with DELETE /play/{play_id}/like.
The method override inverts this call. A client that cannot issue
DELETE may POST to this path with an X-HTTP-Method-Override: DELETE
header, and because the override is applied before routing, the request
is handled as DELETE /play/{play_id}/like — it removes the like
instead of recording one, and this operation never runs. Send that
header here only when removal is what you want.
Request
Responses
- 200
- 400
- 401
- 404
- 429
- default
The like was recorded.
missingParameter (code 16) — no client_id was supplied, or the
play id in the path is missing or non-numeric (Invalid value for play id).
Credentials were missing or invalid. The response carries
WWW-Authenticate: Basic realm="Feed.fm".
Response Headers
The authentication challenge. Always Basic realm="Feed.fm".
Basic realm="Feed.fm"missingObject (code 17) — no such play.
The server judged the rate of requests from these credentials to be excessive and is refusing them for a time. The block lasts 30 seconds from the request that tripped it. Requests made during the block are refused and do not extend it.
The threshold is not published, and is not part of this contract. The threshold is also tuned from time to time.
The response carries a Retry-After header giving whole seconds until
the block clears. Wait at least that long. It says when to come back,
not what rate to aim for, and retrying sooner simply meets the block
again.
This exists to stop abuse, and a well-behaved client should not reach it; if yours does, the fix is to reduce your request rate rather than to retry on a timer. If you believe your application needs a rate that trips it, contact Feed.fm rather than working around it.
An error occurred.