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 608 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 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