Zoom CC API - 400 Bad Request on Participant Update via n8n

The PATCH /v2/contact_center/participants/{participantId} endpoint is throwing a 400 Bad Request with the body {"status": "failure", "code": "invalid_parameter", "message": "The request payload is invalid"}. This is hitting inside a self-hosted n8n instance using an HTTP Request node.

The workflow is designed to sync custom participant metadata during an active session. The payload being sent is a standard JSON object:

{
 "participant": {
 "external_id": "ext-99283",
 "custom_fields": {
 "priority_level": "high"
 }
 }
}

Ruled out OAuth2 credential expiration since other calls to the same account work fine. The Content-Type is set to application/json. It’s weird because the same payload works in a raw cURL request from the terminal, but the n8n node fails consistently. Checked the node.js logs on the host; nothing there but the generic 400 response from the Zoom gateway. The participantId is being pulled dynamically from a previous GET call, so it’s definitely a valid UUID.

1 Like