RingCentral Extensions API

The Extensions API from RingCentral — 5 operation(s) for extensions.

Operations 6

POST /restapi/v1.0/account/{accountId}/extension-bulk-update Update Multiple Extensions #
GET /restapi/v1.0/account/{accountId}/extension-bulk-update/tasks/{taskId} Get Extension Update Task Status #
GET /restapi/v1.0/account/{accountId}/templates List User Templates #
GET /restapi/v1.0/account/{accountId}/templates/{templateId} Get User Template #
GET /restapi/v1.0/account/{accountId}/extension List Extensions #
POST /restapi/v1.0/account/{accountId}/extension Create Extension #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ringcentral-extensions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ringcentral-extensions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: RingCentral Adaptive Cards Extensions 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: Extensions
paths:
  /restapi/v1.0/account/{accountId}/extension-bulk-update:
    post:
      tags:
      - Extensions
      summary: Update Multiple Extensions
      description: 'Updates multiple extensions at once. Maximum 500 extensions can be updated per request.

        '
      operationId: extensionBulkUpdate
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        description: JSON body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtensionBulkUpdateRequest'
        required: true
      responses:
        '200':
          description: Updated extensions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtensionBulkUpdateTaskResource'
      x-feature: EditExtensionInfo
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: EditExtensions
      x-user-permission: EditExtensionInfo
  /restapi/v1.0/account/{accountId}/extension-bulk-update/tasks/{taskId}:
    get:
      tags:
      - Extensions
      summary: Get Extension Update Task Status
      description: 'Returns a status of a task to update multiple extensions.

        '
      operationId: getExtensionBulkUpdateTask
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: taskId
        in: path
        description: 'Internal identifier of a task

          '
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Bulk update task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtensionBulkUpdateTaskResource'
      x-feature: EditExtensionInfo
      x-availability: Limited
      x-throttling-group: Light
      x-app-permission: EditExtensions
      x-user-permission: EditExtensionInfo
  /restapi/v1.0/account/{accountId}/templates:
    get:
      tags:
      - Extensions
      summary: List User Templates
      description: 'Returns the list of user templates for the current account.

        '
      operationId: listUserTemplates
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: type
        description: Type of template
        in: query
        schema:
          type: string
          enum:
          - UserSettings
          - CallHandling
      - name: page
        in: query
        description: 'Indicates a page number to retrieve. Only positive number values

          are allowed. Default value is ''1''

          '
        schema:
          type: integer
          format: int32
          default: 1
      - name: perPage
        in: query
        description: Indicates a page size (number of items). If not specified, the value is '100' by default
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: User templates information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserTemplates'
      x-feature: ReadCompanyInfo
      x-availability: High
      x-throttling-group: Medium
      x-app-permission: ReadAccounts
      x-user-permission: ReadCompanyInfo
  /restapi/v1.0/account/{accountId}/templates/{templateId}:
    get:
      tags:
      - Extensions
      summary: Get User Template
      description: 'Returns the user template by ID.

        '
      operationId: readUserTemplate
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: templateId
        in: path
        required: true
        description: Internal identifier of a template
        schema:
          type: string
      responses:
        '200':
          description: User template information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateInfo'
      x-feature: ReadCompanyInfo
      x-availability: High
      x-throttling-group: Light
      x-app-permission: ReadAccounts
      x-user-permission: ReadCompanyInfo
  /restapi/v1.0/account/{accountId}/extension:
    get:
      tags:
      - Extensions
      summary: List Extensions
      description: 'Returns the list of extensions created for a particular account.

        All types of extensions are included in this list.

        '
      operationId: listExtensions
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: extensionNumber
        in: query
        description: Extension short number to filter records
        schema:
          type: string
      - name: email
        in: query
        description: 'Extension email address. Multiple values are accepted

          '
        example: alice.smith@example.com&email=bob.johnson@example.com
        schema:
          type: string
      - 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
      - name: status
        in: query
        description: 'Extension current state. Multiple values are supported. If ''Unassigned''

          is specified, then extensions without `extensionNumber` attribute are returned.

          If not specified, then all extensions are returned

          '
        allowEmptyValue: true
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - Enabled
            - Disabled
            - NotActivated
            - Unassigned
      - name: type
        in: query
        description: 'Extension type. Multiple values are supported. Please note

          that legacy ''Department'' extension type corresponds to ''Call Queue''

          extensions in modern RingCentral product terminology

          '
        allowEmptyValue: true
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - User
            - FaxUser
            - FlexibleUser
            - VirtualUser
            - DigitalUser
            - Department
            - Announcement
            - Voicemail
            - SharedLinesGroup
            - PagingOnly
            - IvrMenu
            - ApplicationExtension
            - ParkLocation
            - Limited
            - Bot
            - ProxyAdmin
            - DelegatedLinesGroup
            - Site
      responses:
        '200':
          description: Extension list information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExtensionListResponse'
      x-feature: ReadExtensions
      x-availability: High
      x-throttling-group: Medium
      x-app-permission: ReadAccounts
      x-user-permission: ReadExtensions
      x-notifications:
      - $ref: '#/components/schemas/ExtensionListEvent'
    post:
      tags:
      - Extensions
      summary: Create Extension
      description: 'Creates an extension.

        '
      operationId: createExtension
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        description: JSON body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtensionCreationRequest'
        required: true
      responses:
        '200':
          description: Created extension information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtensionCreationResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
      x-feature: EditUsers
      x-availability: Limited
      x-throttling-group: Medium
      x-app-permission: EditAccounts
      x-user-permission: AddRemoveUsers
