<p>By the way, I added a <a href="https://github.com/mmd-osm/openstreetmap-cgimap/commit/08a7b4831618494e3ff1cf9b77875fe9614672cc">working prototype</a> to cgimap's changeset upload now, which we could use for further discussion, or maybe even deploy to the dev instance once we have found a good data model for the persistence layer.</p>
<p>I think that it makes sense to consider all parts of the API where we have some potential issues with idempotency, but I'd like to see a bit of a prioritization, to have a bit more of a focused effort.</p>
<p>As an example, I'd like to exclude "PUT /api/0.6/[node|way|relation]/create" in the first step, as it doesn't follow idempotency semantics anyway, although it is using the "PUT" verb, it's somewhat rarely used these days (none of the major editors use it), and remaining tools good easily just switch to the diff upload.</p>
<p>I think, besides changeset upload, we should only include <a href="https://wiki.openstreetmap.org/wiki/API_v0.6#Create_a_new_note:_Create:_POST_.2Fapi.2F0.6.2Fnotes" rel="nofollow">POSTing Notes</a> as the second API call in a first iteration, and see how far we can get and work on any issues. Only once this is stable and all issues ruled out, extend the concept to the remaining bits of the API.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-484369680">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLMXC4C2VY65SZXYOQDPRAGNJANCNFSM4HEAKOPQ">mute the thread</a>.<img src="https://github.com/notifications/beacon/AAK2OLIOW7DFSOS3655MZADPRAGNJANCNFSM4HEAKOPQ.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://github.githubassets.com/images/email/message_cards/header.png","avatar_image_url":"https://github.githubassets.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@mmd-osm in #2201: By the way, I added a [working prototype](https://github.com/mmd-osm/openstreetmap-cgimap/commit/08a7b4831618494e3ff1cf9b77875fe9614672cc) to cgimap's changeset upload now, which we could use for further discussion, or maybe even deploy to the dev instance once we have found a good data model for the persistence layer.\r\n\r\nI think that it makes sense to consider all parts of the API where we have some potential issues with idempotency, but I'd like to see a bit of a prioritization, to have a bit more of a focused effort.\r\n\r\nAs an example, I'd like to exclude \"PUT /api/0.6/[node|way|relation]/create\" in the first step, as it doesn't follow idempotency semantics anyway, although it is using the \"PUT\" verb, it's somewhat rarely used these days (none of the major editors use it), and remaining tools good easily just switch to the diff upload.\r\n\r\nI think, besides changeset upload, we should only include [POSTing Notes](https://wiki.openstreetmap.org/wiki/API_v0.6#Create_a_new_note:_Create:_POST_.2Fapi.2F0.6.2Fnotes) as the second API call in a first iteration, and see how far we can get and work on any issues. Only once this is stable and all issues ruled out, extend the concept to the remaining bits of the API.\r\n"}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-484369680"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-484369680",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-484369680",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>