# Document "Duplicate request" API response

**URL:** <https://forum.beeminder.com/t/document-duplicate-request-api-response/12573>\
**Category:** Bugabee\
**Created:** [November 11, 2025, 5:35pm UTC](https://forum.beeminder.com/t/document-duplicate-request-api-response/12573 "2025-11-11T17:35:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![narthur](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/narthur/32/5113_2.png) [@narthur](https://forum.beeminder.com/u/narthur)\
**Post date:** [November 11, 2025, 5:35pm UTC](https://forum.beeminder.com/t/document-duplicate-request-api-response/12573/1 "2025-11-11T17:35:47Z")

</div>

The API docs already document the “duplicate datapoint” error response, but not “Duplicate request.” Are these messages the same thing, or different? Either way, could the API docs be updated for clarity?

[Existing documentation](https://api.beeminder.com/#postdata):

> [`requestid`] (string): String to uniquely identify this datapoint (scoped to this goal. The same `requestid` can be used for different goals without being considered a duplicate). Clients can use this to verify that Beeminder received a datapoint (important for clients with spotty connectivity). Using requestids also means clients can safely resend datapoints without accidentally creating duplicates. If `requestid` is included and the datapoint is identical to the existing datapoint with that requestid then the datapoint will be ignored (the API will return “duplicate datapoint”). If `requestid` is included and the datapoint differs from the existing one with the same requestid then the datapoint will be updated. If no datapoint with the requestid exists then the datapoint is simply created. In other words, this is an upsert endpoint and requestid is an idempotency key.

(Didn’t know whether to put this in Tech or Bugabee.)
