Sometimes, especially with spotty internet connections, a client can make a request to the API that is serviced but for which a response is never received. For example, an application may submit an upvote but due to loss of connectivity never receive an acknowledgement.
A reasonable solution to poor networking is to retry unacknowledged requests a small number of times. However, many actions can only be performed once leading to "mysterious" failures if an retried request actually succeeded earlier.
Starting in v2.2, the API accepts a
request_id parameter along with every request. If a request_id is seen a second time in a small window
the request will be failed immediately with a
duplicate_request error. this means that any retried requests will fail sensibly, provided that
request_id is used.
The exact window in which the API will recognize a duplicate
request_id is subject to change, but clients can assume the window is no
shorter than five minutes.