openapi: 3.0.3 info: title: RingCentral Adaptive Cards Phone Numbers 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: Phone Numbers paths: /restapi/v2/accounts/{accountId}/phone-numbers: get: tags: - Phone Numbers summary: List Account Phone Numbers description: 'Returns the list of phone numbers assigned to RingCentral customer account. Both company-level and extension-level numbers are returned. Conferencing numbers, hot desk and ELIN numbers are not returned. ' operationId: listAccountPhoneNumbersV2 parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - name: type in: query description: Types of phone numbers to be returned required: false schema: type: array items: $ref: '#/components/schemas/PhoneNumberType' - name: usageType in: query description: Usage type(s) of phone numbers to be returned style: form explode: true schema: type: array items: $ref: '#/components/schemas/PhoneNumberUsageType' - name: status in: query required: false description: Status of the phone number(s) to be returned schema: $ref: '#/components/schemas/PhoneNumberStatus' - name: tollType in: query required: false description: Toll type of phone numbers to return schema: $ref: '#/components/schemas/PhoneNumberTollType' - name: extensionStatus in: query description: Statuses of extensions to return phone numbers for required: false schema: $ref: '#/components/schemas/ExtensionStatus' - name: byocNumber in: query description: The parameter reflects whether this number is BYOC or not required: false schema: type: boolean - name: phoneNumber in: query description: 'Phone number in e.164 format to be searched for. Parameter value can include wildcards (e.g. "+165012345**") or be an exact number "+16501234500" - single number is searched in that case. Make sure you escape the "+" in the URL as "%2B" ' required: false schema: type: string maxLength: 18 responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccountPhoneNumberList' examples: ListAccountPhoneNumbersResponse: $ref: '#/components/examples/ListAccountPhoneNumbersResponse' '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-availability: Limited x-throttling-group: Heavy x-app-permission: ReadAccounts x-user-permission: ReadCompanyPhoneNumbers delete: tags: - Phone Numbers summary: Delete Numbers from Inventory description: "This method can only delete numbers that meet one of the following requirements:\n - numbers that have `\"usageType\": \"Inventory\"`\n - `\"Forwarded\"` numbers\n - `\"Forwarded Company\"` numbers\n\nIn other words, this method will not delete numbers which are in use on the account - extension direct numbers,\nmain number, etc. It is possible to indicate phone numbers to be deleted using their IDs or exact string values\nin e.164 format. However, the same lookup method (by ID or by value) must be used for all numbers within the same API call.\n" operationId: deleteNumbersFromInventoryV2 parameters: - $ref: '#/components/parameters/AccountId' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeletePhoneNumbersRequest' examples: DeletePhoneNumbersRequest: $ref: '#/components/examples/DeletePhoneNumbersRequest' required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/DeletePhoneNumbersResponse' examples: DeletePhoneNumbersResponse: $ref: '#/components/examples/DeletePhoneNumbersResponse' '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-availability: Limited x-throttling-group: Medium x-app-permission: EditAccounts x-user-permission: EditCompanyPhoneNumbers /restapi/v2/accounts/{accountId}/phone-numbers/{phoneNumberId}: patch: tags: - Phone Numbers summary: Assign Phone Number description: 'Assigns or reassigns a phone number as a company or extension number. Assign scenarios supported: - from Inventory to a company number; - from Inventory to an extension number. Reassign scenarios supported: - from an extension to another extension; - from an extension to a company number; - from a company number to an extension. ' operationId: assignPhoneNumberV2 parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/PhoneNumberId' requestBody: content: application/json: schema: $ref: '#/components/schemas/AssignPhoneNumberRequest' examples: AssignPhoneNumberRequest: $ref: '#/components/examples/AssignPhoneNumberRequest' required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccountPhoneNumberInfo' examples: AssignPhoneNumberResponse: $ref: '#/components/examples/AssignPhoneNumberResponse' '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-availability: Limited x-throttling-group: Medium x-app-permission: EditAccounts x-user-permission: EditCompanyPhoneNumbers /restapi/v2/accounts/{accountId}/phone-numbers/{phoneNumberId}/replace: post: tags: - Phone Numbers summary: Replace Phone Number description: 'Replaces (swaps) phone numbers from Inventory with the main, company, direct or company fax numbers. This method is used to replace temporary numbers when the porting process is complete. ' operationId: replacePhoneNumberV2 parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/PhoneNumberId' requestBody: content: application/json: schema: $ref: '#/components/schemas/ReplacePhoneNumberRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AccountPhoneNumberInfo' '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-availability: Limited x-throttling-group: Medium x-app-permission: EditAccounts x-user-permission: EditCompanyPhoneNumbers /restapi/v2/accounts/{accountId}/phone-numbers/bulk-add: post: tags: - Phone Numbers summary: Add Numbers to Inventory description: 'Adds phone numbers to the account Inventory as unassigned. Currently, we support the following values: `Inventory`, `InventoryPartnerBusinessMobileNumber` and `PartnerBusinessMobileNumber`. Later we may support some other values like `ForwardedNumber`, etc. ' operationId: addNumbersToInventoryV2 parameters: - $ref: '#/components/parameters/AccountId' requestBody: description: List of phone numbers content: application/json: schema: $ref: '#/components/schemas/AddPhoneNumbersRequest' examples: AddPhoneNumbersRequest: $ref: '#/components/examples/AddPhoneNumbersRequest' required: true responses: '200': description: Successful response (synchronous operation) content: application/json: schema: $ref: '#/components/schemas/AddPhoneNumbersResponse' examples: AddPhoneNumbersResponse: $ref: '#/components/examples/AddPhoneNumbersResponse' '202': description: Successful response (asynchronous operation) content: application/json: schema: $ref: '#/components/schemas/AddPhoneNumbersTask' '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-availability: Limited x-throttling-group: Heavy x-app-permission: EditAccounts x-user-permission: EditCompanyPhoneNumbers /restapi/v2/accounts/{accountId}/phone-numbers/bulk-add/{taskId}: get: tags: - Phone Numbers summary: Get Add Numbers Task Results description: 'Returns the result of asynchronous operation which adds phone numbers to the account Inventory. ' parameters: - $ref: '#/components/parameters/AccountId' - name: taskId in: path description: Identifier of a task returned by asynchronous bulk add operation required: true schema: type: string operationId: getBulkAddTaskResultsV2 responses: '200': description: Successful response content: application/json: schema: oneOf: - $ref: '#/components/schemas/AddPhoneNumbersResponse' - $ref: '#/components/schemas/AddPhoneNumbersTask' '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-availability: Limited x-throttling-group: Heavy x-app-permission: EditAccounts x-user-permission: EditCompanyPhoneNumbers /restapi/v1.0/account/{accountId}/extension/{extensionId}/phone-number: get: tags: - Phone Numbers summary: Get Extension Phone Number List description: 'Returns the list of phone numbers that are used by a particular extension, can be filtered by the phone number type. The returned list contains all numbers which are directly mapped to the given extension. Plus the features and company-level numbers that may be used when performing different operations on behalf of this extension. ' operationId: listExtensionPhoneNumbers parameters: - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/ExtensionId' - name: status in: query description: Status of a phone number schema: type: string enum: - Normal - Pending - PortedIn - Temporary - name: usageType in: query description: Usage type of phone number style: form explode: true schema: type: array items: type: string enum: - MainCompanyNumber - AdditionalCompanyNumber - CompanyNumber - DirectNumber - CompanyFaxNumber - ForwardedNumber - ForwardedCompanyNumber - BusinessMobileNumber - PartnerBusinessMobileNumber - IntegrationNumber - 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: 'OK: User Phone Number List' content: application/json: schema: $ref: '#/components/schemas/GetExtensionPhoneNumbersResponse' x-feature: ReadExtensionPhoneNumbers x-availability: High x-throttling-group: Light x-app-permission: ReadAccounts x-user-permission: ReadUserPhoneNumbers /restapi/v1.0/account/{accountId}/phone-number: get: tags: - Phone Numbers summary: List Company Phone Numbers description: 'Returns the list of phone numbers assigned to RingCentral customer account. Both company-level and extension-level numbers are returned. ' operationId: listAccountPhoneNumbers parameters: - $ref: '#/components/parameters/AccountId' - name: page in: query description: 'Indicates a page number to retrieve. Only positive number values are accepted ' 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: usageType in: query description: Usage type of phone number style: form explode: true schema: type: array items: type: string enum: - MainCompanyNumber - AdditionalCompanyNumber - CompanyNumber - DirectNumber - CompanyFaxNumber - ForwardedNumber - ForwardedCompanyNumber - ContactCenterNumber - ConferencingNumber - MeetingsNumber - BusinessMobileNumber - PartnerBusinessMobileNumber - IntegrationNumber - name: paymentType in: query description: Payment Type of the number schema: $ref: '#/components/schemas/PlatformPaymentType' - name: status in: query description: Status of a phone number schema: type: string enum: - Normal - Pending - PortedIn - Temporary responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AccountPhoneNumbers' x-feature: ReadAccountPhoneNumbers x-availability: High x-throttling-group: Heavy x-app-permission: ReadAccounts x-user-permission: ReadCompanyPhoneNumbers /restapi/v1.0/account/{accountId}/phone-number/{phoneNumberId}: get: tags: - Phone Numbers summary: Get Phone Number description: 'Returns phone number(s) belonging to a certain account or extension by phoneNumberId(s). [Batch request syntax](https://developers.ringcentral.com/api-reference/Batch-Requests) is supported. ' operationId: readAccountPhoneNumber parameters: - $ref: '#/components/parameters/AccountId' - name: phoneNumberId in: path description: Internal identifier of a phone number required: true schema: type: integer format: int64 responses: '200': description: Phone number information content: application/json: schema: $ref: '#/components/schemas/CompanyPhoneNumberInfo' x-feature: ReadAccountPhoneNumbers x-availability: High x-throttling-group: Light x-app-permission: ReadAccounts x-user-permission: ReadCompanyPhoneNumbers /restapi/v1.0/number-parser/parse: post: tags: - Phone Numbers summary: Parse Phone Number(s) description: Returns one or more parsed and/or formatted phone numbers that are passed as strings. operationId: parsePhoneNumber parameters: - name: homeCountry in: query required: false description: 'ISO 3166 alpha2 code of the home country to be used if it is impossible to determine country from the number itself. By default, this parameter is preset to the current user''s home country or brand country if the user is undefined ' schema: type: string example: US - name: nationalAsPriority in: query required: false description: 'The default value is `false`. If `true`, the numbers that are closer to the home country are given higher priority ' schema: type: boolean default: false requestBody: description: Phone number list to parse content: application/json: schema: $ref: '#/components/schemas/ParsePhoneNumberRequest' required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ParsePhoneNumberResponse' '400': $ref: '#/components/responses/InvalidRequest' '500': $ref: '#/components/responses/InternalError' '503': $ref: '#/components/responses/ServiceNotAvailable' x-availability: High x-throttling-group: Light components: schemas: PhoneNumberId: type: string pattern: ^[1-9]\d{1,14}$ description: Internal unique identifier of a phone number maxLength: 18 example: '1162820004' UserPhoneNumberInfo: type: object properties: uri: type: string format: uri description: Link to the user phone number resource id: type: integer format: int64 description: Internal identifier of a phone number country: $ref: '#/components/schemas/CountryInfoBasicModel' contactCenterProvider: $ref: '#/components/schemas/ContactCenterProvider' extension: $ref: '#/components/schemas/UserPhoneNumberExtensionInfo' label: type: string description: Custom user-defined name of a phone number, if any location: type: string description: Location (City, State). Filled for local US numbers paymentType: $ref: '#/components/schemas/PlatformPaymentType' phoneNumber: type: string description: Phone number primary: type: boolean description: 'Indicates if a phone number is primary, i.e. displayed as ''main number'' and called by default ' example: false status: type: string description: 'Status of a phone number. If the value is ''Normal'', the phone number is ready to be used. Otherwise, it is an external number not yet ported to RingCentral ' enum: - Normal - Pending - PortedIn - Temporary type: type: string description: Phone number type enum: - VoiceFax - FaxOnly - VoiceOnly subType: type: string description: 'Extension subtype, if applicable. For any unsupported subtypes the ''Unknown'' value will be returned ' enum: - VideoPro - VideoProPlus - DigitalSignage - Unknown - Emergency usageType: type: string description: 'Usage type of phone number. Numbers of ''NumberPool'' type will not be returned for phone number list requests ' enum: - MainCompanyNumber - AdditionalCompanyNumber - CompanyNumber - DirectNumber - CompanyFaxNumber - ForwardedNumber - ForwardedCompanyNumber - ContactCenterNumber - ConferencingNumber - NumberPool - BusinessMobileNumber - PartnerBusinessMobileNumber - IntegrationNumber features: type: array description: List of features of a phone number items: type: string enum: - CallerId - SmsSender - A2PSmsSender - MmsSender - InternationalSmsSender - Delegated ReplacePhoneNumberRequest: type: object properties: targetPhoneNumberId: $ref: '#/components/schemas/PhoneNumberId' GetCountryInfoNumberParser: type: object properties: id: type: string description: Internal identifier of a country uri: type: string format: uri description: Canonical URI of a country resource callingCode: type: string description: 'Country calling code defined by ITU-T recommendations `E.123` and `E.164`, see Calling Codes ' example: '1' isoCode: type: string description: Country code in `ISO 3166` alpha-2 format pattern: ^[A-Za-z]{2}$ example: US name: type: string description: The official name of the country. example: United States AccountPhoneNumberList: type: object required: - records - paging properties: records: type: array description: List of account phone numbers items: $ref: '#/components/schemas/AccountPhoneNumberInfo' paging: $ref: '#/components/schemas/EnumeratedPagingModel' AccountPhoneNumbers: type: object properties: uri: type: string format: uri description: Link to a list of account phone numbers records: type: array description: List of account phone numbers items: $ref: '#/components/schemas/CompanyPhoneNumberInfo' navigation: $ref: '#/components/schemas/PageNavigationModel' paging: $ref: '#/components/schemas/EnumeratedPagingModel' AddPhoneNumbersResponse: type: object required: - records properties: records: type: array minItems: 1 description: List of account phone numbers items: $ref: '#/components/schemas/AddPhoneNumbersResponseItem' DeletePhoneNumbersRequestItem: type: object description: The indication of a number to be deleted - either "id" or "phoneNumber" must be specified. properties: id: $ref: '#/components/schemas/PhoneNumberId' phoneNumber: $ref: '#/components/schemas/PhoneNumberE164' PhoneNumberStatus: type: string description: Status of a phone number. If the value is 'Normal', the phone number is ready to be used. Otherwise, it is an external number not yet ported to RingCentral enum: - Normal - Pending - PortedIn - Temporary - Unknown 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 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 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 AddPhoneNumbersTask: type: object properties: id: type: string description: Internal identifier of a task creationTime: type: string format: date-time description: Task creation time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format status: type: string description: Task status example: Accepted DeletePhoneNumbersResponse: type: object required: - records properties: records: type: array minItems: 1 items: $ref: '#/components/schemas/DeletePhoneNumbersResponseItem' GetExtensionPhoneNumbersResponse: required: - navigation - paging - records type: object properties: uri: type: string format: uri description: Link to the user phone number list resource records: type: array description: List of phone numbers items: $ref: '#/components/schemas/UserPhoneNumberInfo' navigation: $ref: '#/components/schemas/PageNavigationModel' paging: $ref: '#/components/schemas/EnumeratedPagingModel' 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' 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 PageNavigationUri: type: object additionalProperties: false properties: uri: type: string description: Canonical URI to retrieve the particular page of the result set format: uri AddPhoneNumberRequestItem: type: object required: - phoneNumber - usageType properties: phoneNumber: type: string description: 'Phone number in e.164 format (with ''+'' prefix). Wildcards are supported to pass large sets (for example 100 numbers); only one phone number record must be passed in request in that case, for example ''+1650123456*'' ' usageType: type: string description: 'Usage type of phone number. Currently, we support the following values: `Inventory`, `InventoryPartnerBusinessMobileNumber` and `PartnerBusinessMobileNumber`. Later we may support some other values like `ForwardedNumber`, etc. ' default: Inventory enum: - Inventory - InventoryPartnerBusinessMobileNumber - PartnerBusinessMobileNumber PhoneNumberType: type: string description: Type of phone number nullable: true enum: - VoiceFax - VoiceOnly - FaxOnly ExtensionStatus: type: string description: Extension status enum: - Enabled - Disabled - Frozen - NotActivated - Unassigned ParsePhoneNumberResponse: required: - homeCountry - phoneNumbers type: object properties: uri: type: string format: uri description: Canonical URI of a resource homeCountry: $ref: '#/components/schemas/GetCountryInfoNumberParser' phoneNumbers: type: array description: Parsed phone numbers information items: $ref: '#/components/schemas/PhoneNumberInfoNumberParser' 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' 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' PhoneNumberUsageType: type: string description: Usage type of phone number enum: - MainCompanyNumber - DirectNumber - Inventory - InventoryPartnerBusinessMobileNumber - PartnerBusinessMobileNumber - AdditionalCompanyNumber - CompanyNumber - PhoneLine - CompanyFaxNumber - ForwardedNumber - ForwardedCompanyNumber - ContactCenterNumber - ConferencingNumber - MeetingsNumber - BusinessMobileNumber - ELIN ParsePhoneNumberRequest: type: object properties: originalStrings: type: array description: The list of phone numbers passed as an array of strings (not more than 64 items). The maximum size of each string is 64 characters maxItems: 64 items: type: string maxLength: 64 example: (650) 722-1621 AssignPhoneNumberRequest: type: object required: - usageType properties: type: $ref: '#/components/schemas/PhoneNumberType' usageType: type: string description: Target usage type of phone number (only listed values are supported) enum: - MainCompanyNumber - CompanyNumber - DirectNumber - PhoneLine extension: type: object required: - id properties: id: type: string description: Internal identifier of an extension costCenterId: type: string AccountPhoneNumberInfo: type: object required: - id - tollType - usageType - status - phoneNumber properties: id: $ref: '#/components/schemas/PhoneNumberId' phoneNumber: $ref: '#/components/schemas/PhoneNumberE164' type: $ref: '#/components/schemas/PhoneNumberType' tollType: $ref: '#/components/schemas/PhoneNumberTollType' usageType: $ref: '#/components/schemas/PhoneNumberUsageType' byocNumber: type: boolean status: $ref: '#/components/schemas/PhoneNumberStatus' extension: type: object description: Reference to the extension this number is assigned to. Omitted for company numbers required: - id properties: id: type: string description: Unique identifier of extension example: '1234567' extensionNumber: $ref: '#/components/schemas/ExtensionNumber' CompanyPhoneNumberInfo: type: object properties: uri: type: string format: uri description: Link to a company phone number resource id: type: integer format: int64 description: Internal identifier of a phone number country: $ref: '#/components/schemas/CountryInfoBasicModel' extension: $ref: '#/components/schemas/ExtensionInfo' label: type: string description: Custom user-defined name of a phone number, if any location: type: string description: Location (City, State). Filled for local US numbers paymentType: $ref: '#/components/schemas/PlatformPaymentType' phoneNumber: type: string description: Phone number status: type: string description: 'Status of a phone number. If the value is ''Normal'', the phone number is ready to be used. If the value is ''Pending'' it is an external number not yet ported to RingCentral. ' enum: - Normal - Pending - PortedIn - Temporary type: type: string description: Phone number type enum: - VoiceFax - FaxOnly - VoiceOnly usageType: type: string description: 'Usage type of phone number. Usage type of phone number. Numbers of ''NumberPool'' type are not returned in phone number list requests ' enum: - MainCompanyNumber - AdditionalCompanyNumber - CompanyNumber - DirectNumber - CompanyFaxNumber - ForwardedNumber - ForwardedCompanyNumber - ContactCenterNumber - ConferencingNumber - MeetingsNumber - NumberPool - BusinessMobileNumber - PartnerBusinessMobileNumber - IntegrationNumber temporaryNumber: $ref: '#/components/schemas/TemporaryNumberInfo' contactCenterProvider: $ref: '#/components/schemas/ContactCenterProvider' vanityPattern: type: string description: Vanity pattern for this number. Returned only when vanity search option is requested. Vanity pattern corresponds to request parameters `nxx` plus `line` or `numberPattern` primary: type: boolean description: Specifies if a phone number is primary, i.e. displayed as 'main number' and called by default 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' PhoneNumberInfoNumberParser: type: object properties: originalString: type: string description: Original phone number string as it was passed in the request example: (650) 722-1621 country: $ref: '#/components/schemas/GetCountryInfoNumberParser' areaCode: type: string description: 'Area code of location. The portion of the [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) number that identifies a specific geographic region/numbering area of the national numbering plan (NANP); that can be summarized as `NPA-NXX-xxxx` and covers Canada, the United States, parts of the Caribbean Sea, and some Atlantic and Pacific islands. See [North American Numbering Plan](https://en.wikipedia.org/wiki/North_American_Numbering_Plan) for details ' example: '650' dialable: type: string description: Dialing format of a phone number e164: type: string description: Phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format formattedInternational: type: string description: The formatted phone number string in international format formattedNational: type: string description: The formatted phone number string in domestic format special: type: boolean description: Indicates if the number is in a special format (for example N11 code)' normalized: type: string description: Phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format without plus sign ('+') tollFree: type: boolean description: Indicates if the number is toll free subAddress: type: string description: Sub-Address. The portion of the number that identifies a subscriber into the subscriber internal (non-public) network. subscriberNumber: type: string description: Subscriber number. The portion of the [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) number that identifies a subscriber in a network or numbering area. dtmfPostfix: type: string description: DTMF (Dual Tone Multi-Frequency) postfix PlatformPaymentType: type: string description: 'Payment type. ''External'' is returned for forwarded numbers which are not terminated in the RingCentral phone system ' enum: - External - TollFree - Local - BusinessMobileNumberProvider - ExternalNumberProvider - ExternalNumberProviderTollFree CountryInfoBasicModel: allOf: - $ref: '#/components/schemas/CountryInfoMinimalModel' - type: object properties: name: type: string description: The official name 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' ContactCenterProvider: type: object properties: id: type: string description: Internal identifier of the provider name: type: string description: Provider's name description: 'CCRN (Contact Center Routing Number) provider. If not specified then the default value ''InContact/North America'' is used, its ID is ''1'' ' PhoneNumberE164: type: string pattern: ^\+[1-9]\d{1,14}$ description: Phone number in e.164 format (with '+' prefix) maxLength: 18 example: '+16501234567' DeletePhoneNumbersRequest: type: object required: - records properties: records: type: array description: List of phone numbers or phone IDs to be deleted minItems: 1 items: $ref: '#/components/schemas/DeletePhoneNumbersRequestItem' UserPhoneNumberExtensionInfo: type: object properties: id: type: integer format: int64 description: Internal identifier of an extension uri: type: string format: uri description: Canonical URI of an extension extensionNumber: type: string description: Extension short number partnerId: type: string description: 'For Partner Applications Internal identifier of an extension created by partner. The RingCentral supports the 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 ' 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 - VirtualUser - DigitalUser - Department - Announcement - Voicemail - SharedLinesGroup - PagingOnly - IvrMenu - ApplicationExtension - ParkLocation - Site contactCenterProvider: $ref: '#/components/schemas/ContactCenterProvider' name: type: string description: 'Extension name. For user extension types the value is a combination of the specified first name and last name ' description: 'Information on the extension, to which the phone number is assigned. Returned only for the request of Account phone number list ' AddPhoneNumbersResponseItem: allOf: - $ref: '#/components/schemas/BulkItemResultModel' - type: object required: - phoneNumber properties: id: $ref: '#/components/schemas/PhoneNumberId' phoneNumber: $ref: '#/components/schemas/PhoneNumberE164' PhoneNumberTollType: description: Indicates if a number is toll or toll-free type: string enum: - Toll - TollFree example: Toll DeletePhoneNumbersResponseItem: allOf: - $ref: '#/components/schemas/BulkItemResultModel' - type: object properties: id: $ref: '#/components/schemas/PhoneNumberId' phoneNumber: $ref: '#/components/schemas/PhoneNumberE164' ExtensionInfo: type: object properties: id: type: integer format: int64 description: Internal identifier of an extension uri: type: string format: uri description: Canonical URI of an extension name: type: string description: Extension name extensionNumber: type: string description: Extension short number partnerId: type: string description: 'For partner applications. Internal identifier of an extension created by partner. The RingCentral supports the 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 ' description: 'Information on the extension, to which the phone number is assigned. Returned only for the request of Account phone number list ' AddPhoneNumbersRequest: type: object required: - records properties: records: type: array minItems: 1 description: List of account phone numbers items: $ref: '#/components/schemas/AddPhoneNumberRequestItem' TemporaryNumberInfo: type: object properties: id: type: string description: Temporary phone number identifier phoneNumber: type: string description: 'Temporary phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) (with ''+'' sign) format ' description: 'Temporary phone number, if any. Returned for phone numbers in `Pending` porting status only ' parameters: PhoneNumberId: name: phoneNumberId in: path required: true description: Internal identifier of a phone number schema: $ref: '#/components/schemas/PhoneNumberId' example: '1162820004' Page: name: page in: query description: The result set page number (1-indexed) to return required: false explode: false schema: type: integer format: int32 minimum: 1 maximum: 1000 default: 1 example: 1 PerPage: name: perPage in: query description: 'The number of items per page. If provided value in the request is greater than a maximum, the maximum value is applied ' required: false explode: false schema: type: integer format: int32 minimum: 1 maximum: 1000 default: 100 example: 100 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: '~' responses: 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' InternalError: description: 'General response with **HTTP 500 "Internal Server Error"** status.
Reasons: general server-side error. ' content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponseModel' InvalidRequest: description: 'General response with **HTTP 400 "Bad request"** status.
Reasons: unparsable request, path, query or body parameters are invalid. The error description may contain reference to particular parameter(s) which haven''t passed the validation. ' content: application/json: schema: $ref: '#/components/schemas/ParameterizedErrorResponseModel' examples: ListAccountPhoneNumbersResponse: value: records: - id: '1162821004' phoneNumber: '+18002024080' tollType: TollFree usageType: Inventory byocNumber: false status: Normal - id: '1162822004' phoneNumber: '+18332023665' tollType: Toll usageType: DirectNumber type: VoiceFax byocNumber: false status: Normal extension: id: '697477005' extensionNumber: '10022' - id: '1272824004' phoneNumber: '+18332023678' tollType: Toll usageType: MainCompanyNumber byocNumber: false type: VoiceOnly status: Normal paging: page: 1 perPage: 1 pageStart: 1 pageEnd: 1 totalPages: 1 totalElements: 3 AddPhoneNumbersResponse: value: records: - bulkItemSuccessful: true id: '1162820004' phoneNumber: '+18002024080' - bulkItemSuccessful: false phoneNumber: '+16501234567' bulkItemErrors: - errorCode: CMN-1000 message: Some error msg DeletePhoneNumbersRequest: value: records: - phoneNumber: '+18002024080' - phoneNumber: '+18332456789' AssignPhoneNumberRequest: value: usageType: DirectNumber extension: id: '20498230948' type: VoiceFax DeletePhoneNumbersResponse: value: records: - bulkItemSuccessful: true id: '1162820004' phoneNumber: '+18002024080' - bulkItemSuccessful: false id: '1162820005' phoneNumber: '+18332456789' bulkItemErrors: - errorCode: CMN-1000 message: Some error msg AddPhoneNumbersRequest: value: records: - phoneNumber: '+18002024080' usageType: Inventory - phoneNumber: '+16501234567' usageType: Inventory AssignPhoneNumberResponse: value: id: '1162822004' phoneNumber: '+18332023665' tollType: Toll usageType: DirectNumber type: VoiceFax status: Normal extension: id: '20498230948' extensionNumber: '10022' 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