Duplicate Requests
Discussion
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
the same 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.