Skip to main content

UserSettingsService

A list of all methods in the UserSettingsService service. Click on the method name to view detailed information about that method.

MethodsDescription
read_scaled_profile_imageReturns the scaled profile image of an extension. This API must be called via media API entry point, e.g. https://media.ringcentral.com
post_batch_provision_usersCreates multiple user extensions with BYOD (customer provided) devices. If "extensionNumber" is not specified, the next available extension number will be assigned.
bulk_delete_users_v2Deletes 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.
read_extensionReturns basic information about a particular extension of an account.
update_extensionUpdates the user settings.
list_extension_grantsReturns 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.
read_conferencing_settingsReturns information on Free Conference Calling (FCC) feature for a given extension.
update_conferencing_settingsUpdates 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.
read_user_profile_image_legacyReturns a profile image of an extension.
create_user_profile_imageUploads the extension profile image.
update_user_profile_imageUpdates the extension profile image.
delete_user_profile_imageDeletes the user profile image.
read_extension_caller_idReturns information on an outbound caller ID of an extension.
update_extension_caller_idUpdates outbound caller ID information of an extension.
read_notification_settingsReturns notification settings for the current extension. Knowledge Article: User Settings - Set Up Message Notifications
update_notification_settingsUpdates notification settings for the current extension. Knowledge Article: User Settings - Set Up Message Notifications

read_scaled_profile_image

Returns the scaled profile image of an extension. This API must be called via media API entry point, e.g. https://media.ringcentral.com

  • HTTP Method: GET
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image/{scaleSize}

Parameters

NameTypeRequiredDescription
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)
scale_sizeScaleSizeDimensions of a profile image which will be returned in response.
content_dispositionContentDispositionWhether the content is expected to be displayed in the browser, or downloaded and saved locally
content_disposition_filenamestrThe default filename of the file to be downloaded

Return Type

bytes

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import ScaleSize, ContentDisposition

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

result = sdk.user_settings.read_scaled_profile_image(
account_id="~",
extension_id="~",
scale_size="original",
content_disposition="Inline",
content_disposition_filename="contentDispositionFilename"
)

with open("output-file.ext", "wb") as f:
f.write(result)

post_batch_provision_users

Creates multiple user extensions with BYOD (customer provided) devices. If "extensionNumber" is not specified, the next available extension number will be assigned.

  • HTTP Method: POST
  • Endpoint: /restapi/v2/accounts/{accountId}/batch-provisioning/users

Parameters

NameTypeRequiredDescription
request_bodyBatchProvisionUsersRequestThe request body.
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)

Return Type

BatchProvisionUsersResponse

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import BatchProvisionUsersRequest

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

request_body = BatchProvisionUsersRequest(
records=[
{
"extension_number": "205",
"status": "Enabled",
"contact": {
"first_name": "John",
"last_name": "Smith",
"email": "[email protected]",
"mobile_number": "+16501234567",
"email_as_login_name": True
},
"cost_center": {
"id_": "224149"
},
"roles": [
{
"id_": "1"
}
],
"devices": [
{
"device_info": {
"type_": "OtherPhone",
"emergency": {
"address": {
"street": "20 Davis Dr",
"street2": "nostrud",
"city": "Belmont",
"state": "CA",
"zip": "94002",
"country": "US"
}
},
"phone_info": {
"toll_type": "Toll"
}
}
}
],
"send_welcome_email": True
}
]
)

result = sdk.user_settings.post_batch_provision_users(
request_body=request_body,
account_id="~"
)

print(result)

bulk_delete_users_v2

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.

  • HTTP Method: DELETE
  • Endpoint: /restapi/v2/accounts/{accountId}/extensions

Parameters

NameTypeRequiredDescription
request_bodyBulkDeleteUsersRequestThe request body.
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)

Return Type

BulkDeleteUsersResponse

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import BulkDeleteUsersRequest

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

request_body = BulkDeleteUsersRequest(
keep_assets_in_inventory=True,
records=[
{
"id_": "12345"
}
]
)

result = sdk.user_settings.bulk_delete_users_v2(
request_body=request_body,
account_id="~"
)

print(result)

read_extension

Returns basic information about a particular extension of an account.

  • HTTP Method: GET
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}

Parameters

NameTypeRequiredDescription
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Return Type

GetExtensionInfoResponse

Example Usage Code Snippet

from ring_central import RingCentral, Environment

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

result = sdk.user_settings.read_extension(
account_id="~",
extension_id="~"
)

print(result)

update_extension

Updates the user settings.

  • HTTP Method: PUT
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}

Parameters

NameTypeRequiredDescription
request_bodyExtensionUpdateRequestThe request body.
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Return Type

