Skip to content

[Bug] VideoSdkClient has hardcoded doubleEncodeUrl: true causing 404 errors #12

@bitzed

Description

@bitzed

Description

VideoSdkClient fails to call Video SDK APIs with a 404 error "This API endpoint is not recognized", even when using valid credentials that work with manual JWT authentication.

Root Cause

In videosdk.mjs, the VideoSdkClient.initEndpoints() method has doubleEncodeUrl: true hardcoded:

// videosdk.mjs
initEndpoints(auth, options) {
    return new VideoSdkEndpoints({ auth, doubleEncodeUrl: true, ...options });
}

This causes the URL /videosdk/sessions to be double-encoded to %252Fvideosdk%252Fsessions, which the Zoom API does not recognize.

Other modules like ChatbotClient do NOT have this issue:

// chatbot.mjs
initEndpoints(auth, options) {
    return new ChatbotEndpoints({ auth, ...options });  // No doubleEncodeUrl
}

Steps to Reproduce

  1. Create a Video SDK app on Zoom Marketplace
  2. Use the following code:
import { VideoSdkClient } from "@zoom/rivet/videosdk";

const client = new VideoSdkClient({
   clientId: "YOUR_VIDEO_SDK_API_KEY",
   clientSecret: "YOUR_VIDEO_SDK_API_SECRET",
   disableReceiver: true
});

await client.endpoints.sessions.listSessions({
   query: { 
      from: "2025-01-01",
      to: "2025-10-31",
      type: "past"
   }
});
  1. Observe 404 error: [404/2300]: "This API endpoint is not recognized."

Environment

  • @zoom/rivet@0.4.0
  • Node.js version: v22.17.0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions