Route not found when uploading a file to Zoom Events

The documentation for uploading a file to Zoom Events says that we should send a POST request to https://api.zoom.us/v2/zoom_events/files but when I do that, I get a HTTP 404 response.

REQUEST:
POST https://api-ca.zoom.us/v2/zoom_events/files HTTP/1.1
Authorization: Bearer <... my token ...>
Content-Type: multipart/form-data; boundary="cbbd5d90-8dfb-4843-b453-d4e3c828f9b8"
Content-Length: 129114

--cbbd5d90-8dfb-4843-b453-d4e3c828f9b8
Content-Disposition: form-data; name=file; filename="Forest Flowers.jpg"; filename*=utf-8''%22Forest%20Flowers.jpg%22

... the content of the file ...

--cbbd5d90-8dfb-4843-b453-d4e3c828f9b8
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name="hub_id"

FAUL4su2RvWp_v6WsisP1g
--cbbd5d90-8dfb-4843-b453-d4e3c828f9b8--


RESPONSE:
HTTP/1.1 404 Not Found
Date: Wed, 25 Feb 2026 01:16:47 GMT
x-zm-trackingid: WEB_ee4b8a258161a304740fa4d56935fb1d

{"code":64041, "message":"Route Not Found"}


hi @desautelsj Thanks for reaching out!
I created an internal ticket for our Engineering to look into this (ZSEE-196541)

Hey @desautelsj
Thanks for your patience here.
I just heard back from our Engineering team and it seems like I missed a note in the docs for this specific endpoint.

Can you please try using https://fileapi.zoom.us/v2/ as base URL for this API so the entire API URL should be https://fileapi.zoom.us/v2/zoom_events/files . It is mentioned in documentation:

Please let me know if this fixes the issue.
Cheers
Elisa

I tried your suggestion and it worked:

REQUEST:
POST https://fileapi.zoom.us/v2/zoom_events/files HTTP/1.1
Authorization: Bearer <-- my token -->

--c47086f8-3e25-42f7-b665-749d396bc259
Content-Disposition: form-data; name=file; filename="Longhorn Stay The Course Bliss 2.JPG"; filename*=utf-8''%22Longhorn%20Stay%20The%20Course%20Bliss%202.JPG%22

... content of the file ...

--c47086f8-3e25-42f7-b665-749d396bc259
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name="hub_id"

FAUL4su2RvWp_v6WsisP1g
--c47086f8-3e25-42f7-b665-749d396bc259--

RESPONSE:
HTTP/1.1 201 Created
Date: Fri, 06 Mar 2026 19:20:55 GMT
x-zm-trackingid: file-aw1-20260306-192055-34365188-158

{"file_id":"U3oCL9dpRiSLqfZJOAlq2g"}

The note you highlighted conflicts with this:

Thanks for your help.

@desautelsj Yes, conflicting docs.
Will create a Docs update for this!

@elisa.zoom After I successfully upload a video to my Event hub, I can see it in the Zoom Events UI under Video Management > Recordings and videos as you can see in this example:

This is great but what about JPG images? Where would I see them? I looked under Assets > Content Management but it’s empty as you can see below:

I was able to successfully upload several images, each time I get a response from the API that looks like this example:

HTTP/1.1 201 Created
Date: Sat, 07 Mar 2026 16:57:13 GMT
x-zm-trackingid: file-aw1-20260307-165712-38734670-32

{"file_id":"9xu2zczsRg2LaOXa5X0Lyw"}

which leads me to believe the image files are accepted but I can’t see them anywhere.

Hey @desautelsj
I reported this and waiting to hear back from the team (ZSEE-198086)

Hi @desautelsj
Our Engineering team just got back to me and said that they are unable to reproduce this on their end.
In their testing, they can upload images and they are available under Assets → Content Library, just as expected.
Could you get a screen recording of this issue?

I’ll be happy to record and share a video but the sequence of events is quite simple:

Step 1: I send the following request:

POST https://fileapi.zoom.us/v2/zoom_events/files
Accept: application/json
Authorization: Bearer <... my token ...>
Content-Type: multipart/form-data; boundary="a7f80a31-6a88-4613-9830-0317f7af0685"
Content-Length: 105883

--a7f80a31-6a88-4613-9830-0317f7af0685
Content-Disposition: form-data; name=file; filename="Winter.jpg"; filename*=utf-8''%22Winter.jpg%22

<... the JPG data ...>
--a7f80a31-6a88-4613-9830-0317f7af0685
Content-Type: text/plain; charset=utf-8
Content-Disposition: form-data; name="hub_id"

FAUL4su2RvWp_v6WsisP1g
--a7f80a31-6a88-4613-9830-0317f7af0685--

and receive the following response:

HTTP/1.1 201 Created
Server: nginx
Date: Wed, 01 Apr 2026 21:00:59 GMT
Content-Type: application/json
Content-Length: 36
x-zm-trackingid: file-aw1-20260401-210058-830334379-135

{"file_id":"NWVhZYp-RtiEtT22HLyKhA"}

Step 2: I go to Assets —> Content Library and I observe that my content library is still empty.

As requested, here is a recording showing that my asset library remains empty after uploading an image:


Thanks @desautelsj looking into this

Hey @desautelsj
Thanks for your patience here, I do have an update regarding this issue and it seems like file upload endpoints are currently limited to supporting video recordings and their associated metadata files only.

Currently formats like .jpeg/jpg, .png, .pdf, .txt, .ppt, .doc, .csv, xls. do not appear to be supported.

We will update our documentation to reflect this and will keep an eye on this issue to update you if these formats will be supported in the future.
Thanks again!

I wonder how the engineers were able to upload images and see them in the Content Library if images are not supported?!?!? Weird.

Also, updating the documentation is a great first step but I suggest the API should return an error message to make it clear that I attempted to upload a file it can’t handle.

Anyway, thanks for helping me get to the bottom of this problem.