I am working on an application that calls the Zoom contact center API to fetch inboxes, and then fetches messages for a given inbox.
The /contact_center/inboxes/
{inboxId}
endpoint only returns “inbox_type”:”voicemail” (this is consistent with the documentation).
❯ curl https://api.zoom.us/v2/contact_center/inboxes/<INBOX_ID> \
--header 'Authorization: Bearer <AUTH_CODE>'
{"inbox_id":"<INBOX_ID>","inbox_name":"Default Inbox (Voicemail)","inbox_description":"This is the default inbox for voicemail.","inbox_type":"voicemail","inbox_content_storage_location":"US","last_modified_time":"2025-08-04T15:50:02Z","modified_by":"<MODIFIED_BY_ID>","voicemail":{"soft_delete":false,"voicemail_time_limit":5,"delete_voicemail_days_limit":30,"voicemail_transcription":true,"voicemail_notification_by_email":{"enable":false},"voicemail_auto_assignment":{"enable":false},"voicemail_send_reminders_for_unresolved":{"enable":false}}}%
However, when I attempt to call the /contact_center/inboxes/
{inboxId}
/messages
endpoint, I receive an error based on the inbox type?
❯ curl https://api.zoom.us/v2/contact_center/inboxes/<INBOX_ID>/messages \
--header 'Authorization: Bearer <AUTH_CODE>'
{"code":310029,"message":"Inbox and voicemail do not match."}
This also happens when I use the “message_type” param, which only takes “voicemail”.
curl https://api.zoom.us/v2/contact_center/inboxes/<INBOX_ID>/messages\?message_type\=voicemail
The 400 error code suggests that there is something wrong with my request - could anyone help me debug this?