---
title: "Update Multiple Extensions"
method: POST
path: "/restapi/v1.0/account/{accountId}/extension-bulk-update"
tags: ["Extensions"]
---

# Update Multiple Extensions

`POST /restapi/v1.0/account/{accountId}/extension-bulk-update`

Updates multiple extensions at once. Maximum 500 extensions can be updated per request.

## Path parameters

- `accountId` string, required

## Request body

- ExtensionBulkUpdateRequest — List of extensions to be updated
  - `records` ExtensionBulkUpdateInfo[], required
    - `id` string — Internal identifier of an extension
    - `status` 'Disabled' | 'Enabled' | 'NotActivated' | 'Frozen'
    - `statusInfo` ExtensionStatusInfo — Status information (reason, comment). Returned for 'Disabled' status only
      - `comment` string — A free-form user comment, describing the status change reason
      - `reason` 'SuspendedVoluntarily' | 'SuspendedInvoluntarily' | 'CancelledVoluntarily' | 'CancelledInvoluntarily' — Type of suspension
      - `till` string, date-time — Date until which an account will get deleted. The default value is 30 days since the current date
    - `reason` string — Type of suspension
    - `comment` string — Free form user comment
    - `extensionNumber` string — Extension number available
    - `contact` ContactInfoUpdateRequest
      - `firstName` string — For User extension type only. Extension user first name
      - `lastName` string — For User extension type only. Extension user last name
      - `company` string — Extension user company name
      - `jobTitle` string
      - `email` string, email — Email of extension user
      - `businessPhone` string — Extension user contact phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format
      - `mobilePhone` string — 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` ContactBusinessAddressInfo — User's business address. The default is Company (Auto-Receptionist) settings
        - `country` string — Country name of a user's company
        - `state` string — State/province name of a user's company. Mandatory for the USA, UK and Canada
        - `city` string — City name of a user's company
        - `street` string — Street address of a user's company
        - `zip` string — Zip code of a user's company
      - `emailAsLoginName` boolean — 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` PronouncedNameInfo
        - `type` 'Default' | 'TextToSpeech' | 'Recorded' — 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).
        - `text` string — Custom text (for `TextToSpeech` type only)
        - `prompt` PronouncedNamePromptInfo
          - `id` string
          - `contentUri` string, uri — Link to a prompt resource
          - `contentType` 'audio/mpeg' | 'audio/wav' — Content media type
      - `department` string — Extension user department, if any
    - `regionalSettings` ExtensionRegionalSettingRequest
      - `homeCountry` ExtensionCountryInfoRequest
        - `id` string — Internal identifier of a country
      - `timezone` ExtensionTimezoneInfoRequest
        - `id` string — Internal identifier of a timezone
      - `language` ExtensionLanguageInfoRequest
        - `id` string — Internal identifier of a language
      - `greetingLanguage` ExtensionGreetingLanguageInfoRequest
        - `id` string — Internal identifier of a greeting language
      - `formattingLocale` ExtensionFormattingLocaleInfoRequest
        - `id` string — Internal Identifier of a formatting language
      - `currency` ExtensionCurrencyInfoRequest
        - `id` string — Internal Identifier of a currency
      - `timeFormat` '12h' | '24h' — Time format setting
    - `setupWizardState` 'NotStarted' | 'Incomplete' | 'Completed' — Initial configuration wizard state
    - `partnerId` string — Additional extension identifier created by partner application and applied on client side
    - `ivrPin` string — IVR PIN
    - `password` string — Password for extension
    - `callQueueInfo` CallQueueInfoRequest — For Call Queue extension type only. Please note that legacy 'Department' extension type corresponds to 'Call Queue' extensions in modern RingCentral product terminology
      - `slaGoal` integer — Target percentage of calls that must be answered by agents within the service level time threshold
      - `slaThresholdSeconds` integer
      - `includeAbandonedCalls` boolean
      - `abandonedThresholdSeconds` integer
    - `transition` UserTransitionInfo — For NotActivated extensions only. Welcome email settings
      - `sendWelcomeEmailsToUsers` boolean — Specifies if a welcome/activation email is sent to the existing users during account confirmation
      - `sendWelcomeEmail` boolean — Specifies if a welcome/activation email is sent to the new users (within extension status changing from 'Unassigned' to 'NotActivated/Disabled')
    - `costCenter` CostCenterInfo — Cost center information. Applicable if Cost Center feature is enabled. The default is `root` cost center value
      - `id` string — Internal identifier of a cost center
      - `name` string — Name of a cost center
    - `customFields` CustomFieldInfo[]
      - `id` string — Internal identifier of a custom field
      - `value` string — Custom field value
      - `displayName` string
    - `hidden` boolean — Hides extension from showing in company directory. Supported for extensions of User type only
    - `site` ProvisioningSiteInfo — 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`
      - `id` string, uri — Internal identifier of a site
      - `uri` string, uri — Link to a site resource
      - `name` string — Name of a site
      - `code` string — Site code value. Returned only if specified
    - `type` 'User' | 'FaxUser' | 'VirtualUser' | 'DigitalUser' | 'Department' | 'Announcement' | 'Voicemail' | 'SharedLinesGroup' | 'PagingOnly' | 'IvrMenu' | 'ApplicationExtension' | 'ParkLocation' | 'DelegatedLinesGroup' — Extension type. Please note that legacy 'Department' extension type corresponds to 'Call Queue' extensions in modern RingCentral product terminology
    - `references` ReferenceInfo[] — List of non-RC internal identifiers assigned to an extension
      - `ref` string — Non-RC identifier of an extension
      - `type` 'PartnerId' | 'CustomerDirectoryId' — Type of external identifier
      - `refAccId` string — Primary federation admin account identifier

## Response `200`

Updated extensions

- ExtensionBulkUpdateTaskResource — Information on a task for updating multiple extensions
  - `uri` string, uri, required — Link to a task resource
  - `id` string, required — Internal identifier of a task
  - `status` 'Accepted' | 'InProgress' | 'Completed' | 'Failed', required — Task status
  - `creationTime` string, date-time, required — Task creation date/time
  - `lastModifiedTime` string, date-time, required — Task latest update date/time
  - `result` ExtensionBulkUpdateTaskResult — Result record on multiple extension update task
    - `affectedItems` ExtensionUpdateShortResult[]
      - `extensionId` string — Internal identifier of an extension
      - `status` 'Fail' | 'Success' — Extension update status
      - `errors` ErrorEntity[]
        - `errorCode` string — Error code
        - `message` string — Error message
        - `parameterName` string — Name of invalid parameter
        - `parameterValue` string — Value of invalid parameter
    - `errors` ErrorEntity[]
      - `errorCode` string — Error code
      - `message` string — Error message
      - `parameterName` string — Name of invalid parameter
      - `parameterValue` string — Value of invalid parameter

---

[API](https://skmtc.net/ringcentral/apis/ringcentral-api.md) · [All operations](https://skmtc.net/ringcentral/apis/ringcentral-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ringcentral/ringcentral-api/revisions/8d602198ec97/schema)