components:
  schemas:
    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

        '
    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

        '
    ExtensionCreationRequest:
      type: object
      properties:
        contact:
          $ref: '#/components/schemas/ContactInfoCreationRequest'
        extensionNumber:
          type: string
          description: Extension short number
        costCenter:
          $ref: '#/components/schemas/CostCenterInfo'
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldInfo'
        password:
          type: string
          description: Password for extension. If not specified, the password is auto-generated
        references:
          type: array
          description: List of non-RC internal identifiers assigned to an extension
          items:
            $ref: '#/components/schemas/ReferenceInfo'
        regionalSettings:
          $ref: '#/components/schemas/RegionalSettings'
        partnerId:
          type: string
          description: 'Additional extension identifier, created by partner application

            and applied on client side

            '
        ivrPin:
          type: string
          description: IVR PIN
        setupWizardState:
          $ref: '#/components/schemas/SetupWizardStateForUpdateEnum'
        site:
          $ref: '#/components/schemas/SiteInfo'
        status:
          type: string
          description: Extension current state
          enum:
          - Enabled
          - Disabled
          - NotActivated
          - Unassigned
          - Frozen
        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
          - VirtualUser
          - DigitalUser
          - FlexibleUser
          - Department
          - Announcement
          - Voicemail
          - SharedLinesGroup
          - PagingOnly
          - ParkLocation
          - Limited
        hidden:
          type: boolean
          description: 'Hides extension from showing in company directory. Supported

            for extensions of ''User'' type only. For unassigned extensions the value

            is set to `true` by default. For assigned extensions the value is set

            to `false` by default

            '
    ExtensionBulkUpdateRequest:
      required:
      - records
      description: List of extensions to be updated
      type: object
      properties:
        records:
          type: array
          items:
            $ref: '#/components/schemas/ExtensionBulkUpdateInfo'
    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
    ExtensionBulkUpdateTaskResult:
      type: object
      description: Result record on multiple extension update task
      properties:
        affectedItems:
          type: array
          items:
            $ref: '#/components/schemas/ExtensionUpdateShortResult'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
    ErrorEntity:
      type: object
      properties:
        errorCode:
          type: string
          description: Error code
        message:
          type: string
          description: Error message
        parameterName:
          type: string
          description: Name of invalid parameter
        parameterValue:
          type: string
          description: Value of invalid parameter
    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
    GetExtensionListResponse:
      required:
      - records
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to an extension list resource
        records:
          type: array
          description: List of extensions with extension information
          items:
            $ref: '#/components/schemas/GetExtensionListInfoResponse'
        navigation:
          $ref: '#/components/schemas/PageNavigationModel'
        paging:
          $ref: '#/components/schemas/EnumeratedPagingModel'
    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
    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`

        '
    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
    TemplateInfo:
      type: object
      description: Text message template information
      required:
      - text
      properties:
        text:
          type: string
          description: "Text of the message template. Maximum length is 1000 symbols (2-byte UTF-16 encoded). \nIf a character is encoded in 4 bytes in UTF-16 it is treated as 2 characters, \nthus limiting the maximum message length up to 500 symbols\n"
    ExtensionListEventBody:
      type: object
      properties:
        extensionId:
          type: string
          description: Internal identifier of an extension
        eventType:
          type: string
          description: Type of extension info change
          enum:
          - Create
          - Update
          - Delete
        ownerId:
          type: string
          description: 'Internal identifier of a subscription owner extension

            '
      description: Notification payload body
    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

        '
    ExtensionLanguageInfoRequest:
      type: object
      properties:
        id:
          type: string
          description: Internal identifier of a language
    ExtensionBulkUpdateTaskResource:
      required:
      - creationTime
      - id
      - lastModifiedTime
      - status
      - uri
      type: object
      description: 'Information on a task for updating multiple extensions

        '
      properties:
        uri:
          type: string
          format: uri
          description: Link to a task resource
        id:
          type: string
          description: Internal identifier of a task
        status:
          type: string
          description: Task status
          enum:
          - Accepted
          - InProgress
          - Completed
          - Failed
        creationTime:
          type: string
          format: date-time
          description: Task creation date/time
        lastModifiedTime:
          type: string
          format: date-time
          description: Task latest update date/time
        result:
          $ref: '#/components/schemas/ExtensionBulkUpdateTaskResult'
    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
    CountryInfoBasicModel:
      allOf:
      - $ref: '#/components/schemas/CountryInfoMinimalModel'
      - type: object
        properties:
          name:
            type: string
            description: The official name of a country
    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

        '
    SiteInfo:
      type: object
      properties:
        id:
          type: string
          description: Internal identifier of a site extension
        uri:
          type: string
          format: uri
          description: Link to a site resource
        name:
          type: string
          description: Extension user first name
        extensionNumber:
          type: string
          description: Extension number
        callerIdName:
          type: string
          description: 'Custom name of a caller. Max number of characters is 15 (only

            alphabetical symbols, numbers and commas are supported)

            '
        email:
          type: string
          format: email
          description: Site extension contact email
        businessAddress:
          $ref: '#/components/schemas/ContactBusinessAddressInfo'
        regionalSettings:
          $ref: '#/components/schemas/RegionalSettings'
        operator:
          $ref: '#/components/schemas/OperatorInfo'
        code:
          type: string
          description: 'Site code value. Returned only if specified

            '
    PermissionInfoAdmin:
      type: object
      properties:
        enabled:
          type: boolean
          description: Specifies if a permission is enabled or not
      description: Admin permission
    ProfileImageInfoURI:
      type: object
      properties:
        uri:
          type: string
          format: uri
    UserTemplates:
      required:
      - navigation
      - paging
      - records
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to user templates resource
        records:
          type: array
          description: List of user templates
          items:
            $ref: '#/components/schemas/TemplateInfo'
        navigation:
          $ref: '#/components/schemas/PageNavigationModel'
        paging:
          $ref: '#/components/schemas/EnumeratedPagingModel'
    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

            '
    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'
    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'
    OperatorInfo:
      type: object
      properties:
        id:
          type: string
          description: Internal identifier of an operator
        uri:
          type: string
          format: uri
          description: Link to an operator resource
        extensionNumber:
          type: string
          description: Extension number (pin)
        name:
          type: string
          description: Operator extension user full name
      description: 'Site Fax/SMS recipient (operator) reference. Multi-level IVR should

        be enabled

        '
    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
    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
    ExtensionListEvent:
      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/ExtensionListEventBody'
    PageNavigationUri:
      type: object
      additionalProperties: false
      properties:
        uri:
          type: string
          description: Canonical URI to retrieve the particular page of the result set
          format: uri
    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

        '
    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''

        '
    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
    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:
  

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ringcentral/refs/heads/main/openapi/ringcentral-extensions-api-openapi.yml