openapi: 3.0.3
info:
title: RingCentral Adaptive Cards User Settings 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: User Settings
paths:
/restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image/{scaleSize}:
get:
tags:
- User Settings
summary: Get Scaled Profile Image
description: 'Returns the scaled profile image of an extension.
**This API must be called via media API entry point, e.g. https://media.ringcentral.com**
'
operationId: readScaledProfileImage
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
- $ref: '#/components/parameters/ProfileImageScale'
- $ref: '#/components/parameters/ContentDisposition'
- $ref: '#/components/parameters/ContentDispositionFilename'
responses:
'200':
description: Successful response
content:
image/*:
schema:
type: string
format: binary
x-media-api: true
x-availability: High
x-throttling-group: Medium
x-app-permission: ReadAccounts
/restapi/v2/accounts/{accountId}/batch-provisioning/users:
post:
tags:
- User Settings
summary: Create Multiple User Extensions
description: 'Creates multiple user extensions with BYOD (customer provided) devices.
If "extensionNumber" is not specified, the next available extension number will be assigned.
'
operationId: postBatchProvisionUsers
parameters:
- $ref: '#/components/parameters/AccountId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchProvisionUsersRequest'
required: true
responses:
'200':
description: Successful response (partial success is possible)
content:
application/json:
schema:
$ref: '#/components/schemas/BatchProvisionUsersResponse'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-throttling-group: Heavy
x-app-permission: EditAccounts
/restapi/v2/accounts/{accountId}/extensions:
delete:
tags:
- User Settings
summary: Delete User Extensions
description: 'Deletes user extension(s) and either keeps or destroys the assets - numbers and devices.
Multiple extensions can be deleted with a single API call.
**Please note:** This API cannot be tested on Sandbox.
'
operationId: bulkDeleteUsersV2
parameters:
- $ref: '#/components/parameters/AccountId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDeleteUsersRequest'
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDeleteUsersResponse'
'400':
$ref: '#/components/responses/InvalidRequest'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceNotAvailable'
x-feature: EditUsers
x-availability: Limited
x-throttling-group: Heavy
x-app-permission: EditAccounts
x-user-permission: Users
/restapi/v1.0/account/{accountId}/extension/{extensionId}:
get:
tags:
- User Settings
summary: Get Extension
description: 'Returns basic information about a particular extension of an account.
'
operationId: readExtension
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
responses:
'200':
description: Extension information
content:
application/json:
schema:
$ref: '#/components/schemas/GetExtensionInfoResponse'
x-feature: ReadExtensions
x-availability: High
x-throttling-group: Light
x-app-permission: ReadAccounts
x-user-permission: ReadExtensions
x-notifications:
- $ref: '#/components/schemas/ExtensionInfoEvent'
put:
tags:
- User Settings
summary: Update Extension
description: Updates the user settings.
operationId: updateExtension
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionUpdateRequest'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetExtensionInfoResponse'
x-feature: EditExtensionInfo OR EditCredentials
x-availability: Limited
x-throttling-group: Medium
x-app-permission: EditExtensions
x-user-permission: EditUserInfo OR EditUserCredentials
delete:
tags:
- User Settings
summary: Delete Extension
operationId: deleteExtension
description: "Deletes extension(s) by ID(s). When an extension is being deleted\nthe default API behavior is as follows:\n\n- user's direct numbers are preserved by becoming additional company numbers;\n- user's digital lines (both device & associated phone number) are deleted.\n\nYou can change this behavior using the filters:\n\n- create unassigned extensions for each digital line of the deleted extension by\n setting the query parameter `savePhoneLines` to `true` in request path;\n- remove direct numbers of the deleted extension by setting the `savePhoneNumbers`\n query parameter to `false` in request path\n\n**Note!** Since this API is now deprecated, please use the following API method `DELETE /restapi/v2/accounts/{accountId}/extensions` for users deletion.\n"
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
- name: savePhoneLines
in: query
schema:
type: boolean
default: false
- name: savePhoneNumbers
in: query
schema:
type: boolean
default: true
responses:
'204':
description: No Content
deprecated: true
x-feature: EditUsers
x-availability: Limited
x-throttling-group: Medium
x-app-permission: EditAccounts
x-user-permission: AddRemoveUsers
/restapi/v1.0/account/{accountId}/extension/{extensionId}/grant:
get:
tags:
- User Settings
summary: List Extension Grants
description: 'Returns the list of extensions with information on grants
given to the current extension regarding them. Currently the list of grants
include: picking up a call, monitoring, calling or receiving a call on behalf
of somebody, call delegation and calling paging groups.
'
operationId: listExtensionGrants
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
- name: extensionType
in: query
description: 'Type of extension to be returned. Multiple values are supported.
Please note that legacy ''Department'' extension type corresponds
to ''Call Queue'' extensions in modern RingCentral product terminology
'
schema:
type: string
enum:
- User
- FaxUser
- VirtualUser
- DigitalUser
- Department
- Announcement
- Voicemail
- SharedLinesGroup
- PagingOnly
- IvrMenu
- ApplicationExtension
- ParkLocation
- Limited
- Bot
- Room
- DelegatedLinesGroup
- name: page
in: query
description: 'Indicates a page number to retrieve. Only positive number values
are allowed
'
schema:
type: integer
format: int32
default: 1
- name: perPage
in: query
description: Indicates a page size (number of items)
schema:
type: integer
format: int32
default: 100
responses:
'200':
description: List of extension grants
content:
application/json:
schema:
$ref: '#/components/schemas/GetExtensionGrantListResponse'
x-feature: ReadExtensions
x-availability: High
x-throttling-group: Light
x-app-permission: ReadAccounts
x-user-permission: ReadExtensions
x-notifications:
- $ref: '#/components/schemas/ExtensionGrantListEvent'
/restapi/v1.0/account/{accountId}/extension/{extensionId}/conferencing:
get:
tags:
- User Settings
summary: Get User Conferencing Settings
description: 'Returns information on Free Conference Calling (FCC) feature
for a given extension.
'
operationId: readConferencingSettings
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
- name: countryId
in: query
description: 'Internal identifier of a country. If not specified, the response
is returned for the brand country
'
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetConferencingInfoResponse'
x-feature: Conferencing
x-availability: High
x-throttling-group: Light
x-app-permission: ReadAccounts
x-user-permission: OrganizeConference
put:
tags:
- User Settings
summary: Update User Conferencing Settings
description: 'Updates the default conferencing number for the current extension.
The number can be selected from conferencing numbers of the current extension.
Updates the setting, allowing participants join the conference before host.
'
operationId: updateConferencingSettings
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConferencingInfoRequest'
required: true
responses:
'200':
description: Updated user conferencing settings
content:
application/json:
schema:
$ref: '#/components/schemas/GetConferencingInfoResponse'
x-feature: Conferencing
x-availability: Limited
x-throttling-group: Medium
x-user-permission: OrganizeConference
x-app-permission: EditExtensions
/restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image:
get:
tags:
- User Settings
summary: Get User Profile Image
description: 'Returns a profile image of an extension.
'
operationId: readUserProfileImageLegacy
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
responses:
'200':
description: User Profile Image (Media Data)
content:
image/png:
schema:
type: string
format: binary
image/jpeg:
schema:
type: string
format: binary
image/gif:
schema:
type: string
format: binary
'304':
description: Not Modified
x-feature: ReadExtensions
x-availability: High
x-throttling-group: Medium
x-app-permission: ReadAccounts
x-user-permission: ReadExtensions
put:
tags:
- User Settings
summary: Update User Profile Image
description: 'Updates the extension profile image.
'
operationId: updateUserProfileImage
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
image:
type: string
format: binary
required: true
responses:
'204':
description: No Content
x-feature: EditExtensionInfo
x-request-max-body-size: 10m
x-availability: High
x-throttling-group: Heavy
x-app-permission: EditExtensions
x-user-permission: EditUserInfo
post:
tags:
- User Settings
summary: Upload User Profile Image
description: 'Uploads the extension profile image.
'
operationId: createUserProfileImage
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
requestBody:
content:
multipart/form-data:
schema:
type: object
required:
- image
properties:
image:
type: string
format: binary
required: true
responses:
'204':
description: No Content
x-feature: EditExtensionInfo
x-request-max-body-size: 10m
x-availability: High
x-throttling-group: Heavy
x-app-permission: EditExtensions
x-user-permission: EditUserInfo
delete:
tags:
- User Settings
summary: Delete User Profile Image
description: 'Deletes the user profile image.
'
operationId: deleteUserProfileImage
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
responses:
'204':
description: No Content
x-feature: EditExtensionInfo
x-availability: High
x-throttling-group: Medium
x-app-permission: EditExtensions
x-user-permission: EditUserInfo
/restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id:
get:
tags:
- User Settings
summary: Get Extension Caller ID
description: 'Returns information on an outbound caller ID of an extension.
'
operationId: readExtensionCallerId
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
responses:
'200':
description: Caller ID information
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionCallerIdInfo'
x-feature: ReadOutboundCallerId
x-availability: High
x-throttling-group: Light
x-app-permission: ReadAccounts
x-user-permission: ReadCallerIDSettings
put:
tags:
- User Settings
summary: Update Extension Caller ID
description: 'Updates outbound caller ID information of an extension.
'
operationId: updateExtensionCallerId
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
requestBody:
description: JSON body
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionCallerIdInfoRequest'
required: true
responses:
'200':
description: Updated caller ID information
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionCallerIdInfo'
x-availability: Limited
x-throttling-group: Medium
x-app-permission: EditExtensions
x-user-permission: EditCallerIDSettings
/restapi/v1.0/account/{accountId}/extension/{extensionId}/notification-settings:
get:
tags:
- User Settings
summary: Get Notification Settings
description: 'Returns notification settings for the current extension.
Knowledge Article: [User Settings - Set Up Message Notifications](https://success.ringcentral.com/articles/RC_Knowledge_Article/9740)
'
operationId: readNotificationSettings
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
responses:
'200':
description: Notification settings
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSettings'
x-feature: ReadMessageAndNotificationSettings
x-availability: High
x-throttling-group: Light
x-app-permission: ReadAccounts
x-user-permission: ReadMessagesNotificationsSettings
put:
tags:
- User Settings
summary: Update Notification Settings
description: 'Updates notification settings for the current extension.
Knowledge Article: [User Settings - Set Up Message Notifications](https://success.ringcentral.com/articles/RC_Knowledge_Article/9740)
'
operationId: updateNotificationSettings
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSettingsUpdateRequest'
required: true
responses:
'200':
description: Updated notification settings
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSettings'
x-availability: Limited
x-throttling-group: Medium
x-app-permission: EditExtensions
x-user-permission: EditMessagesNotificationsSettings
components:
schemas:
ExtensionInfoGrants:
type: object
properties:
id:
type: string
description: Internal identifier of an extension
uri:
type: string
format: uri
description: Canonical URI of an extension
extensionNumber:
type: string
description: Extension short number (usually 3 or 4 digits)
name:
type: string
description: Name of extension
type:
type: string
description: 'Extension type. Please note that legacy ''Department''
extension type corresponds to ''Call Queue'' extensions in modern RingCentral
product terminology
'
enum:
- User
- Fax User
- VirtualUser
- DigitalUser
- Department
- Announcement
- Voicemail
- SharedLinesGroup
- PagingOnly
- IvrMenu
- ApplicationExtension
- ParkLocation
- DelegatedLinesGroup
description: Extension information
CustomFieldInfo:
type: object
properties:
id:
type: string
description: Internal identifier of a custom field
value:
type: string
description: Custom field value
displayName:
type: string
DepartmentInfo:
type: object
description: 'Please note that the `Department` extension type corresponds to
''Call Queue'' extensions in modern RingCentral product terminology
'
properties:
id:
type: string
format: uri
description: Internal identifier of a department extension
uri:
type: string
format: uri
description: Canonical URI of an extension resource
extensionNumber:
type: string
description: Short number of a department extension
ConferencePhoneNumberInfo:
type: object
properties:
phoneNumber:
type: string
description: Dial-in phone number to connect to a conference
default:
type: boolean
description: 'The value should be `true` if the number is default for the conference. Default
conference number is a domestic number that can be set by user (otherwise
it is set by the system). Only one default number per country is allowed
'
ExtensionGrantListEvent:
type: object
properties:
uuid:
type: string
description: Universally unique identifier of a notification
event:
type: string
description: Event filter URI
timestamp:
type: string
description: 'Date/time of sending a notification in
[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
format including timezone, for example *2016-03-10T18:07:52.534Z*
'
subscriptionId:
type: string
description: Internal identifier of a subscription
body:
$ref: '#/components/schemas/ExtensionGrantListEventBody'
BatchProvisionUsersRequestItem:
description: Describes request for user extension provisioning
type: object
required:
- status
- contact
properties:
extensionNumber:
$ref: '#/components/schemas/ExtensionNumber'
status:
description: Extension status. Only "Enabled" can be specified
type: string
enum:
- Enabled
default: Enabled
contact:
description: User's contact information
required:
- firstName
- lastName
- email
allOf:
- $ref: '#/components/schemas/BasicContactInfo'
- type: object
properties:
mobileNumber:
$ref: '#/components/schemas/PhoneNumberE164'
emailAsLoginName:
description: 'Indicates that contact email is enabled as login name for this user.
Please note that email must be unique in this case.
'
type: boolean
default: true
costCenter:
type: object
required:
- id
properties:
id:
type: string
description: Internal identifier of the Cost Center
example: '224149'
roles:
type: array
maxItems: 1
items:
type: object
required:
- id
properties:
id:
type: string
description: Internal identifier of a role to be assigned
example: '1'
devices:
type: array
maxItems: 1
items:
type: object
required:
- deviceInfo
properties:
deviceInfo:
$ref: '#/components/schemas/DeviceDefinition'
sendWelcomeEmail:
type: boolean
description: 'Specifies if a welcome/activation email is sent to the new users (within extension status changing from
''Unassigned'' to ''NotActivated/Disabled'')
'
default: true
EmailRecipientInfo:
type: object
properties:
extensionId:
type: string
description: Internal identifier of an extension
fullName:
type: string
description: User full name
extensionNumber:
type: string
description: User extension number
status:
type: string
description: Current state of an extension
enum:
- Enabled
- Disable
- NotActivated
- Unassigned
emailAddresses:
type: array
description: 'List of user email addresses from extension notification settings.
By default, main email address from contact information is returned
'
items:
type: string
permission:
type: string
description: Call queue manager permission
enum:
- FullAccess
- Messages
- MemberManagement
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
UpdateConferencingInfoRequest:
type: object
properties:
phoneNumbers:
type: array
description: 'Multiple dial-in phone numbers to connect to audio conference
service, relevant for user''s brand. Each number is given with the country
and location information, in order to let the user choose the less expensive
way to connect to a conference. The first number in the list is the primary
conference number, that is default and domestic
'
items:
$ref: '#/components/schemas/ConferencePhoneNumberInfo'
allowJoinBeforeHost:
type: boolean
description: Determines if host user allows conference participants to join before the host
PageNavigationUri:
type: object
additionalProperties: false
properties:
uri:
type: string
description: Canonical URI to retrieve the particular page of the result set
format: uri
ExtensionGreetingLanguageInfoRequest:
type: object
properties:
id:
type: string
description: Internal identifier of a greeting language
GetExtensionInfoResponse:
type: object
properties:
id:
type: integer
description: Internal identifier of an extension
format: int64
uri:
type: string
format: uri
description: Canonical URI of an extension
account:
$ref: '#/components/schemas/GetExtensionAccountInfo'
contact:
$ref: '#/components/schemas/ContactInfo'
costCenter:
$ref: '#/components/schemas/CostCenterInfo'
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldInfo'
departments:
type: array
description: 'Information on department extension(s), to which the requested
extension belongs. Returned only for user extensions, members of
department, requested by single extensionId. Please note that
legacy ''Department'' extension type corresponds to ''Call Queue''
extensions in modern RingCentral product terminology
'
items:
$ref: '#/components/schemas/DepartmentInfo'
extensionNumber:
type: string
description: Extension short number
extensionNumbers:
type: array
items:
type: string
name:
type: string
description: 'Extension name. For user extension types the value is a combination
of the specified first name and last name
'
partnerId:
type: string
description: 'For Partner Applications Internal identifier of an extension
created by partner. The RingCentral supports mapping of accounts and
stores the corresponding account ID/extension ID for each partner ID of
a client application. In request URIs partner IDs are accepted instead
of regular RingCentral native IDs as path parameters using `pid=XXX` clause.
Though in response URIs contain the corresponding account IDs and extension
IDs. In all request and response bodies these values are reflected via
partnerId attributes of account and extension
'
permissions:
$ref: '#/components/schemas/ExtensionPermissions'
profileImage:
$ref: '#/components/schemas/ProfileImageInfo'
references:
type: array
description: 'List of non-RC internal identifiers assigned to an extension
'
items:
$ref: '#/components/schemas/ReferenceInfo'
roles:
type: array
items:
$ref: '#/components/schemas/Roles'
regionalSettings:
$ref: '#/components/schemas/RegionalSettings'
serviceFeatures:
type: array
description: 'Extension service features is returned in response only when the
logged-in user requests their own extension info, see also Extension
Service Features
'
items:
$ref: '#/components/schemas/ExtensionServiceFeatureInfo'
setupWizardState:
$ref: '#/components/schemas/SetupWizardStateForUpdateEnum'
status:
type: string
description: 'Extension current state. If ''Unassigned'' is specified, then
extensions without `extensionNumber` are returned. If not specified,
then all extensions are returned
'
enum:
- Enabled
- Disabled
- Frozen
- NotActivated
- Unassigned
statusInfo:
$ref: '#/components/schemas/ExtensionStatusInfo'
type:
type: string
description: 'Extension type. Please note that legacy ''Department'' extension type
corresponds to ''Call Queue'' extensions in modern RingCentral product
terminology
'
enum:
- User
- FaxUser
- FlexibleUser
- VirtualUser
- DigitalUser
- Department
- Announcement
- Voicemail
- SharedLinesGroup
- PagingOnly
- IvrMenu
- ApplicationExtension
- ParkLocation
- Bot
- Room
- RoomConnector
- Limited
- Site
- ProxyAdmin
- DelegatedLinesGroup
- GroupCallPickup
subType:
type: string
description: 'Extension subtype, if applicable. For any unsupported subtypes the
`Unknown` value will be returned
'
enum:
- VideoPro
- VideoProPlus
- DigitalSignage
- Unknown
- Emergency
callQueueInfo:
$ref: '#/components/schemas/CallQueueExtensionInfo'
hidden:
type: boolean
description: 'Hides extension from showing in company directory. Supported for
extensions of User type only
'
site:
$ref: '#/components/schemas/ProvisioningSiteInfo'
assignedCountry:
$ref: '#/components/schemas/AssignedCountryInfo'
PageNavigationModel:
type: object
description: Links to other pages of the current result set
additionalProperties: false
properties:
firstPage:
$ref: '#/components/schemas/PageNavigationUri'
nextPage:
$ref: '#/components/schemas/PageNavigationUri'
previousPage:
$ref: '#/components/schemas/PageNavigationUri'
lastPage:
$ref: '#/components/schemas/PageNavigationUri'
ExtensionCallerIdInfo:
type: object
properties:
uri:
type: string
format: uri
description: Canonical URL of a caller ID resource
byDevice:
type: array
items:
$ref: '#/components/schemas/CallerIdByDevice'
byFeature:
type: array
items:
$ref: '#/components/schemas/CallerIdByFeature'
extensionNameForOutboundCalls:
type: boolean
description: 'If `true`, then user first name and last name will be used
as caller ID when making outbound calls from extension
'
extensionNumberForInternalCalls:
type: boolean
description: 'If `true`, then extension number will be used as caller ID
when making internal calls
'
ExtensionNumber:
description: 'Short number of an extension.
Actual max length depends on system length limit for extension.
'
type: string
pattern: ^\d{3,8}$
minLength: 1
maxLength: 8
example: '205'
ExtensionCountryInfoRequest:
type: object
properties:
id:
type: string
description: Internal identifier of a country
BulkItemResultModel:
type: object
required:
- bulkItemSuccessful
properties:
bulkItemSuccessful:
type: boolean
description: 'Indicates if this item was processed successfully during bulk operation.
If false, `bulkItemErrors` attribute contains the list of errors
'
example: true
bulkItemErrors:
type: array
description: 'The list of errors occurred during processing of particular item of bulk operation.
Returned only if `bulkItemSuccessful` is false
'
minItems: 1
items:
$ref: '#/components/schemas/ApiError'
CallerIdByFeatureInfo:
type: object
properties:
type:
type: string
description: 'If ''PhoneNumber'' value is specified, then a certain phone number
is shown as a caller ID when using this telephony feature. If ''Blocked''
value is specified, then a caller ID is hidden. The value ''CurrentLocation''
can be specified for ''RingOut'' feature only. The default is ''PhoneNumber''
= [''PhoneNumber'', ''Blocked'', ''CurrentLocation'']
'
phoneInfo:
$ref: '#/components/schemas/CallerIdPhoneInfo'
InboundTextsInfo:
type: object
properties:
notifyByEmail:
type: boolean
description: Email notification flag
notifyBySms:
type: boolean
description: SMS notification flag
advancedEmailAddresses:
type: array
description: 'List of recipient email addresses for inbound text message
notifications. Returned if specified, in both modes (advanced/basic).
Applied in advanced mode only
'
items:
type: string
advancedSmsEmailAddresses:
type: array
description: 'List of recipient phone numbers for inbound text message notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
PhoneNumberDefinitionNumberId:
type: object
description: To be used to assign a number by ID
required:
- phoneNumberId
properties:
phoneNumberId:
type: string
description: Phone number ID
ExtensionFormattingLocaleInfoRequest:
type: object
properties:
id:
type: string
description: Internal Identifier of a formatting language
DeviceDefinition:
type: object
required:
- type
- emergency
- phoneInfo
properties:
type:
type: string
description: Device type. Only "OtherPhone" and "WebRTC" device types are supported at the moment
enum:
- OtherPhone
- WebRTC
emergency:
description: Only "address" is supported at the moment
oneOf:
- type: object
required:
- address
properties:
address:
$ref: '#/components/schemas/PostalAddress'
- type: object
required:
- location
properties:
location:
type: object
required:
- id
properties:
id:
type: string
description: Emergency location ID
phoneInfo:
oneOf:
- $ref: '#/components/schemas/PhoneNumberDefinitionTollType'
- $ref: '#/components/schemas/PhoneNumberDefinitionPreferredAreaCode'
- $ref: '#/components/schemas/PhoneNumberDefinitionDirectNumberWithReservationId'
- $ref: '#/components/schemas/PhoneNumberDefinitionNumberId'
PermissionInfoInt:
type: object
properties:
enabled:
type: boolean
description: Specifies if a permission is enabled or not
description: International Calling permission
PostalAddress:
type: object
description: Postal address/location
required:
- street
- city
- zip
- country
properties:
street:
type: string
description: Street address
maxLength: 256
example: 20 Davis Dr
street2:
type: string
description: Street address (2nd line)
maxLength: 256
city:
type: string
description: City name
maxLength: 64
example: Belmont
state:
description: State or province information in the target country
maxLength: 64
type: string
example: CA
zip:
description: Postal code in the target country
type: string
maxLength: 10
example: '94002'
country:
description: ISO-3166-1 2-letter country code (alpha2)
type: string
maxLength: 2
minLength: 2
example: US
InboundFaxesInfo:
type: object
properties:
notifyByEmail:
type: boolean
description: Email notification flag
notifyBySms:
type: boolean
description: SMS notification flag
advancedEmailAddresses:
type: array
description: 'List of recipient email addresses for inbound fax notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
advancedSmsEmailAddresses:
type: array
description: 'List of recipient phone numbers for inbound fax notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
includeAttachment:
type: boolean
description: 'Indicates whether fax should be attached to email
'
markAsRead:
type: boolean
description: 'Indicates whether email should be automatically marked as read
'
CountryInfoShortModel:
allOf:
- $ref: '#/components/schemas/CountryInfoBasicModel'
- type: object
properties:
isoCode:
type: string
description: 'A ISO country code value complying with the
[ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
format.
'
callingCode:
type: string
description: 'Country calling code defined by [ITU-T](http://en.wikipedia.org/wiki/ITU-T)
recommendations [E.123](http://en.wikipedia.org/wiki/E.123) and
[E.164](http://en.wikipedia.org/wiki/E.164),
see [Calling Codes](http://en.wikipedia.org/wiki/List_of_country_calling_codes)
'
CallerIdPhoneInfo:
type: object
properties:
id:
type: string
description: Internal identifier of a phone number
uri:
type: string
format: uri
description: Link to a phone number resource
phoneNumber:
type: string
description: 'Phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I)
(with ''+'' sign) format
'
ExtensionServiceFeatureInfo:
type: object
properties:
enabled:
type: boolean
description: Feature status; shows feature availability for an extension
featureName:
type: string
description: Feature name
enum:
- AccountFederation
- Archiver
- AutomaticCallRecordingMute
- AutomaticInboundCallRecording
- AutomaticOutboundCallRecording
- BlockedMessageForwarding
- Calendar
- CallerIdControl
- CallForwarding
- CallPark
- CallParkLocations
- CallSupervision
- CallSwitch
- CallQualitySurvey
- Conferencing
- ConferencingNumber
- ConfigureDelegates
- DeveloperPortal
- DND
- DynamicConference
- EmergencyAddressAutoUpdate
- EmergencyCalling
- EncryptionAtRest
- ExternalDirectoryIntegration
- Fax
- FaxReceiving
- FreeSoftPhoneLines
- HDVoice
- HipaaCompliance
- Intercom
- InternationalCalling
- InternationalSMS
- LinkedSoftphoneLines
- MMS
- MobileVoipEmergencyCalling
- OnDemandCallRecording
- Pager
- PagerReceiving
- Paging
- PasswordAuth
- PromoMessage
- Reports
- Presence
- RCTeams
- RingOut
- SalesForce
- SharedLines
- SingleExtensionUI
- SiteCodes
- SMS
- SMSReceiving
- SoftPhoneUpdate
- TelephonySessions
- UserManagement
- VideoConferencing
- VoipCalling
- VoipCallingOnMobile
- Voicemail
- VoicemailToText
- WebPhone
reason:
type: string
description: 'Reason for limitation of a particular service feature. Returned
only if the enabled parameter value is `false`, see Service Feature
Limitations and Reasons. When retrieving service features for an extension,
the reasons for limitations, if any, are returned in response
'
RegionalSettings:
type: object
properties:
homeCountry:
$ref: '#/components/schemas/CountryInfoShortModel'
timezone:
$ref: '#/components/schemas/TimezoneInfo'
language:
$ref: '#/components/schemas/RegionalLanguageInfo'
greetingLanguage:
$ref: '#/components/schemas/GreetingLanguageInfo'
formattingLocale:
$ref: '#/components/schemas/FormattingLocaleInfo'
timeFormat:
type: string
description: Time format setting. The default value is '12h' = ['12h', '24h']
enum:
- 12h
- 24h
description: 'Regional data (timezone, home country, language) of an extension/account.
The default is Company (Auto-Receptionist) settings
'
SiteReference:
type: object
properties:
id:
type: string
description: Internal identifier of a site
ContactBusinessAddressInfo:
type: object
properties:
country:
type: string
description: Country name of a user's company
state:
type: string
description: 'State/province name of a user''s company. Mandatory
for the USA, UK and Canada
'
city:
type: string
description: City name of a user's company
street:
type: string
description: Street address of a user's company
zip:
type: string
description: Zip code of a user's company
description: 'User''s business address. The default is
Company (Auto-Receptionist) settings
'
CountryInfoMinimalModel:
type: object
properties:
id:
type: string
description: Internal identifier of a country
uri:
type: string
format: uri
description: Canonical URI of a country resource
NotificationSettingsUpdateRequest:
type: object
properties:
emailAddresses:
type: array
description: 'List of notification recipient email addresses. Should not be empty
if ''includeManagers'' parameter is set to false
'
items:
type: string
smsEmailAddresses:
type: array
description: List of notification recipient email addresses
items:
type: string
advancedMode:
type: boolean
description: 'Specifies notifications settings mode. If `true` then advanced
mode is on, it allows using different emails and/or phone numbers for
each notification type. If `false` then basic mode is on. Advanced mode
settings are returned in both modes, if specified once, but if basic mode
is switched on, they are not applied
'
voicemails:
$ref: '#/components/schemas/VoicemailsInfo'
inboundFaxes:
$ref: '#/components/schemas/InboundFaxesInfo'
outboundFaxes:
$ref: '#/components/schemas/OutboundFaxesInfo'
inboundTexts:
$ref: '#/components/schemas/InboundTextsInfo'
missedCalls:
$ref: '#/components/schemas/MissedCallsInfo'
includeManagers:
type: boolean
description: 'Specifies if managers'' emails are included in the list of emails to
which notifications are sent. If not specified, then the value is `true`
'
default: true
ExtensionLanguageInfoRequest:
type: object
properties:
id:
type: string
description: Internal identifier of a language
FormattingLocaleInfo:
type: object
properties:
id:
type: string
description: Internal identifier of a formatting language
localeCode:
type: string
description: Localization code of a formatting language
name:
type: string
description: Official name of a formatting language
description: 'Formatting language preferences for numbers, dates and currencies
'
CallerIdByDevice:
type: object
properties:
device:
$ref: '#/components/schemas/CallerIdDeviceInfo'
callerId:
$ref: '#/components/schemas/CallerIdByDeviceInfo'
description: Caller ID settings by device
GreetingLanguageInfo:
type: object
properties:
id:
type: string
description: Internal identifier of a greeting language
localeCode:
type: string
description: Localization code of a greeting language
name:
type: string
description: Official name of a greeting language
description: 'Information on language used for telephony greetings
'
UserTransitionInfo:
type: object
properties:
sendWelcomeEmailsToUsers:
type: boolean
description: 'Specifies if a welcome/activation email is sent to the existing
users during account confirmation
'
sendWelcomeEmail:
type: boolean
description: 'Specifies if a welcome/activation email is sent to the new users (within extension status changing from
''Unassigned'' to ''NotActivated/Disabled'')
'
description: 'For NotActivated extensions only. Welcome email settings
'
BasicContactInfo:
description: Personal contact information
type: object
properties:
firstName:
description: Given name
type: string
maxLength: 64
example: John
lastName:
description: Family name
type: string
maxLength: 64
example: Smith
email:
description: Contact email
type: string
format: email
maxLength: 64
example: john.smith@acme.com
ContactInfo:
type: object
properties:
firstName:
type: string
description: 'User''s first name (for extensions of `User` type only)
'
lastName:
type: string
description: 'For User extension type only. User''s last name (for extensions of `User` type only)
'
name:
type: string
description: 'Extension name (for extensions of `User` type - concatenation of first and last name)
'
company:
type: string
description: User's company name
jobTitle:
type: string
description: User's job title
email:
type: string
format: email
description: User's contact email
businessPhone:
type: string
description: 'User''s contact phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I)
(with ''+'' sign) format
'
mobilePhone:
type: string
description: 'User''s mobile (**non** Toll Free) phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I)
(with ''+'' sign) format
'
businessAddress:
$ref: '#/components/schemas/ContactBusinessAddressInfo'
emailAsLoginName:
type: boolean
description: 'Indicates that the contact email is enabled as a login name for this
user. Please note that the email must be unique in this case.
'
default: false
pronouncedName:
$ref: '#/components/schemas/PronouncedNameInfo'
department:
type: string
description: 'User''s department name
'
description: Detailed contact information
CallerIdDeviceInfo:
type: object
properties:
id:
type: string
description: Internal identifier of a device
uri:
type: string
format: uri
description: Link to a device resource
name:
type: string
description: Name of a device
NotificationSettings:
type: object
properties:
uri:
type: string
format: uri
description: Canonical URI of notifications settings resource
emailRecipients:
type: array
description: 'List of extensions specified as email notification recipients.
Returned only for call queues where queue managers are assigned as user
extensions.
'
items:
$ref: '#/components/schemas/EmailRecipientInfo'
emailAddresses:
type: array
description: 'List of notification recipient email addresses
'
items:
type: string
includeManagers:
type: boolean
description: 'Specifies if managers'' emails are included in the list of emails to which
notifications are sent
'
smsEmailAddresses:
type: array
description: List of notification recipient email addresses
items:
type: string
advancedMode:
type: boolean
description: 'Specifies notifications settings mode. If `true` then advanced
mode is on, it allows using different emails and/or phone numbers for
each notification type. If `false` then basic mode is on. Advanced mode
settings are returned in both modes, if specified once, but if basic mode
is switched on, they are not applied
'
voicemails:
$ref: '#/components/schemas/VoicemailsInfo'
inboundFaxes:
$ref: '#/components/schemas/InboundFaxesInfo'
outboundFaxes:
$ref: '#/components/schemas/OutboundFaxesInfo'
inboundTexts:
$ref: '#/components/schemas/InboundTextsInfo'
missedCalls:
$ref: '#/components/schemas/MissedCallsInfo'
CallerIdDeviceInfoRequest:
type: object
properties:
id:
type: string
description: Internal identifier of a device
CountryInfoBasicModel:
allOf:
- $ref: '#/components/schemas/CountryInfoMinimalModel'
- type: object
properties:
name:
type: string
description: The official name of a country
BatchProvisionUsersSuccessItem:
type: object
required:
- successful
- extension
properties:
successful:
type: boolean
description: Indicates if the provisioning operation was successful for this item, always `true` in this model
example: true
extension:
type: object
required:
- devices
- id
properties:
id:
type: string
description: The internal identifier of RingCentral extension created
example: '12345'
devices:
type: array
items:
type: object
required:
- id
- phoneNumber
properties:
id:
type: string
description: The internal identifier of device created
example: '12345'
phoneNumber:
$ref: '#/components/schemas/PhoneNumberE164'
ExtensionPermissions:
type: object
properties:
admin:
$ref: '#/components/schemas/PermissionInfoAdmin'
internationalCalling:
$ref: '#/components/schemas/PermissionInfoInt'
description: 'Extension permissions, corresponding to the Service Web permissions
''Admin'' and ''InternationalCalling''
'
ExtensionCallerIdInfoRequest:
type: object
properties:
uri:
type: string
format: uri
description: Canonical URL of a caller ID resource
byDevice:
type: array
items:
$ref: '#/components/schemas/CallerIdByDeviceRequest'
byFeature:
type: array
items:
$ref: '#/components/schemas/CallerIdByFeatureRequest'
extensionNameForOutboundCalls:
type: boolean
description: 'If `true`, then the user first name and last name will be used
as caller ID when making outbound calls from extension
'
extensionNumberForInternalCalls:
type: boolean
description: 'If `true`, then extension number will be used as caller ID
when making internal calls
'
CallerIdByFeatureRequest:
type: object
properties:
feature:
type: string
enum:
- RingOut
- RingMe
- CallFlip
- FaxNumber
- AdditionalSoftphone
- Alternate
- CommonPhone
- MobileApp
- Delegated
callerId:
$ref: '#/components/schemas/CallerIdByFeatureInfoRequest'
description: Caller ID settings by feature
BulkOperationExtensionReference:
type: object
description: Information about an extension this device is assigned to
required:
- id
properties:
id:
type: string
description: Internal identifier of a RingCentral extension
example: '12345'
ExtensionInfoEventBody:
type: object
properties:
extensionId:
type: string
description: Internal identifier of an extension
eventType:
type: string
description: Type of extension info change
enum:
- Update
- Delete
hints:
type: array
description: Returned for 'Update' event type only
items:
type: string
enum:
- AccountSettings
- AccountStatus
- AnsweringRules
- CompanyNumbers
- DialingPlan
- ExtensionInfo
- Features
- Limits
- Permissions
- ProfileImage
- VideoConfiguration
ownerId:
type: string
description: 'Internal identifier of a subscription owner extension
'
description: Notification payload body
PhoneNumberInfoConferencing:
type: object
properties:
country:
$ref: '#/components/schemas/CountryInfoShortModel'
default:
type: boolean
description: 'The value should be `true` if the number is default for the conference. Default
conference number is a domestic number that can be set by user (otherwise
it is set by the system). Only one default number per country is allowed
'
hasGreeting:
type: boolean
description: 'The value should be `true` if any greeting message is played on this number
'
location:
type: string
description: 'Location (city, region, state) of a conference phone number
'
phoneNumber:
type: string
description: Dial-in phone number to connect to a conference
premium:
type: boolean
description: 'Indicates if the number is ''premium'' (account phone number
with the `ConferencingNumber` usageType)
'
SetupWizardStateForUpdateEnum:
type: string
description: Initial configuration wizard state
enum:
- NotStarted
- Incomplete
- Completed
default: NotStarted
ProfileImageInfoURI:
type: object
properties:
uri:
type: string
format: uri
CallerIdPhoneInfoRequest:
type: object
properties:
id:
type: string
description: Internal identifier of a phone number
ReferenceInfo:
type: object
properties:
ref:
type: string
description: Non-RC identifier of an extension
type:
type: string
description: Type of external identifier
enum:
- PartnerId
- CustomerDirectoryId
refAccId:
type: string
description: Primary federation admin account identifier
VoicemailsInfo:
type: object
properties:
notifyByEmail:
type: boolean
description: Email notification flag
notifyBySms:
type: boolean
description: SMS notification flag
advancedEmailAddresses:
type: array
description: 'List of recipient email addresses for voicemail notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
advancedSmsEmailAddresses:
type: array
description: 'List of recipient phone numbers for voicemail notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
includeAttachment:
type: boolean
description: 'Indicates whether voicemail should be attached to email
'
includeTranscription:
type: boolean
description: 'Specifies whether to add voicemail transcription or not
'
markAsRead:
type: boolean
description: 'Indicates whether a voicemail should be automatically marked
as read
'
EnumeratedPagingModel:
type: object
required:
- perPage
additionalProperties: false
properties:
perPage:
type: integer
format: int32
minimum: 1
maximum: 1000
description: 'Current page size, describes how many items are in each page.
Matches "perPage" parameter from the request.
'
example: 50
page:
type: integer
format: int32
minimum: 1
maximum: 1000
description: 'The current page number. 1-indexed, so the first page is 1
by default. May be omitted if result is empty (because non-existent page
was specified or perPage=0 was requested)
'
example: 5
pageStart:
type: integer
format: int32
minimum: 0
description: 'The zero-based number of the first element on the current page.
Omitted if the page is omitted or result is empty
'
example: 0
pageEnd:
type: integer
format: int32
minimum: 0
description: 'The zero-based index of the last element on the current page.
Omitted if the page is omitted or result is empty
'
example: 5
totalPages:
type: integer
format: int32
minimum: 0
description: 'The total number of pages in a dataset. May be omitted for
some resources due to performance reasons
'
example: 25
totalElements:
type: integer
format: int32
minimum: 0
description: 'The total number of elements in a dataset. May be omitted for
some resource due to performance reasons
'
example: 25
CallerIdByDeviceInfo:
type: object
properties:
type:
type: string
description: 'If ''PhoneNumber'' value is specified, then a certain phone number
is shown as a caller ID when using this telephony feature. If ''Blocked''
value is specified, then a caller ID is hidden. The value ''CurrentLocation''
can be specified for ''RingOut'' feature only. The default is ''PhoneNumber''
= [''PhoneNumber'', ''Blocked'', ''CurrentLocation'']
'
phoneInfo:
$ref: '#/components/schemas/CallerIdPhoneInfo'
ExtensionTimezoneInfoRequest:
type: object
properties:
id:
type: string
description: Internal identifier of a timezone
ExtensionInfoEvent:
type: object
properties:
uuid:
type: string
description: Universally unique identifier of a notification
event:
type: string
description: Event filter URI
timestamp:
type: string
description: 'Date/time of sending a notification in
[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
format including timezone, for example *2016-03-10T18:07:52.534Z*
'
subscriptionId:
type: string
description: Internal identifier of a subscription
body:
$ref: '#/components/schemas/ExtensionInfoEventBody'
BulkDeleteUsersResponse:
type: object
required:
- records
properties:
records:
type: array
items:
allOf:
- type: object
properties:
id:
type: string
description: Internal identifier of an extension
example: '1162820004'
- $ref: '#/components/schemas/BulkItemResultModel'
ProvisioningSiteInfo:
type: object
properties:
id:
type: string
format: uri
description: Internal identifier of a site
uri:
type: string
format: uri
description: Link to a site resource
name:
type: string
description: Name of a site
code:
type: string
description: Site code value. Returned only if specified
description: 'Site data. If multi-site feature is turned on for an account,
then ID of a site must be specified. In order to assign a wireless
point to the main site (company) the site ID should be set to `main-site`
'
CallerIdByFeature:
type: object
properties:
feature:
type: string
enum:
- RingOut
- RingMe
- CallFlip
- FaxNumber
- AdditionalSoftphone
- Alternate
- CommonPhone
- MobileApp
- Delegated
callerId:
$ref: '#/components/schemas/CallerIdByFeatureInfo'
description: Caller ID settings by feature
CallerIdByDeviceRequest:
type: object
properties:
device:
$ref: '#/components/schemas/CallerIdDeviceInfoRequest'
callerId:
$ref: '#/components/schemas/CallerIdByDeviceInfoRequest'
description: Caller ID settings by device
BatchProvisionErrorItem:
type: object
required:
- successful
- errors
properties:
successful:
type: boolean
description: Indicates if the provisioning operation was successful for this item, always `false` in this model
example: false
errors:
type: array
minItems: 1
items:
$ref: '#/components/schemas/ApiErrorWithParameter'
BatchProvisionUsersResponse:
type: object
required:
- results
properties:
results:
type: array
items:
anyOf:
- $ref: '#/components/schemas/BatchProvisionUsersSuccessItem'
- $ref: '#/components/schemas/BatchProvisionErrorItem'
PhoneNumberDefinitionPreferredAreaCode:
type: object
description: To use as selection hint when a "toll" number to be selected from the number pool.
required:
- preferredAreaCode
properties:
preferredAreaCode:
description: Preferred area code to use if numbers available
type: string
pattern: ^[1-9]\d{1,3}$
example: '650'
CallerIdByDeviceInfoRequest:
type: object
properties:
type:
type: string
description: 'If ''PhoneNumber'' value is specified, then a certain phone number
is shown as a caller ID when using this telephony feature. If ''Blocked''
value is specified, then a caller ID is hidden. The value ''CurrentLocation''
can be specified for ''RingOut'' feature only. The default is ''PhoneNumber''
= [''PhoneNumber'', ''Blocked'', ''CurrentLocation'']
'
phoneInfo:
$ref: '#/components/schemas/CallerIdPhoneInfoRequest'
AssignedCountryInfo:
type: object
description: Information on a country assigned to an extension user. Returned for the User extension type only
properties:
id:
type: string
description: Internal identifier of an assigned country
uri:
type: string
description: Canonical URI of an assigned country resource
isoCode:
type: string
description: Country code according to the ISO standard, see [ISO 3166](https://www.iso.org/iso-3166-country-codes.html)
name:
type: string
description: Official name of a country
ExtensionGrantListEventBody:
type: object
properties:
extensionId:
type: string
description: Internal identifier of an extension
ownerId:
type: string
description: Internal identifier of a subscription owner extension
description: Notification payload body
Roles:
type: object
properties:
uri:
type: string
format: uri
description: Link to a role
id:
type: string
description: Internal identifier of a role
autoAssigned:
type: boolean
default: false
displayName:
type: string
siteCompatible:
type: boolean
siteRestricted:
type: boolean
PhoneNumberE164:
type: string
pattern: ^\+[1-9]\d{1,14}$
description: Phone number in e.164 format (with '+' prefix)
maxLength: 18
example: '+16501234567'
BulkDeleteUsersRequest:
type: object
required:
- records
properties:
keepAssetsInInventory:
type: boolean
description: 'Indicates that the freed users'' assets (phone numbers and devices) should be moved
to account inventory rather than deleted. If set to `true`, the phone numbers and devices
assigned to deleted extensions will be kept in the account''s inventory. If set to `false`,
these assets will be deleted from the account and returned to either the partner''s phone
numbers or RingCentral''s phone number pool
'
default: true
records:
type: array
minItems: 1
maxItems: 50
items:
$ref: '#/components/schemas/BulkOperationExtensionReference'
PhoneNumberTollType:
description: Indicates if a number is toll or toll-free
type: string
enum:
- Toll
- TollFree
example: Toll
GetExtensionAccountInfo:
type: object
properties:
id:
type: string
description: Internal identifier of an account
uri:
type: string
format: uri
description: Canonical URI of an account resource
description: Account information
MissedCallsInfo:
type: object
properties:
notifyByEmail:
type: boolean
description: Email notification flag
notifyBySms:
type: boolean
description: SMS notification flag
advancedEmailAddresses:
type: array
description: 'List of recipient email addresses for missed call notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
advancedSmsEmailAddresses:
type: array
description: 'List of recipient phone numbers for missed call notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
ExtensionRegionalSettingRequest:
type: object
properties:
homeCountry:
$ref: '#/components/schemas/ExtensionCountryInfoRequest'
timezone:
$ref: '#/components/schemas/ExtensionTimezoneInfoRequest'
language:
$ref: '#/components/schemas/ExtensionLanguageInfoRequest'
greetingLanguage:
$ref: '#/components/schemas/ExtensionGreetingLanguageInfoRequest'
formattingLocale:
$ref: '#/components/schemas/ExtensionFormattingLocaleInfoRequest'
currency:
$ref: '#/components/schemas/ExtensionCurrencyInfoRequest'
timeFormat:
type: string
description: Time format setting
default: 12h
enum:
- 12h
- 24h
ProfileImageInfo:
required:
- uri
type: object
properties:
uri:
type: string
format: uri
description: 'Link to a profile image. If an image is not uploaded for an
extension, only `uri` is returned
'
etag:
type: string
description: Identifier of an image
lastModified:
type: string
description: 'Date/time when an image was last updated, in ISO 8601 format,
for example 2016-03-10T18:07:52.534Z
'
format: date-time
contentType:
type: string
description: The type of image
scales:
type: array
description: 'List of URIs to profile images in different dimensions
'
items:
$ref: '#/components/schemas/ProfileImageInfoURI'
description: Information on profile image
CallerIdByFeatureInfoRequest:
type: object
properties:
type:
type: string
description: 'If ''PhoneNumber'' value is specified, then a certain phone number
is shown as a caller ID when using this telephony feature. If ''Blocked''
value is specified, then a caller ID is hidden. The value ''CurrentLocation''
can be specified for ''RingOut'' feature only. The default is ''PhoneNumber''
= [''PhoneNumber'', ''Blocked'', ''CurrentLocation'']
'
phoneInfo:
$ref: '#/components/schemas/CallerIdPhoneInfoRequest'
GetConferencingInfoResponse:
type: object
properties:
uri:
type: string
format: uri
description: Canonical URI of a conferencing
allowJoinBeforeHost:
type: boolean
description: 'Determines if host user allows conference participants to join
before the host
'
hostCode:
type: string
description: Access code for a host user
mode:
type: string
description: 'Internal parameter specifying a conferencing engine
'
participantCode:
type: string
description: Access code for any participant
phoneNumber:
type: string
description: 'Primary conference phone number for user''s home country returned
in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format
'
supportUri:
description: Link to a branded support page
type: string
example: http://success.ringcentral.com
tapToJoinUri:
type: string
format: uri
description: 'Short URL leading to the service web page Tap to Join for audio
conference bridge
'
phoneNumbers:
type: array
description: 'List of multiple dial-in phone numbers to connect to audio
conference service, relevant for the user''s brand. Each number is given with
the country and location information, in order to let the user choose
less expensive way to connect to a conference. The first number in
the list is a primary conference number, that is default and domestic
'
items:
$ref: '#/components/schemas/PhoneNumberInfoConferencing'
GrantInfo:
type: object
properties:
uri:
type: string
format: uri
description: Canonical URI of a grant
extension:
$ref: '#/components/schemas/ExtensionInfoGrants'
callPickup:
type: boolean
description: 'Specifies if picking up of other extensions'' calls is allowed
for the extension. If ''Presence'' feature is disabled for the given extension,
the flag is not returned
'
callMonitoring:
type: boolean
description: 'Specifies if monitoring of other extensions'' calls is allowed
for the extension. If ''CallMonitoring'' feature is disabled for the given
extension, the flag is not returned
'
callOnBehalfOf:
type: boolean
description: 'Specifies whether the current extension is able to make or
receive calls on behalf of the user referenced in extension object
'
callDelegation:
type: boolean
description: 'Specifies whether the current extension can delegate a call
to the user referenced in extension object
'
groupPaging:
type: boolean
description: 'Specifies whether the current extension is allowed to call
Paging Only group referenced to in extension object
'
callQueueSetup:
type: boolean
description: 'Specifies whether the current extension is assigned as a Full-Access
manager in the call queue referenced in extension object
'
callQueueMembersSetup:
type: boolean
description: 'Specifies whether the current extension is assigned as a Members-Only
manager in the call queue referenced in extension object
'
callQueueMessages:
type: boolean
description: 'Specifies whether the current extension is assigned as a Messages Manager
in the queue referenced in extension object
'
callQueueFacSetup:
type: boolean
description: 'Specifies whether the current extension is granted *Forward All Calls (FAC)* permission
'
sharedVoicemails:
type: boolean
description: 'Specifies whether the user referenced in extension object is sharing voicemails
with the current extension
'
BatchProvisionUsersRequest:
description: Describes request for user extension provisioning
type: object
required:
- records
properties:
records:
type: array
maxItems: 10
minItems: 1
items:
$ref: '#/components/schemas/BatchProvisionUsersRequestItem'
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
OutboundFaxesInfo:
type: object
properties:
notifyByEmail:
type: boolean
description: Email notification flag
notifyBySms:
type: boolean
description: SMS notification flag
advancedEmailAddresses:
type: array
description: 'List of recipient email addresses for outbound fax notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
advancedSmsEmailAddresses:
type: array
description: 'List of recipient phone numbers for outbound fax notifications.
Returned if specified, in both modes (advanced/basic). Applied in advanced
mode only
'
items:
type: string
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'
PhoneNumberDefinitionTollType:
type: object
description: To use as selection criteria when a number to be selected from the number pool.
required:
- tollType
properties:
tollType:
$ref: '#/components/schemas/PhoneNumberTollType'
ExtensionUpdateRequest:
type: object
properties:
status:
type: string
enum:
- Disabled
- Enabled
- NotActivated
- Frozen
statusInfo:
$ref: '#/components/schemas/ExtensionStatusInfo'
extensionNumber:
type: string
description: Extension number available
contact:
$ref: '#/components/schemas/ContactInfoUpdateRequest'
regionalSettings:
$ref: '#/components/schemas/ExtensionRegionalSettingRequest'
setupWizardState:
$ref: '#/components/schemas/SetupWizardStateForUpdateEnum'
partnerId:
type: string
description: 'Additional extension identifier, created by partner application
and applied on client side
'
ivrPin:
type: string
description: IVR PIN
password:
type: string
description: Password for extension
callQueueInfo:
$ref: '#/components/schemas/CallQueueInfoRequest'
transition:
$ref: '#/components/schemas/UserTransitionInfo'
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldInfo'
site:
$ref: '#/components/schemas/SiteReference'
type:
type: string
description: 'Extension type. Please note that legacy ''Department'' extension
type corresponds to ''Call Queue'' extensions in modern RingCentral
product terminology
'
enum:
- User
- FaxUser
- FlexibleUser
- VirtualUser
- DigitalUser
- Department
- Announcement
- Voicemail
- SharedLinesGroup
- PagingOnly
- IvrMenu
- ApplicationExtension
- ParkLocation
- DelegatedLinesGroup
- GroupCallPickup
subType:
type: string
description: 'Extension subtype, if applicable. For any unsupported subtypes
the ''Unknown'' value will be returned
'
enum:
- VideoPro
- VideoProPlus
- DigitalSignageOnlyRooms
- Unknown
- Emergency
references:
type: array
description: 'List of non-RC internal identifiers assigned to an extension
'
items:
$ref: '#/components/schemas/ReferenceInfo'
CostCenterInfo:
type: object
description: Cost center information. Applicable if Cost Center feature is enabled. The default is `root` cost center value
properties:
id:
type: string
description: Internal identifier of a cost center
name:
type: string
description: Name of a cost center
ExtensionCurrencyInfoRequest:
type: object
properties:
id:
type: string
description: Internal Identifier of a currency
PronouncedNameInfo:
type: object
properties:
type:
type: string
description: 'The method used to pronounce the user''s name:
- `Default` - default extension name; first and last name specified in user''s profile are pronounced using text-to-speech;
- `TextToSpeech` - custom text specified by a user pronounced using text-to-speech;
- `Recorded` - custom audio uploaded by a user, the name recorded in user''s own voice (supported only for extension retrieval).
'
enum:
- Default
- TextToSpeech
- Recorded
text:
type: string
description: Custom text (for `TextToSpeech` type only)
prompt:
$ref: '#/components/schemas/PronouncedNamePromptInfo'
CallQueueExtensionInfo:
type: object
properties:
slaGoal:
type: integer
format: int32
description: 'Target percentage of calls that must be answered by agents
within the service level time threshold
'
slaThresholdSeconds:
type: integer
format: int32
description: 'Period of time in seconds that is considered to be an acceptable
service level
'
includeAbandonedCalls:
type: boolean
description: 'If `true` abandoned calls (hanged up prior to being served)
are included into service level calculation
'
abandonedThresholdSeconds:
type: integer
format: int32
description: 'Period of time in seconds specifying abandoned calls duration
- calls that are shorter will not be included into the calculation of
service level.; zero value means that abandoned calls of any duration
will be included into calculation
'
description: 'For Call Queue extension type only. Please note that legacy
''Department'' extension type corresponds to ''Call Queue'' extensions
in modern RingCentral product terminology
'
ExtensionStatusInfo:
type: object
properties:
comment:
type: string
description: A free-form user comment, describing the status change reason
reason:
type: string
description: Type of suspension
enum:
- SuspendedVoluntarily
- SuspendedInvoluntarily
- CancelledVoluntarily
- CancelledInvoluntarily
till:
type: string
format: date-time
description: 'Date until which an account will get deleted. The default
value is 30 days since the current date
'
description: 'Status information (reason, comment). Returned for ''Disabled''
status only
'
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'
CallQueueInfoRequest:
type: object
properties:
slaGoal:
type: integer
format: int32
description: 'Target percentage of calls that must be answered by agents
within the service level time threshold
'
slaThresholdSeconds:
type: integer
format: int32
includeAbandonedCalls:
type: boolean
abandonedThresholdSeconds:
type: integer
format: int32
description: 'For Call Queue extension type only. Please note that legacy ''Department''
extension type corresponds to ''Call Queue'' extensions in modern RingCentral
product terminology
'
PronouncedNamePromptInfo:
type: object
properties:
id:
type: string
contentUri:
type: string
format: uri
description: Link to a prompt resource
contentType:
type: string
description: Content media type
enum:
- audio/mpeg
- audio/wav
PermissionInfoAdmin:
type: object
properties:
enabled:
type: boolean
description: Specifies if a permission is enabled or not
description: Admin permission
TimezoneInfo:
type: object
properties:
id:
type: string
description: Internal identifier of a timezone
uri:
type: string
format: uri
description: Canonical URI of a timezone
name:
type: string
description: Short name of a timezone
description:
type: string
description: Meaningful description of the timezone
bias:
type: string
description: Extension timezone information
RegionalLanguageInfo:
type: object
properties:
id:
type: string
description: Internal identifier of a language set as regional
localeCode:
type: string
description: Localization code of a language set as regional
name:
type: string
description: Official name of a language set as regional
description: Information on a language set as regional
ContactInfoUpdateRequest:
type: object
properties:
firstName:
type: string
description: 'For User extension type only. Extension user first name
'
lastName:
type: string
description: 'For User extension type only. Extension user last name
'
company:
type: string
description: Extension user company name
jobTitle:
type: string
email:
type: string
format: email
description: Email of extension user
businessPhone:
type: string
description: 'Extension user contact phone number in
[E.164](https://www.itu.int/rec/T-REC-E.164-201011-I)
format
'
mobilePhone:
type: string
description: 'Extension user mobile (**non** Toll Free) phone number in
[E.164](https://www.itu.int/rec/T-REC-E.164-201011-I)
(with ''+'' sign) format
'
businessAddress:
$ref: '#/components/schemas/ContactBusinessAddressInfo'
emailAsLoginName:
type: boolean
description: 'If `true` then contact email is enabled as login name for
this user. Please note that email should be unique in this case.
The default value is `false`
'
pronouncedName:
$ref: '#/components/schemas/PronouncedNameInfo'
department:
type: string
description: Extension user department, if any
PhoneNumberDefinitionDirectNumberWithReservationId:
type: object
description: To be used for direct number assignment in case number pool is not supported
required:
- phoneNumber
properties:
phoneNumber:
type: string
description: Phone number ID
reservationId:
type: string
description: Phone number reservation ID
GetExtensionGrantListResponse:
required:
- navigation
- paging
- records
type: object
properties:
uri:
type: string
format: uri
description: Link to the list of extension grants
records:
type: array
description: List of extension grants with details
items:
$ref: '#/components/schemas/GrantInfo'
navigation:
$ref: '#/components/schemas/PageNavigationModel'
paging:
$ref: '#/components/schemas/EnumeratedPagingModel'
responses:
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'
InternalError:
description: 'General response with **HTTP 500 "Internal Server Error"** status.
Reasons: general server-side error.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponseModel'
TooManyRequests:
description: 'General response with **HTTP 429 "Too many requests"** status.
Reasons: certain rate limit is exceeded.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponseModel'
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'
ServiceNotAvailable:
description: 'General response with **HTTP 503 "Service not available"** status.
Reasons: server cannot process the request because of being overloaded, misconfiguration or other issues.
'
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'
parameters:
AccountId:
name: accountId
in: path
description: 'Internal identifier of the RingCentral account
(can be set to "~" to indicate that the account associated with current authorization session should be used)
'
required: true
style: simple
explode: false
schema:
type: string
default: '~'
example: '~'
ExtensionId:
name: extensionId
in: path
description: 'Internal identifier of the RingCentral extension/user
(can be set to "~" to indicate that the extension associated with current authorization session should be used)
'
required: true
style: simple
explode: false
schema:
type: string
default: '~'
example: '~'
ProfileImageScale:
name: scaleSize
in: path
description: 'Dimensions of a profile image which will be returned in response.
'
required: true
schema:
type: string
enum:
- original
- 90x90
- 195x195
- 584x584
ContentDispositionFilename:
name: contentDispositionFilename
in: query
description: The default filename of the file to be downloaded
required: false
schema:
type: string
ContentDisposition:
name: contentDisposition
in: query
description: Whether the content is expected to be displayed in the browser, or downloaded and saved locally
required: false
schema:
type: string
enum:
- Inline
- Attachment
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