<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[API v1 endpoints not working as documented — Cloudron v9.1.6]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">We're integrating with the Cloudron API (v9.1.6) and found several endpoints from the documentation (<a href="https://docs.cloudron.io/api/" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/api/</a>) that return 404 or don't persist changes. Authentication is via Authorization: Bearer &lt;token&gt; with a valid API token (other endpoints work fine with the same token).</p>
<ol>
<li>PUT /api/v1/users/{userId} — 404 Not Found</li>
</ol>
<ul>
<li>Docs: <a href="https://docs.cloudron.io/api/update-user" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/api/update-user</a></li>
<li>Expected: Update user fields (displayName, fallbackEmail, etc.)</li>
<li>Actual: Returns {"status": "Not Found", "message": "No such route"}</li>
<li>Tested with both uid-xxx and bare UUID formats</li>
<li>Workaround: None. fallbackEmail can only be set at user creation time.</li>
</ul>
<ol start="2">
<li>POST /api/v1/users/{userId}/password_reset_email — 404 Not Found</li>
</ol>
<ul>
<li>Docs: <a href="https://docs.cloudron.io/api/send-password-reset-email" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/api/send-password-reset-email</a></li>
<li>Expected: Send password reset email to the user's fallback email</li>
<li>Actual: Returns {"status": "Not Found", "message": "No such route"}</li>
<li>Workaround: We use POST /api/v1/users/{userId}/password (which works) and send - the new credentials ourselves via our own email service.</li>
</ul>
<ol start="3">
<li>POST /api/v1/mail/{domain}/mailboxes/{name} — 204 but no effect on active field</li>
</ol>
<ul>
<li>Docs: <a href="https://docs.cloudron.io/api/update-mailbox" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/api/update-mailbox</a></li>
<li>Expected: Setting active: false should disable the mailbox</li>
<li>Actual: Returns 204 (success) but the active field remains true when queried back via GET</li>
<li>All required fields (ownerId, ownerType, active, enablePop3, storageQuota, messagesQuota, members, membersOnly) are included in the request body</li>
<li>Workaround: None. We cannot disable mailboxes via API.</li>
</ul>
<h3>Endpoints that DO work correctly:</h3>
<p dir="auto">GET /api/v1/users <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /><br />
GET /api/v1/users/{userId} <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /><br />
POST /api/v1/users <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /> (create with fallbackEmail)<br />
POST /api/v1/users/{userId}/password <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /><br />
GET /api/v1/mail/{domain}/mailboxes <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /><br />
GET /api/v1/mail/{domain}/mailboxes/{name} <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /><br />
GET /api/v1/mail/{domain}/mailboxes/{name}/aliases <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /><br />
PUT /api/v1/mail/{domain}/mailboxes/{name}/aliases <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /><br />
POST /api/v1/mail/{domain}/enable <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /><br />
DELETE /api/v1/mail/{domain}/mailboxes/{name} <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /></p>
<p dir="auto">Could you confirm if these endpoints were removed or changed in v9.x? Is there an alternative way to:</p>
<p dir="auto">Update a user's fallbackEmail after creation?<br />
Send a password reset email natively?<br />
Disable (not delete) a mailbox?<br />
Thank you.</p>
]]></description><link>https://forum.cloudron.io/topic/15388/api-v1-endpoints-not-working-as-documented-cloudron-v9.1.6</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 15:34:12 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/15388.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Apr 2026 21:43:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to API v1 endpoints not working as documented — Cloudron v9.1.6 on Tue, 14 Apr 2026 09:05:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/reichert" aria-label="Profile: reichert">@<bdi>reichert</bdi></a> I am a bit confused, so the docs link you posted below the non-existing route listing actually shows the correct route. Like in your item 1 the http verb is POST not PUT and the path misses a /profile in the end.</p>
]]></description><link>https://forum.cloudron.io/post/123385</link><guid isPermaLink="true">https://forum.cloudron.io/post/123385</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Tue, 14 Apr 2026 09:05:05 GMT</pubDate></item><item><title><![CDATA[Reply to API v1 endpoints not working as documented — Cloudron v9.1.6 on Mon, 13 Apr 2026 23:38:00 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/reichert" aria-label="Profile: reichert">@<bdi>reichert</bdi></a><br />
To give you quick helper.<br />
Everything in the Cloudron Dashboard does API calls.<br />
If you need to find a specific API route you can open the browser network inspector and record for example changing a user.<br />
With that you get the API route and a valid object.</p>
]]></description><link>https://forum.cloudron.io/post/123366</link><guid isPermaLink="true">https://forum.cloudron.io/post/123366</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Mon, 13 Apr 2026 23:38:00 GMT</pubDate></item></channel></rss>