Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. Support
  3. API v1 endpoints not working as documented — Cloudron v9.1.6

API v1 endpoints not working as documented — Cloudron v9.1.6

Scheduled Pinned Locked Moved Unsolved Support
api
4 Posts 4 Posters 53 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    reichert
    wrote last edited by joseph
    #1

    Hi,

    We're integrating with the Cloudron API (v9.1.6) and found several endpoints from the documentation (https://docs.cloudron.io/api/) that return 404 or don't persist changes. Authentication is via Authorization: Bearer <token> with a valid API token (other endpoints work fine with the same token).

    1. PUT /api/v1/users/{userId} — 404 Not Found
    • Docs: https://docs.cloudron.io/api/update-user
    • Expected: Update user fields (displayName, fallbackEmail, etc.)
    • Actual: Returns {"status": "Not Found", "message": "No such route"}
    • Tested with both uid-xxx and bare UUID formats
    • Workaround: None. fallbackEmail can only be set at user creation time.
    1. POST /api/v1/users/{userId}/password_reset_email — 404 Not Found
    • Docs: https://docs.cloudron.io/api/send-password-reset-email
    • Expected: Send password reset email to the user's fallback email
    • Actual: Returns {"status": "Not Found", "message": "No such route"}
    • Workaround: We use POST /api/v1/users/{userId}/password (which works) and send - the new credentials ourselves via our own email service.
    1. POST /api/v1/mail/{domain}/mailboxes/{name} — 204 but no effect on active field
    • Docs: https://docs.cloudron.io/api/update-mailbox
    • Expected: Setting active: false should disable the mailbox
    • Actual: Returns 204 (success) but the active field remains true when queried back via GET
    • All required fields (ownerId, ownerType, active, enablePop3, storageQuota, messagesQuota, members, membersOnly) are included in the request body
    • Workaround: None. We cannot disable mailboxes via API.

    Endpoints that DO work correctly:

    GET /api/v1/users ✅
    GET /api/v1/users/{userId} ✅
    POST /api/v1/users ✅ (create with fallbackEmail)
    POST /api/v1/users/{userId}/password ✅
    GET /api/v1/mail/{domain}/mailboxes ✅
    GET /api/v1/mail/{domain}/mailboxes/{name} ✅
    GET /api/v1/mail/{domain}/mailboxes/{name}/aliases ✅
    PUT /api/v1/mail/{domain}/mailboxes/{name}/aliases ✅
    POST /api/v1/mail/{domain}/enable ✅
    DELETE /api/v1/mail/{domain}/mailboxes/{name} ✅

    Could you confirm if these endpoints were removed or changed in v9.x? Is there an alternative way to:

    Update a user's fallbackEmail after creation?
    Send a password reset email natively?
    Disable (not delete) a mailbox?
    Thank you.

    1 Reply Last reply
    1
    • jamesJ Offline
      jamesJ Offline
      james
      Staff
      wrote last edited by
      #2

      Hello @reichert
      To give you quick helper.
      Everything in the Cloudron Dashboard does API calls.
      If you need to find a specific API route you can open the browser network inspector and record for example changing a user.
      With that you get the API route and a valid object.

      1 Reply Last reply
      0
      • nebulonN Offline
        nebulonN Offline
        nebulon
        Staff
        wrote last edited by
        #3

        @reichert 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.

        jdaviescoatesJ 1 Reply Last reply
        3
        • nebulonN nebulon

          @reichert 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.

          jdaviescoatesJ Offline
          jdaviescoatesJ Offline
          jdaviescoates
          wrote last edited by
          #4

          @nebulon sounds like over reliance on confused AIs to me.

          I use Cloudron with Gandi & Hetzner

          1 Reply Last reply
          0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Bookmarks
          • Search