---
title: "Bulk Add/Delete Session Invitees"
method: PATCH
path: "/webinar/configuration/v1/webinars/{webinarId}/sessions/{sessionId}/invitees"
tags: ["Invitees"]
---

# Bulk Add/Delete Session Invitees

`PATCH /webinar/configuration/v1/webinars/{webinarId}/sessions/{sessionId}/invitees`

Adds, updates and deletes Webinar Session invitees in bulk (co-hosts and panelists in phase 1
and also invited attendees in subsequent phases).
The payload may contain multiple added, updated or deleted invitees.
For each added record 'role' and either 'firstName'/'lastName'/'email' (for non-authenticated users)
or 'linkedUser.*' (for authenticated users) must be specified, but not both.
For updated invitees 'id'  and 'role' must be specified, 'linkedUser' change is not supported.
For deleted invitees only there ids should be specified.
The response contains added/updated records (full) and deleted records (ids only).

Deleting an invitee for a Session in 'Active' or 'Finished' status is prohibited.

## Request body

- BulkUpdateInviteesRequest
  - `addedInvitees` AddInviteeRequest[]
    - `firstName` string — First (given) name
    - `lastName` string — Last (family) name
    - `email` string, email — User's contact email
    - `jobTitle` string — Job title
    - `linkedUser` RcwDomainUserModel
      - `userId` string, required — User ID
      - `accountId` string, required — Account ID
      - `domain` 'pbx' | 'ilm', required — Identity domain
    - `role` 'Panelist' | 'CoHost' | 'Host' | 'Attendee', required — The role of the webinar session participant/invitee. See also: [Understanding Webinar Roles](https://support.ringcentral.com/webinar/getting-started/understanding-ringcentral-webinar-roles.html)
    - `type` 'User' | 'Room' — The type of the webinar invitee
    - `sendInvite` boolean — Indicates if invite/cancellation emails have to be sent to this invitee. For "Host" it cannot be set to false. If it is true it can't be changed back to false.
  - `updatedInvitees` object[]
    - `id` string — Internal object ID
    - `firstName` string — First (given) name
    - `lastName` string — Last (family) name
    - `email` string, email — User's contact email
    - `jobTitle` string — Job title
    - `role` 'Panelist' | 'CoHost' | 'Host' | 'Attendee', required — The role of the webinar session participant/invitee. See also: [Understanding Webinar Roles](https://support.ringcentral.com/webinar/getting-started/understanding-ringcentral-webinar-roles.html)
    - `type` 'User' | 'Room' — The type of the webinar invitee
    - `sendInvite` boolean — Indicates if invite/cancellation emails have to be sent to this invitee. For "Host" it cannot be set to false. If it is true it can't be changed back to false.
  - `deletedInvitees` RcwResourceIdModel[]
    - `id` string — Internal object ID

## Response `200`

Successful response

- BulkUpdateInviteesResponse
  - `addedInvitees` InviteeResource[]
    - `id` string — Internal object ID
    - `creationTime` string, date-time, required — Object creation time
    - `lastModifiedTime` string, date-time, required — Object last modification time
    - `firstName` string — First (given) name
    - `lastName` string — Last (family) name
    - `email` string, email — User's contact email
    - `jobTitle` string — Job title
    - `linkedUser` RcwDomainUserModel
      - `userId` string, required — User ID
      - `accountId` string, required — Account ID
      - `domain` 'pbx' | 'ilm', required — Identity domain
    - `role` 'Panelist' | 'CoHost' | 'Host' | 'Attendee', required — The role of the webinar session participant/invitee. See also: [Understanding Webinar Roles](https://support.ringcentral.com/webinar/getting-started/understanding-ringcentral-webinar-roles.html)
    - `type` 'User' | 'Room' — The type of the webinar invitee
    - `sendInvite` boolean — Indicates if invite/cancellation emails have to be sent to this invitee. For "Host" it cannot be set to false. If it is true it can't be changed back to false.
    - `joinUri` string, uri — Personalized join link for the Invitee
    - `phoneParticipantCode` string — Phone (PSTN) participant code
  - `updatedInvitees` InviteeResource[]
    - `id` string — Internal object ID
    - `creationTime` string, date-time, required — Object creation time
    - `lastModifiedTime` string, date-time, required — Object last modification time
    - `firstName` string — First (given) name
    - `lastName` string — Last (family) name
    - `email` string, email — User's contact email
    - `jobTitle` string — Job title
    - `linkedUser` RcwDomainUserModel
      - `userId` string, required — User ID
      - `accountId` string, required — Account ID
      - `domain` 'pbx' | 'ilm', required — Identity domain
    - `role` 'Panelist' | 'CoHost' | 'Host' | 'Attendee', required — The role of the webinar session participant/invitee. See also: [Understanding Webinar Roles](https://support.ringcentral.com/webinar/getting-started/understanding-ringcentral-webinar-roles.html)
    - `type` 'User' | 'Room' — The type of the webinar invitee
    - `sendInvite` boolean — Indicates if invite/cancellation emails have to be sent to this invitee. For "Host" it cannot be set to false. If it is true it can't be changed back to false.
    - `joinUri` string, uri — Personalized join link for the Invitee
    - `phoneParticipantCode` string — Phone (PSTN) participant code
  - `deletedInvitees` RcwResourceIdModel[]
    - `id` string — Internal object ID

## Other responses

- `400` — General response with **HTTP 400 "Bad request"** status.<br> Reasons: unparsable request, path, query or body parameters are invalid. The error description may contain reference to particular parameter(s) which haven't passed the validation.
- `403` — General response with **HTTP 403 "Forbidden"** status.<br> Reasons: the requested operation is forbidden because of certain resource state, lack of permissions, feature unavailability, etc.
- `404` — General response with **HTTP 404 "Not found"** status.<br> Reasons: the entity with given ID (typically specified in a path parameter), is not found or inaccessible
- `409` — General response with **HTTP 409 "Conflict"** status.<br> Reasons: the requested modification operation causes a conflict (for example, unique constraint violation). The error definition may contain reference to particular parameter(s) which caused the conflict.
- `500` — General response with **HTTP 500 "Internal Server Error"** status.<br> Reasons: general server-side error.

---

[API](https://skmtc.dev/ringcentral/apis/ringcentral-api.md) · [All operations](https://skmtc.dev/ringcentral/apis/ringcentral-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ringcentral/ringcentral-api/revisions/8d602198ec97/schema)
