RingCentral Registrants API
External APIs for registrants management
External APIs for registrants management
openapi: 3.0.3
info:
title: RingCentral Adaptive Cards Registrants API
description: RingCentral API specification
version: 1.0.58-20240529-47eda8bd
contact:
name: RingCentral Developers Support
url: https://developers.ringcentral.com/support
termsOfService: https://www.ringcentral.com/legal/apilitos.html
license:
name: RingCentral API License Agreement
url: https://www.ringcentral.com/legal/apilitos.html
servers:
- url: https://platform.ringcentral.com
description: Production API entry point
- url: https://media.ringcentral.com
description: Production Media entry point
- url: https://platform.devtest.ringcentral.com
description: Developer sandbox API entry point
- url: https://platform.devtest.ringcentral.com
description: Developer sandbox Media entry point
security:
- OAuth2: []
tags:
- name: Registrants
description: External APIs for registrants management
paths:
/webinar/registration/v1/sessions/{sessionId}/registrants:
get:
tags:
- Registrants
summary: List Session Registrants
description: 'Returns the list of Registrants ordered by "id" ascending.
A caller must be an authorized user: either a host of the webinar or an IT Admin:
a user from host''s account with "WebinarSettings" permission.
'
operationId: rcwRegListRegistrants
parameters:
- $ref: '#/components/parameters/RcwSessionId'
- $ref: '#/components/parameters/PerPage'
- $ref: '#/components/parameters/PageToken'
- $ref: '#/components/parameters/IncludeQuestionnaire'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrantListResource'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-throttling-group: Heavy
x-app-permission: ReadWebinars
post:
tags:
- Registrants
summary: Create Registrant
description: 'Creates a new Registrant for a given session.
Registration MUST be open for the session for this call to succeed (otherwise it should return HTTP 403).
A caller must be an authorized user: either a host of the webinar or an IT Admin:
a user from host''s account with "WebinarSettings" permission.
'
operationId: rcwRegCreateRegistrant
parameters:
- $ref: '#/components/parameters/RcwSessionId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrantBaseModelWithQuestionnaire'
responses:
'201':
description: Successful response, new Registrant is created
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrantModelResponsePostWithQuestionnaire'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalError'
x-throttling-group: Heavy
x-app-permission: EditWebinars
/webinar/registration/v1/sessions/{sessionId}/registrants/{registrantId}:
get:
tags:
- Registrants
summary: Get Registrant
description: 'Returns a Registrant by ID.
A caller must be an authorized user: either a host of the webinar or an IT Admin:
a user from host''s account with "WebinarSettings" permission.
'
operationId: rcwRegGetRegistrant
parameters:
- $ref: '#/components/parameters/RcwSessionId'
- $ref: '#/components/parameters/RegistrantId'
- $ref: '#/components/parameters/IncludeQuestionnaire'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrantModelWithQuestionnaire'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-throttling-group: Heavy
x-app-permission: ReadWebinars
delete:
tags:
- Registrants
summary: Delete Registrant
description: 'Deletes a Registrant by ID.
Session must not be in finished state (otherwise it should return HTTP 403).
A caller must be an authorized user: either a host of the webinar or an IT Admin:
a user from host''s account with "WebinarSettings" permission.
'
operationId: rcwRegDeleteRegistrant
parameters:
- $ref: '#/components/parameters/RcwSessionId'
- $ref: '#/components/parameters/RegistrantId'
responses:
'204':
description: The Registrant was successfully deleted
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-throttling-group: Heavy
x-app-permission: EditWebinars
components:
schemas:
ApiErrorWithParameter:
description: 'The error model with additional attributes which can be used for HTTP 400/409
This is a deprecated model: "ApiError" model can be used instead with arbitrary additional parameters
'
allOf:
- $ref: '#/components/schemas/ApiError'
- type: object
properties:
parameterName:
type: string
description: The name of the API parameter/attribute which caused the error
parameterValue:
type: string
description: The value of the API parameter/attribute which caused the error
RegQuestionBaseModel:
type: object
required:
- questionId
properties:
questionId:
type: string
description: ID of the custom question
example: '123456789'
ApiError:
type: object
description: Generalized API error structure suitable for any error type
required:
- errorCode
- message
properties:
errorCode:
type: string
description: Logical error code (typically, 3 letters followed with number, dash separated)
example: XXX-123
message:
type: string
description: User-friendly error message
example: Something went wrong
additionalProperties: true
VariableAnswerModel:
allOf:
- $ref: '#/components/schemas/RegQuestionBaseModel'
- type: object
required:
- answerText
properties:
answerText:
type: string
x-sensitive-data: normalized-anonymized
description: Answer text
RegistrantListResource:
type: object
required:
- records
- paging
properties:
records:
type: array
minItems: 0
items:
$ref: '#/components/schemas/RegistrantModelWithQuestionnaire'
paging:
$ref: '#/components/schemas/RcwPagingForwardModel'
RcwEmailModel:
type: string
format: email
minLength: 1
maxLength: 256
example: john.doe@example.com
description: User's contact email
x-sensitive-data: normalized-anonymized
ApiErrorResponseModel:
type: object
description: Standard error response model which is returned in case of any unsuccessful operation
required:
- errors
properties:
errors:
type: array
description: The array of errors (there will be just one in the most of the cases)
minItems: 1
items:
$ref: '#/components/schemas/ApiError'
RegistrantModelWithQuestionnaire:
allOf:
- $ref: '#/components/schemas/RcwResourceBaseModel'
- $ref: '#/components/schemas/RegistrantBaseModelWithQuestionnaire'
RcwResourceBaseModel:
allOf:
- $ref: '#/components/schemas/RcwImmutableResourceIdModel'
- type: object
required:
- creationTime
- lastModifiedTime
properties:
creationTime:
type: string
description: Object creation time
format: date-time
readOnly: true
lastModifiedTime:
type: string
description: Object last modification time
format: date-time
readOnly: true
RcwPagingForwardModel:
type: object
required:
- pageToken
- perPage
properties:
perPage:
type: integer
format: int32
minimum: 1
maximum: 1000
description: Number of items per page
example: 100
pageToken:
type: string
description: Current page token
nextPageToken:
type: string
description: Next page token (absent for the last page of the result set)
previousPageToken:
type: string
description: 'Previous page token (absent for the first page of the result set)
May be omitted if the result set does not support backward navigation.
'
RcwImmutableResourceIdModel:
type: object
properties:
id:
type: string
description: Internal object ID
minLength: 1
maxLength: 20
example: '78654321'
readOnly: true
ParameterizedErrorResponseModel:
type: object
description: Standard error response which may include parameterized errors
required:
- errors
properties:
errors:
type: array
description: The array of errors (there will be just one in the most of the cases)
minItems: 1
items:
$ref: '#/components/schemas/ApiErrorWithParameter'
RegAnswerModel:
anyOf:
- $ref: '#/components/schemas/FixedAnswerModel'
- $ref: '#/components/schemas/VariableAnswerModel'
RegistrantModelResponsePostWithQuestionnaire:
allOf:
- $ref: '#/components/schemas/RegistrantModelWithQuestionnaire'
- type: object
properties:
icalendarSequence:
type: integer
format: int32
minimum: 0
readOnly: true
description: Sequence number for iCalendar email attachments
RegistrantBaseModelWithQuestionnaire:
allOf:
- $ref: '#/components/schemas/RegistrantBaseModel'
- type: object
properties:
questionnaire:
type: array
description: Answers on custom registration questions
minItems: 0
items:
$ref: '#/components/schemas/RegAnswerModel'
RcwBaseContactModel:
type: object
properties:
firstName:
type: string
description: First (given) name
maxLength: 64
example: John
x-sensitive-data: masked
lastName:
type: string
description: Last (family) name
maxLength: 64
example: Doe
x-sensitive-data: masked
RegistrantMinimalModel:
allOf:
- $ref: '#/components/schemas/RcwBaseContactModel'
- type: object
required:
- firstName
- lastName
- email
properties:
email:
$ref: '#/components/schemas/RcwEmailModel'
joinUri:
type: string
format: uri
readOnly: true
maxLength: 256
minLength: 5
description: The personalized URI for this registrant to join the Webinar
example: https://v.ringcentral.com/w/a/join/iuyef77fsj473wn10ashjfk34
cancellationUri:
type: string
format: uri
readOnly: true
maxLength: 256
minLength: 5
description: The personalized URI for this registrant to cancel the registration
example: https://abcde12345.webinar.ringcentral.com/register?jlt=iuyef77fsj473wn10ashjfk34&action=cancel
registeredPostWebinar:
type: boolean
description: Indicates if the registrant was registered to on-demand webinar
readOnly: true
nullable: true
FixedAnswerModel:
allOf:
- $ref: '#/components/schemas/RegQuestionBaseModel'
- type: object
required:
- answerIds
properties:
answerIds:
type: array
description: The list of answer IDs
minItems: 1
items:
type: string
RegistrantBaseModel:
allOf:
- $ref: '#/components/schemas/RegistrantMinimalModel'
- type: object
properties:
visitorId:
type: string
description: Visitor ID passed from registration page
externalId:
type: string
description: ID of a registrant passed from external system
registrationTime:
type: string
description: Registration time (can be earlier than "creationTime" due to indirect persistence)
format: date-time
readOnly: true
ipAddress:
type: string
x-sensitive-data: normalized-anonymized
format: ipv4
description: IP address of the registrant's user agent
source:
type: string
description: Registration channel source (coming from registration URI)
participantId:
type: string
description: ID of session participant (from Runtime Service - if this registrant attended the webinar)
parameters:
PerPage:
name: perPage
in: query
description: 'The number of items per page. If provided value in the request
is greater than a maximum, the maximum value is applied
'
required: false
explode: false
schema:
type: integer
format: int32
minimum: 1
maximum: 1000
default: 100
example: 100
RegistrantId:
name: registrantId
in: path
description: Identifier of the Session Registrant
required: true
style: simple
explode: false
schema:
type: string
minLength: 1
maxLength: 20
example: '77777777'
IncludeQuestionnaire:
name: includeQuestionnaire
in: query
description: Indicates if registrant's "questionnaire" should be returned
required: false
explode: false
schema:
type: boolean
default: false
RcwSessionId:
name: sessionId
in: path
description: Identifier of the Session.
required: true
style: simple
explode: false
schema:
type: string
minLength: 1
maxLength: 20
example: '353535353'
PageToken:
name: pageToken
in: query
description: 'The token indicating the particular page of the result set to be retrieved.
If omitted the first page will be returned.
'
required: false
explode: false
schema:
type: string
responses:
NotFound:
description: '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
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponseModel'
Forbidden:
description: '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.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponseModel'
Conflict:
description: '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.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ParameterizedErrorResponseModel'
InternalError:
description: 'General response with **HTTP 500 "Internal Server Error"** status.<br>
Reasons: general server-side error.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponseModel'
InvalidRequest:
description: '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.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ParameterizedErrorResponseModel'
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://platform.ringcentral.com/restapi/oauth/authorize
tokenUrl: https://platform.ringcentral.com/restapi/oauth/token
refreshUrl: https://platform.ringcentral.com/restapi/oauth/token
scopes: {}
x-tagGroups:
- name: Voice
popular: true
tags:
- Business Hours
- Call Blocking
- Call Control
- Call Forwarding
- Call Handling Rules
- Interaction Rules
- State-based Rules
- Call Flip
- Call Log
- Call History
- Call Log Export
- Call Monitoring Groups
- Call Queues
- Call Recordings
- Call Recording Settings
- Device SIP Registration
- Greetings
- IVR
- RingOut
- Verification Calls
- name: SMS and Fax
popular: true
tags:
- Fax
- Message Exports
- Message Store
- Pager Messages
- SMS
- High Volume SMS
- SMS Log Export
- SMS Templates
- Voicemail Broadcasting
- name: Social Messaging
popular: true
tags:
- Identities
- Contents
- name: Team Messaging
popular: true
tags:
- Adaptive Cards
- Bots
- Calendar Events
- Chats
- Conversations
- Compliance Exports
- Contacts
- Incoming Webhooks
- Notes
- Posts
- Profile
- Tasks
- Teams
- name: Video
popular: true
tags:
- Bridge Management
- Delegation Management
- Meetings History
- Meeting Recordings
- RCM Meetings (Legacy)
- RCM Webinars (Legacy)
- name: Webinar
popular: true
tags:
- Webinars and Sessions
- Invitees
- Historical Webinars
- Historical Recordings
- Registration Management
- Registrants
- Webinar Analytics
- Webinar Subscriptions
- name: Analytics
popular: true
tags:
- Business Analytics
- name: Artificial Intelligence
popular: true
tags:
- Insights
- Audio
- Text
- Status
- name: Authentication
tags:
- OAuth 2.0 / OpenID Connect
- Interoperability
- name: Account
tags:
- Company
- Custom Fields
- Features
- Licenses
- Tax Locations
- Cost Centers
- Multi-Site
- Phone Numbers
- Presence
- Regional Settings
- User Permissions
- User Settings
- Audit Trail
- Calling Rates
- Appearance Customization
- Account Integrations
- name: Provisioning
tags:
- Automatic Location Updates
- Devices
- Extensions
- Paging Only Groups
- Park Locations
- Phone Lines
- SCIM
- Shared Lines
- Group Call Pickup
- Delegated Lines Groups
- Directed Call Pickup
- IVR Apps
- Video Configuration
- Number Porting
- SMB
- Account Federation
- Integrations
- Enterprise Portal API
- Push to Talk Provisioning
- BYOC
- name: Address Book
tags:
- External Contacts
- Internal Contacts
- Hybrid Directory Contacts
- Overlay Contacts
- External Shared Directory
- name: Roles and Permissions
tags:
- Permissions
- Role Management
- Site Administration
- User Groups
- name: Events & Notifications
tags:
- Subscriptions
- name: User Integrations
tags:
- Token Management
- Calendar Management
- Calendar Event Management
- Calendar Presence Link
- Cloud Personal Contacts
- Cloud Shared Contacts
- Cloud Directory
- Deprecated Calendar API
- name: Rooms
tags:
- Rooms Client API
- Rooms Management API
- name: App Management
tags:
- App Gallery
- App Rating Review
- Bot Provisioning
- name: Workflow Builder
tags:
- Flows
- Flow Editor
- Flow Log
- Flow Templates
- name: Utilities
tags:
- API Info
- Application Settings
- Async Tasks
- User Notifications
- Client Versions
- End-to-End Encryption