GetExtensionInfoResponse

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import ExtensionUpdateRequest

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

request_body = ExtensionUpdateRequest(
status="Disabled",
status_info={
"comment": "comment",
"reason": "SuspendedVoluntarily",
"till": "till"
},
extension_number="extensionNumber",
contact={
"first_name": "firstName",
"last_name": "lastName",
"company": "company",
"job_title": "jobTitle",
"email": "email",
"business_phone": "businessPhone",
"mobile_phone": "mobilePhone",
"business_address": {
"country": "country",
"state": "state",
"city": "city",
"street": "street",
"zip": "zip"
},
"email_as_login_name": False,
"pronounced_name": {
"type_": "Default",
"text": "text",
"prompt": {
"id_": "id",
"content_uri": "contentUri",
"content_type": "audio/mpeg"
}
},
"department": "department"
},
regional_settings={
"home_country": {
"id_": "id"
},
"timezone": {
"id_": "id"
},
"language": {
"id_": "id"
},
"greeting_language": {
"id_": "id"
},
"formatting_locale": {
"id_": "id"
},
"currency": {
"id_": "id"
},
"time_format": "12h"
},
setup_wizard_state="NotStarted",
partner_id="partnerId",
ivr_pin="ivrPin",
password="password",
call_queue_info={
"sla_goal": 0,
"sla_threshold_seconds": 7,
"include_abandoned_calls": False,
"abandoned_threshold_seconds": 10
},
transition={
"send_welcome_emails_to_users": True,
"send_welcome_email": True
},
custom_fields=[
{
"id_": "id",
"value": "value",
"display_name": "displayName"
}
],
site={
"id_": "id"
},
type_="User",
sub_type="VideoPro",
references=[
{
"ref": "ref",
"type_": "PartnerId",
"ref_acc_id": "refAccId"
}
]
)

result = sdk.user_settings.update_extension(
request_body=request_body,
account_id="~",
extension_id="~"
)

print(result)

list_extension_grants

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.

  • HTTP Method: GET
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/grant

Parameters

NameTypeRequiredDescription
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)
extension_typeExtensionTypeType 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
pageintIndicates a page number to retrieve. Only positive number values are allowed
per_pageintIndicates a page size (number of items)

Return Type

GetExtensionGrantListResponse

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import ExtensionType

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

result = sdk.user_settings.list_extension_grants(
account_id="~",
extension_id="~",
extension_type="User",
page=1,
per_page=100
)

print(result)

read_conferencing_settings

Returns information on Free Conference Calling (FCC) feature for a given extension.

  • HTTP Method: GET
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/conferencing

Parameters

NameTypeRequiredDescription
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)
country_idstrInternal identifier of a country. If not specified, the response is returned for the brand country

Return Type

GetConferencingInfoResponse

Example Usage Code Snippet

from ring_central import RingCentral, Environment

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

result = sdk.user_settings.read_conferencing_settings(
account_id="~",
extension_id="~",
country_id="countryId"
)

print(result)

update_conferencing_settings

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.

  • HTTP Method: PUT
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/conferencing

Parameters

NameTypeRequiredDescription
request_bodyUpdateConferencingInfoRequestThe request body.
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Return Type

GetConferencingInfoResponse

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import UpdateConferencingInfoRequest

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

request_body = UpdateConferencingInfoRequest(
phone_numbers=[
{
"phone_number": "phoneNumber",
"default": True
}
],
allow_join_before_host=False
)

result = sdk.user_settings.update_conferencing_settings(
request_body=request_body,
account_id="~",
extension_id="~"
)

print(result)

read_user_profile_image_legacy

Returns a profile image of an extension.

  • HTTP Method: GET
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image

Parameters

NameTypeRequiredDescription
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Return Type

bytes

Example Usage Code Snippet

from ring_central import RingCentral, Environment

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

result = sdk.user_settings.read_user_profile_image_legacy(
account_id="~",
extension_id="~"
)

with open("output-image.png", "wb") as f:
f.write(result)

create_user_profile_image

Uploads the extension profile image.

  • HTTP Method: POST
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image

Parameters

NameTypeRequiredDescription
request_bodydictThe request body.
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import CreateUserProfileImageRequest

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

request_body = {
"image": "image"
}

result = sdk.user_settings.create_user_profile_image(
request_body=request_body,
account_id="~",
extension_id="~"
)

print(result)

update_user_profile_image

Updates the extension profile image.

  • HTTP Method: PUT
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image

Parameters

NameTypeRequiredDescription
request_bodydictThe request body.
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import UpdateUserProfileImageRequest

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

request_body = {
"image": "image"
}

result = sdk.user_settings.update_user_profile_image(
request_body=request_body,
account_id="~",
extension_id="~"
)

