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

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