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
  • 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 | Demo | Docs | Install
  1. Cloudron Forum
  2. Cal.com
  3. Cal.com API endpoint missing (?)

Cal.com API endpoint missing (?)

Scheduled Pinned Locked Moved Solved Cal.com
18 Posts 3 Posters 734 Views 3 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.
  • nebulonN Offline
    nebulonN Offline
    nebulon
    Staff
    wrote on last edited by nebulon
    #4

    Trying to reproduce this. It is not clear why the app times out with a 500 but the api seems to be responding normally when the path has a trailling /

    That just returns a redirect to /api/v2 which times out.

    Apparently the API server of calcom is some standalone process, which is not even run in the package. Have to see how to get that going...

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

      New app package with the API endpoint enabled is out. This is a major version update, so requires manual intervention as a new api endpoint subdomain is now required.

      GengarG luckowL 2 Replies Last reply
      1
      • nebulonN nebulon has marked this topic as solved on
      • nebulonN nebulon

        New app package with the API endpoint enabled is out. This is a major version update, so requires manual intervention as a new api endpoint subdomain is now required.

        GengarG Offline
        GengarG Offline
        Gengar
        wrote on last edited by Gengar
        #6

        @nebulon What do you mean by manual intervention ?

        We need to setup this new subdomain in the dns manually even if we have an api token to setup subdomains automatically ?
        8894e002-fd65-4f52-8cfb-7c1c1fb15b20-image.png

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

          Manual intervention due to the major package version update. This means the app does not automatically update.
          The DNS setup will work according to how the domain is configured, so of course if an automated backend is used, this will handle the actual DNS setup.

          1 Reply Last reply
          1
          • GengarG Offline
            GengarG Offline
            Gengar
            wrote on last edited by
            #8

            Okay thx a lot. I updated cal.com and in my case it should have been automated but I had to do it manually.

            1 Reply Last reply
            0
            • nebulonN nebulon

              New app package with the API endpoint enabled is out. This is a major version update, so requires manual intervention as a new api endpoint subdomain is now required.

              luckowL Offline
              luckowL Offline
              luckow
              translator
              wrote on last edited by
              #9

              @nebulon
              mh. API endpoint is not reliable. I have detected two errors in the logs:

              read-only error

              Apr 02 12:58:11 {"date":"Wed Apr 02 2025 11:58:11 GMT+0000 (Coordinated Universal Time)","error" {"code":"EROFS","errno":-30,"path":"./swagger/documentation.json","syscall":"unlink"},"level":"error","message":"unhandledRejection: EROFS: read-only file system, unlink './swagger/documentation.json'\nError: EROFS: read-only file system, unlink './swagger/documentation.json'\n at Object.unlinkSync (node:fs:1953:11)\n at generateSwagger (/app/code/calcom/apps/api/v2/dist/apps/api/v2/src/main.js:87:12)\n at run (/app/code/calcom/apps/api/v2/dist/apps/api/v2/src/main.js:24:14)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","os":{"loadavg":[1.76,1.55,1.57],"uptime":2270453.82},"process":{"argv":["/usr/local/node-22.14.0/bin/node","/app/code/calcom/apps/api/v2/dist/apps/api/v2/src/main.js"],"cwd":"/app/code/calcom/apps/api/v2","execPath":"/usr/local/node-22.14.0/bin/node","gid":0,"memoryUsage":{"arrayBuffers":138616,"external":3492265,"heapTotal":285544448,"heapUsed":264459784,"rss":388689920},"pid":41841,"uid":0,"version":"v22.14.0"},"rejection":true,"service":"cal-platform-api","stack":"Error: EROFS: read-only file system, unlink './swagger/documentation.json'\n at Object.unlinkSync (node:fs:1953:11)\n at generateSwagger (/app/code/calcom/apps/api/v2/dist/apps/api/v2/src/main.js:87:12)\n at run (/app/code/calcom/apps/api/v2/dist/apps/api/v2/src/main.js:24:14)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2025-04-02 11:58:11.613","trace":[{"column":11,"file":"node:fs","function":"Object.unlinkSync","line":1953,"method":"unlinkSync","native":false},{"column":12,"file":"/app/code/calcom/apps/api/v2/dist/apps/api/v2/src/main.js","function":"generateSwagger","line":87,"method":null,"native":false},{"column":14,"file":"/app/code/calcom/apps/api/v2/dist/apps/api/v2/src/main.js","function":"run","line":24,"method":null,"native":false},{"column":5,"file":"node:internal/process/task_queues","function":"process.processTicksAndRejections","line":105,"method":"processTicksAndRejections","native":false}]}
              

              socket hang up error

              Apr 02 13:36:40 @calcom/web:start: Failed to proxy https://cal-api.example.com/api/v2 Error: socket hang up
              Apr 02 13:36:40 @calcom/web:start: at TLSSocket.socketCloseListener (node:_http_client:491:27)
              Apr 02 13:36:40 @calcom/web:start: at TLSSocket.emit (node:events:530:35)
              Apr 02 13:36:40 @calcom/web:start: at node:net:351:12
              Apr 02 13:36:40 @calcom/web:start: at TCP.done (node:_tls_wrap:650:7)
              Apr 02 13:36:40 @calcom/web:start: at TCP.callbackTrampoline (node:internal/async_hooks:130:17) {
              Apr 02 13:36:40 @calcom/web:start: code: 'ECONNRESET'
              Apr 02 13:36:40 @calcom/web:start: }
              Apr 02 13:36:40 @calcom/web:start: Error: socket hang up
              Apr 02 13:36:40 @calcom/web:start: at TLSSocket.socketCloseListener (node:_http_client:491:27)
              Apr 02 13:36:40 @calcom/web:start: at TLSSocket.emit (node:events:530:35)
              Apr 02 13:36:40 @calcom/web:start: at node:net:351:12
              Apr 02 13:36:40 @calcom/web:start: at TCP.done (node:_tls_wrap:650:7)
              Apr 02 13:36:40 @calcom/web:start: at TCP.callbackTrampoline (node:internal/async_hooks:130:17) {
              Apr 02 13:36:40 @calcom/web:start: code: 'ECONNRESET'
              Apr 02 13:36:40 @calcom/web:start: }
              

              The first two or three browser calls to the new api endpoint worked, but the following calls ended with a timeout. OK, technically they don't work because a 200 = Ok is missing. Instead I get a 502 on the bare domain.
              https://cal-api.example.org

              Pronouns: he/him | Primary language: German

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

                "code":"EROFS","errno":-30,"path":"./swagger/documentation.json" so it tries to write some swagger docs files during API calls?

                I haven't looked at their API docs or so, but this does sound wrong indeed.

                Do you have example curl commands we could run to reproduce this?

                1 Reply Last reply
                0
                • luckowL Offline
                  luckowL Offline
                  luckow
                  translator
                  wrote on last edited by
                  #11

                  https://api.cal.com/ -> 200
                  https://calcom-api.demo.cloudron.io/ -> 502

                  Pronouns: he/him | Primary language: German

                  1 Reply Last reply
                  1
                  • GengarG Offline
                    GengarG Offline
                    Gengar
                    wrote on last edited by Gengar
                    #12

                    And also it seems like since the update of the app the CPU usage has increased A LOT (green line and red line are two cal instances and blue line is the total) d88394cb-c9a8-4c78-97fe-33904ba19fa0-image.png

                    @luckow Did you notice the same ?

                    luckowL 1 Reply Last reply
                    0
                    • GengarG Gengar

                      And also it seems like since the update of the app the CPU usage has increased A LOT (green line and red line are two cal instances and blue line is the total) d88394cb-c9a8-4c78-97fe-33904ba19fa0-image.png

                      @luckow Did you notice the same ?

                      luckowL Offline
                      luckowL Offline
                      luckow
                      translator
                      wrote on last edited by
                      #13

                      @Gengar nope.

                      image.png

                      Pronouns: he/him | Primary language: German

                      GengarG 1 Reply Last reply
                      0
                      • luckowL luckow

                        @Gengar nope.

                        image.png

                        GengarG Offline
                        GengarG Offline
                        Gengar
                        wrote on last edited by
                        #14

                        @luckow Mhhh ok thank you for checking. I've set a limit on CPU usage now for those two instances of cal and it's better.

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

                          It is still unclear to me what is happening. Calling the api does respond, but wrongly due to the app trying to rebuild the swagger documentation on every api call. Totally unclear why this is happening.

                          Once the filesystem is temporarily writeable, the api docs rebuilding does not fail but also never writes anything, however the node process goes into a 100% cpu occupying loop and never finishes.

                          GengarG 1 Reply Last reply
                          1
                          • nebulonN nebulon

                            It is still unclear to me what is happening. Calling the api does respond, but wrongly due to the app trying to rebuild the swagger documentation on every api call. Totally unclear why this is happening.

                            Once the filesystem is temporarily writeable, the api docs rebuilding does not fail but also never writes anything, however the node process goes into a 100% cpu occupying loop and never finishes.

                            GengarG Offline
                            GengarG Offline
                            Gengar
                            wrote on last edited by
                            #16

                            @nebulon Oh so there was something with the cpu. Interesting... Thank you for the new information nebulon

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

                              I think I managed to fix this. Just released a new app package v2.0.1 for that.

                              GengarG 1 Reply Last reply
                              1
                              • nebulonN nebulon

                                I think I managed to fix this. Just released a new app package v2.0.1 for that.

                                GengarG Offline
                                GengarG Offline
                                Gengar
                                wrote on last edited by Gengar
                                #18

                                @nebulon thank you ! 🙏 I'm going to update and test rn 🤞

                                Edit : I can confirm you solved the CPU 100% issue :
                                02b19f87-91d2-449a-82c7-326f7f806ba4-image.png

                                We can clearly see the result after the update

                                1 Reply Last reply
                                0
                                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