print(result)

delete_user_profile_image

Deletes the user profile image.

  • HTTP Method: DELETE
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image

Parameters

NameTypeRequiredDescription
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Example Usage Code Snippet

from ring_central import RingCentral, Environment

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

result = sdk.user_settings.delete_user_profile_image(
account_id="~",
extension_id="~"
)

print(result)

read_extension_caller_id

Returns information on an outbound caller ID of an extension.

  • HTTP Method: GET
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id

Parameters

NameTypeRequiredDescription
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Return Type

ExtensionCallerIdInfo

Example Usage Code Snippet

from ring_central import RingCentral, Environment

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

result = sdk.user_settings.read_extension_caller_id(
account_id="~",
extension_id="~"
)

print(result)

update_extension_caller_id

Updates outbound caller ID information of an extension.

  • HTTP Method: PUT
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id

Parameters

NameTypeRequiredDescription
request_bodyExtensionCallerIdInfoRequestThe request body.
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Return Type

ExtensionCallerIdInfo

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import ExtensionCallerIdInfoRequest

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

request_body = ExtensionCallerIdInfoRequest(
uri="uri",
by_device=[
{
"device": {
"id_": "id"
},
"caller_id": {
"type_": "type",
"phone_info": {
"id_": "id"
}
}
}
],
by_feature=[
{
"feature": "RingOut",
"caller_id": {
"type_": "type",
"phone_info": {
"id_": "id"
}
}
}
],
extension_name_for_outbound_calls=False,
extension_number_for_internal_calls=False
)

result = sdk.user_settings.update_extension_caller_id(
request_body=request_body,
account_id="~",
extension_id="~"
)

print(result)

read_notification_settings

Returns notification settings for the current extension. Knowledge Article: User Settings - Set Up Message Notifications

  • HTTP Method: GET
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/notification-settings

Parameters

NameTypeRequiredDescription
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Return Type

NotificationSettings

Example Usage Code Snippet

from ring_central import RingCentral, Environment

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

result = sdk.user_settings.read_notification_settings(
account_id="~",
extension_id="~"
)

print(result)

update_notification_settings

Updates notification settings for the current extension. Knowledge Article: User Settings - Set Up Message Notifications

  • HTTP Method: PUT
  • Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/notification-settings

Parameters

NameTypeRequiredDescription
request_bodyNotificationSettingsUpdateRequestThe request body.
account_idstrInternal identifier of the RingCentral account (can be set to "~" to indicate that the account associated with current authorization session should be used)
extension_idstrInternal identifier of the RingCentral extension/user (can be set to "~" to indicate that the extension associated with current authorization session should be used)

Return Type

NotificationSettings

Example Usage Code Snippet

from ring_central import RingCentral, Environment
from ring_central.models import NotificationSettingsUpdateRequest

sdk = RingCentral(
access_token="YOUR_ACCESS_TOKEN",
base_url=Environment.DEFAULT.value
)

request_body = NotificationSettingsUpdateRequest(
email_addresses=[
"emailAddresses"
],
sms_email_addresses=[
"smsEmailAddresses"
],
advanced_mode=False,
voicemails={
"notify_by_email": False,
"notify_by_sms": True,
"advanced_email_addresses": [
"advancedEmailAddresses"
],
"advanced_sms_email_addresses": [
"advancedSmsEmailAddresses"
],
"include_attachment": False,
"include_transcription": False,
"mark_as_read": True
},
inbound_faxes={
"notify_by_email": True,
"notify_by_sms": True,
"advanced_email_addresses": [
"advancedEmailAddresses"
],
"advanced_sms_email_addresses": [
"advancedSmsEmailAddresses"
],
"include_attachment": False,
"mark_as_read": False
},
outbound_faxes={
"notify_by_email": True,
"notify_by_sms": False,
"advanced_email_addresses": [
"advancedEmailAddresses"
],
"advanced_sms_email_addresses": [
"advancedSmsEmailAddresses"
]
},
inbound_texts={
"notify_by_email": True,
"notify_by_sms": False,
"advanced_email_addresses": [
"advancedEmailAddresses"
],
"advanced_sms_email_addresses": [
"advancedSmsEmailAddresses"
]
},
missed_calls={
"notify_by_email": True,
"notify_by_sms": True,
"advanced_email_addresses": [
"advancedEmailAddresses"
],
"advanced_sms_email_addresses": [
"advancedSmsEmailAddresses"
]
},
include_managers=True
)

result = sdk.user_settings.update_notification_settings(
request_body=request_body,
account_id="~",
extension_id="~"
)

print(result)

Build Your Own SDKs with  liblab

Build developer friendly SDKs in minutes from your APIs

Start for Free →