# Registrant\_id Missing in participant\_role\_changed Webhook Payload

**URL:** <https://devforum.zoom.us/t/registrant-id-missing-in-participant-role-changed-webhook-payload/125559>\
**Category:** API and Webhooks\
**Tags:** webhooks\
**Created:** [January 29, 2025, 9:59pm UTC](https://devforum.zoom.us/t/registrant-id-missing-in-participant-role-changed-webhook-payload/125559 "2025-01-29T21:59:26Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jhp0621](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jhp0621/32/66371_2.png) [@jhp0621](https://devforum.zoom.us/u/jhp0621)\
**Post date:** [January 29, 2025, 9:59pm UTC](https://devforum.zoom.us/t/registrant-id-missing-in-participant-role-changed-webhook-payload/125559/1 "2025-01-29T21:59:26Z")

</div>

According to the [Zoom API documentation](https://developers.zoom.us/docs/api/meetings/events/#tag/meeting/POSTmeeting.participant_role_changed), the `meeting.participant_role_changed` webhook event **should** include a `registrant_id` field in the `participant` object. However, in our testing, the `registrant_id` is missing from the webhook payload, even though it is present in other participant-related webhooks (e.g., `participant_joined` and `participant_left`).

This creates an issue because `registrant_id` is the **only stable identifier** we can use to track participants across different Zoom webhook events. Other identifiers such as `participant_uuid` and `user_id` change if a user leaves and rejoins the meeting, making it difficult to maintain consistent tracking.

**Observed Behavior:**  
Webhook event payload received for `participant_role_changed` **(Missing `registrant_id`)**:

```auto
{
  "applicationId": "ZWViTKlzTjyLtBnYMTjVnA",
  "monitorTime": 1738182229934,
  "traceId": "EventService_b4bbd938-c82f-4d84-a864-e8faa73cb60b",
  "accountId": "vExNbhTISm6eoGh0BK6Wqg",
  "event": "meeting.participant_role_changed",
  "status": "200",
  "userId": "BXE0adSxQRqGSP5fg1rkcA",
  "url": "https://veritext4.a.pinggy.link/api/webhook/participantRoleChanged",
  "subscriptionId": "5Wt4hoS1RBydKao3e_mJgA",
  "requestBody": {
    "event": "meeting.participant_role_changed",
    "payload": {
      "account_id": "vExNbhTISm6eoGh0BK6Wqg",
      "object": {
        "uuid": "gsqg0HKxTQ2TxSVAxE9+0w==",
        "participant": {
          "new_role": "host",
          "date_time": "2025-01-29T20:23:00Z",
          "user_id": "16790528",
          "user_name": "Ji Park",
          "old_role": "attendee",
          "participant_user_id": "",
          "email": "jhp0621@gmail.com",
          "participant_uuid": "67C1A429-1476-BE1C-7324-EDCA76B69406"
        },
        "id": "84712639219",
        "type": 2,
        "topic": "My Meeting",
        "host_id": "BXE0adSxQRqGSP5fg1rkcA",
        "duration": 60,
        "start_time": "2025-01-29T19:37:35Z",
        "timezone": "America/Los_Angeles"
      }
    },
    "event_ts": 1738182229511
  },
  "responseHeaders": {
    "Date": "Wed, 29 Jan 2025 20:23:50 GMT",
    "Content-Type": "application/json"
  },
  "runTime": "188",
  "ttl": 1739391830
}

```

**Expected Behavior:**  
The `participant` object should include a `registrant_id` field, as documented.

For reference, here is a **`participant_joined`** webhook payload, where `registrant_id` is **present** :

```auto
{
  "applicationId": "ZWViTKlzTjyLtBnYMTjVnA",
  "monitorTime": 1738182058931,
  "traceId": "EventService_fd3f58c8-0055-455a-aece-dcff8c9eaea2",
  "accountId": "vExNbhTISm6eoGh0BK6Wqg",
  "event": "meeting.participant_joined",
  "status": "200",
  "userId": "BXE0adSxQRqGSP5fg1rkcA",
  "url": "https://veritext4.a.pinggy.link/api/webhook/participantJoined",
  "subscriptionId": "I1thL9k_R9ujYZ1wTXasUA",
  "requestBody": {
    "payload": {
      "account_id": "vExNbhTISm6eoGh0BK6Wqg",
      "object": {
        "uuid": "gsqg0HKxTQ2TxSVAxE9+0w==",
        "participant": {
          "public_ip": "156.45.39.127",
          "user_id": "16790528",
          "user_name": "Ji Park", 
          "registrant_id": "knAbXX5uTci97I83X3ARfg",
          "participant_user_id": "",
          "id": "",
          "join_time": "2025-01-29T20:20:56Z",
          "email": "jhp0621@gmail.com",
          "participant_uuid": "67C1A429-1476-BE1C-7324-EDCA76B69406"
        },
        "id": "84712639219",
        "type": 2,
        "topic": "My Meeting",
        "host_id": "BXE0adSxQRqGSP5fg1rkcA",
        "duration": 60,
        "start_time": "2025-01-29T19:37:35Z",
        "timezone": "America/Los_Angeles"
      }
    },
    "event_ts": 1738182057535,
    "event": "meeting.participant_joined"
  },
  "responseHeaders": {
    "Date": "Wed, 29 Jan 2025 20:21:00 GMT",
    "Content-Type": "application/json"
  },
  "runTime": "1589",
  "ttl": 1739391660
}

```

(The participant’s name & email have been altered for privacy.)

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [February 3, 2025, 8:57pm UTC](https://devforum.zoom.us/t/registrant-id-missing-in-participant-role-changed-webhook-payload/125559/2 "2025-02-03T20:57:53Z")

</div>

Hi @jhp0621  
Thanks for reaching out to us  
I will send you a DM to follow up on this issue

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [February 7, 2026, 12:34pm UTC](https://devforum.zoom.us/t/registrant-id-missing-in-participant-role-changed-webhook-payload/125559/3 "2026-02-07T12:34:05Z")

</div>

Closed on February 7, 2026, 12:34pm UTC

This topic was automatically closed 368 days after the last reply. New replies are no longer allowed.
