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.
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.
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.
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.
Reasons: general server-side error. ' content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponseModel' InvalidRequest: description: 'General response with **HTTP 400 "Bad request"** status.
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