RingCentral Registrants API
External APIs for registrants management
External APIs for registrants management
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ringcentral-registrants-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
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:
RegQuestionBaseModel:
type: object
required:
- questionId
properties:
questionId:
type: string
description: ID of the custom question
example: '123456789'
RcwImmutableResourceIdModel:
type: object
properties:
id:
type: string
description: Internal object ID
minLength: 1
maxLength: 20
example: '78654321'
readOnly: true
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
- 'null'
description: Indicates if the registrant was registered to on-demand webinar
readOnly: true
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
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'
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
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.
'
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
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
RegAnswerModel:
anyOf:
- $ref: '#/components/schemas/FixedAnswerModel'
- $ref: '#/components/schemas/VariableAnswerModel'
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'
RcwEmailModel:
type: string
format: email
minLength: 1
maxLength: 256
example: john.doe@example.com
description: User's contact email
x-sensitive-data: normalized-anonymized
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)
RegistrantListResource:
type: object
required:
- records
- paging
properties:
records:
type: array
minItems: 0
items:
$ref: '#/components/schemas/RegistrantModelWithQuestionnaire'
paging:
$ref: '#/components/schemas/RcwPagingForwardModel'
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'
VariableAnswerModel:
allOf:
- $ref: '#/components/schemas/RegQuestionBaseModel'
- type: object
required:
- answerText
properties:
answerText:
type: string
x-sensitive-data: normalized-anonymized
description: Answer text
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
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
RegistrantModelWithQuestionnaire:
allOf:
- $ref: '#/components/schemas/RcwResourceBaseModel'
- $ref: '#/components/schemas/RegistrantBaseModelWithQuestionnaire'
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'
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'
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'
parameters:
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
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
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'
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
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