RTMS start returns HTTP 400 / error 2310 despite active Developer Pack

API Endpoint(s) and/or Zoom API Event(s)

API endpoint:

PATCH https://api.zoom.us/v2/live_meetings/{meetingId}/rtms_app/status

Zoom API events:

  • meeting.started
  • meeting.rtms_started

Documentation:

Description

I am implementing Zoom Realtime Media Streams (RTMS) for meeting audio using a General App with user-level OAuth.

My application successfully receives the meeting.started webhook. After receiving this event, the backend sends the documented request to start RTMS.

I have verified the following configuration:

  • The app is a General App using user-level OAuth.
  • The OAuth-connected user is the meeting host.
  • The meeting is active when the RTMS request is sent.
  • The OAuth token contains the meeting:update:participant_rtms_app_status scope.
  • The required RTMS webhook events are selected.
  • meeting.started webhooks are received successfully.
  • “Share realtime meeting content with apps” is enabled.
  • The app is authorized under “Allow apps to access meeting content.”
  • Auto-start is enabled for the app.
  • The Zoom Developer Pack/RTMS plan appears active in the billing portal.
  • The same failure occurred in two separate meeting tests.

However, Zoom rejects the RTMS start request, and no meeting.rtms_started webhook is generated.

App Client ID:

pIeSmsLCSXCQM1sbWcgzhA

Could Zoom staff please verify the following for the account associated with this Client ID?

  1. RTMS is fully enabled in the account profile.
  2. The Developer Pack entitlement is provisioned on the correct Zoom account.
  3. The RTMS concurrency value is greater than zero.
  4. This Client ID is associated with the RTMS entitlement.
  5. There is no missing backend RTMS profile setting or flag.

Error?

The API returns:

HTTP 400
Failed to perform RTMS app operation.

This response message matches Zoom’s documented error code 2310. Our current application logging retained the HTTP status and message but did not retain the numeric Zoom error code.

Expected result:

HTTP 204

The meeting.rtms_started webhook should then be generated.

Actual result:

  • The API returns HTTP 400.
  • No meeting.rtms_started webhook is received.
  • No RTMS WebSocket connection information is provided.
  • No RTMS audio session starts.

How To Reproduce

  1. Start a Zoom meeting with the OAuth-connected Zoom user as the meeting host.

  2. Zoom successfully sends the meeting.started webhook to the application.

  3. The backend sends the following request:

Request URL:

PATCH https://api.zoom.us/v2/live_meetings/{meetingId}/rtms_app/status

Headers:

Authorization: Bearer [REDACTED]
Content-Type: application/json

Request body:

{
  "action": "start",
  "settings": {
    "client_id": "pIeSmsLCSXCQM1sbWcgzhA"
  }
}

The participant_user_id field is omitted because Zoom’s API documentation states that it is optional and will be obtained automatically from the OAuth token.

  1. Authentication method and app type:
General App
User-level OAuth
Scope: meeting:update:participant_rtms_app_status
  1. Zoom returns:
HTTP 400
Failed to perform RTMS app operation.
  1. The expected meeting.rtms_started webhook is never generated.

This appears similar to the following reports:

@Smarthinking_Venture please try again

working now, Thank you