<p></p>
<blockquote>
<p dir="auto">unless the <code class="notranslate">.fmt</code> support is a hard requirement.</p>
</blockquote>
<p dir="auto">Yeah, I pretty much think it's a hard requirement - or at least (as I said above) not doing anything now that makes it impossible to implement in future. I think it would be bad to have a convention on our API (using format extensions like <code class="notranslate">.xml</code> and <code class="notranslate">.json</code> that apply to some, but not all, of the endpoints.</p>
<p dir="auto">Two other things spring to mind:</p>
<ul dir="auto">
<li>Since the handling of such keys is currently broken, then we know that nobody is using it. This gives us flexibility to fix it properly. For example, if we say you can no longer access keys with <code class="notranslate">.</code> in them in the individual preference API call, that's fine since it doesn't currently work and we won't break any consumers by changing that today.</li>
<li>Even if we decide to support  <code class="notranslate">.</code> in key names, we currently allow <code class="notranslate">#</code> in key names and they absolutely can't be used in a url. Requests like <code class="notranslate">GET /api/0.6/user/preferences/something#here</code> won't work, since <code class="notranslate">here</code> is not sent to the server, even using curl.</li>
</ul>
<p dir="auto">So I iterate back to the situation where we either need to implement the <code class="notranslate">url_safe</code> character set for keys, or we find some way of encoding the keys such that they can work in urls. This could either be as part of the path (as discussed here) or as a query parameter (as suggested by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmd-osm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmd-osm">@mmd-osm</a> , which unfortunately also doesn't support <code class="notranslate">#</code>).</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3787#issuecomment-1316963890">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLNSNW5S2WYY7TL5B7DWITJJ3ANCNFSM6AAAAAARZPOMC4">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLMWOWKS2NCDTO34US3WITJJ3A5CNFSM6AAAAAARZPOMC6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSOP5DDE.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/pull/3787/c1316963890</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/pull/3787#issuecomment-1316963890",
"url": "https://github.com/openstreetmap/openstreetmap-website/pull/3787#issuecomment-1316963890",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>