# Error with Batch Registrants - Empty Array

**URL:** <https://devforum.zoom.us/t/error-with-batch-registrants-empty-array/108711>\
**Category:** Meetings\
**Tags:** api\
**Created:** [April 26, 2024, 9:01am UTC](https://devforum.zoom.us/t/error-with-batch-registrants-empty-array/108711 "2024-04-26T09:01:18Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sshah.seasi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/sshah.seasi/32/49481_2.png) [@sshah.seasi](https://devforum.zoom.us/u/sshah.seasi)\
**Post date:** [April 26, 2024, 9:01am UTC](https://devforum.zoom.us/t/error-with-batch-registrants-empty-array/108711/1 "2024-04-26T09:01:18Z")

</div>

* * *

### Batch Registrants api sends an empty array as a response

**POST Request**  
_`/meetings/{meetingId}/batch_registrants`_

**Description**  
We have a business plus plan with Zoom. I’m sending a POST Request to Zoom via the endpoint mentioned above. The request is being sent and a response is also being received with Status Code 201. However, the expected response should be an array named registrants with values like join\_url, registrant\_id, etc. Instead, I just receive an empty array registrants `[]`. Why is this happening? I need the registrant\_id to update the zoomId value for my User database. Below is the code:

```auto
const registration = await request.fetch(`https://api.zoom.us/v2/meetings/${meetingId}/batch_registrants`, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'Authorization': 'Bearer ' + zoomAuth.body.access_token
            },
            body: JSON.stringify({
                auto_approve: true,
                registrants_confirmation_email: true,
                registrants: [
                	{email: alex.wilson@maildrop.cc, first_name: 'Alex', last_name: 'Wilson'},
                    {email: charles.jones@maildrop.cc, first_name: 'Charles', last_name: 'Jones'},
                    {email: amy.watson@maildrop.cc, first_name: 'Amy', last_name: 'Watson'}
                ]
            })
        })

        console.log('ZOOM REGISTRATION RESPONSE', registration)

```

**Expectation?**  
Response is

```auto
[ 
  "registrants": [ 
    { "join_url": link1, "registrant_id": 23443 }, 
    { "join_url": link2, "registrant_id": 23444 }, 
    { "join_url": link3, "registrant_id": 23445 } 
  ] 
]

```

**Problem?**  
Response is

```auto
[ 
  "registrants": [] 
]

```

---

<div class="post-metadata">

**Author:** ![mees](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/mees/32/49791_2.png) [@mees](https://devforum.zoom.us/u/mees)\
**Post date:** [November 7, 2024, 5:25pm UTC](https://devforum.zoom.us/t/error-with-batch-registrants-empty-array/108711/2 "2024-11-07T17:25:03Z")

</div>

We’re having the same issue. The bulk endpoint only returns an empty registrants array. In the dashboard the also no registrants for the meeting are visible.

When we call the /bulk\_registrants endpoint more than three times we don get the:

{“code”:429,“message”:“You have exceeded the daily rate limit of (3) for meeting Perform batch registration API requests for the registrant (_[example@email.com](mailto:example@email.com)_). You can resume these API requests at GMT 00:00:00.”}

When listing all registrants for the meeting _[example@email.com](mailto:example@email.com)_ is also not in the response (just empty array). Could a Zoom dev elaborate on what goes wrong here?

@sshah.seasi how did you resolve the issue? Or what work around did you apply?

---

<div class="post-metadata">

**Author:** ![mees](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/mees/32/49791_2.png) [@mees](https://devforum.zoom.us/u/mees)\
**Post date:** [November 21, 2024, 2:00pm UTC](https://devforum.zoom.us/t/error-with-batch-registrants-empty-array/108711/3 "2024-11-21T14:00:50Z")

</div>

We’re currently adding them 1 by 1 via the non-bulk endpoint (POST /meetings/_{meetingId}_ /recordings/registrants ). As we seem not be able to get the bulk endpoint working in a way we expect, hence always giving back an empty array, no errors and no registrants added.

Not ideal in anyway, but works for now and keeps the train running. If anyone has more insights or does get it working, I’m really curious.

---

<div class="post-metadata">

**Author:** ![Abdelmonem](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/abdelmonem/32/72408_2.png) [@Abdelmonem](https://devforum.zoom.us/u/Abdelmonem)\
**Post date:** [January 20, 2026, 7:53pm UTC](https://devforum.zoom.us/t/error-with-batch-registrants-empty-array/108711/4 "2026-01-20T19:53:13Z")

</div>

**Possible cause & working example**

If `/meetings/{meetingId}/batch_registrants` returns `201` with:

```php
{ "registrants": [] }

```

and no error, this is usually **not a rate-limit issue**.  
It’s almost always caused by **incompatible meeting settings** or an **invalid payload**.

**Working meeting settings (example):**

```php
'settings' => [
    'approval_type' => 0, // required
    'registration_type' => 2, // required for batch registrants
    'auto_recording' => 'cloud',
    'email_notification' => false,
    'registrants_confirmation_email' => false,
    'registrants_email_notification' => false,
];

```

**Important:**  
Do **NOT** enable:

```php
'meeting_authentication' => true

```

This flag causes a **silent failure** with batch registrants:

- Status 201

- Empty `registrants` array

- No registrants added in the Zoom dashboard

If settings are correct and the response is still empty, double-check the payload:

- `email`, `first_name`, `last_name` are present and valid

- No duplicate emails

- Daily batch registration limit not exceeded

```php
{
  "auto_approve": true,
  "registrants": [
    { "email": "alex@example.com", "fname": "Alex", "lname": "Wilson" },
    { "email": "charles@example.com", "fname": "Charles", "lname": "Jones" },
    { "email": "amy@example.com", "fname": "Amy", "lname": "Watson" }
  ]

```
