RingCentral External Contacts API

The External Contacts API from RingCentral — 6 operation(s) for external contacts.

Operations 11

POST /restapi/v1.0/account/{accountId}/address-book-bulk-upload Upload Multiple User Contacts #
GET /restapi/v1.0/account/{accountId}/address-book-bulk-upload/tasks/{taskId} Get Contacts Upload Task #
GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/favorite List Favorite Contacts #
PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/favorite Update Favorite Contact List #
GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact List Contacts #
POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact Create User Contact #
GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact/{contactId} Get User Contact(s) #
PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact/{contactId} Update User Contact(s) #
PATCH /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact/{contactId} Update Contact Attributes #
DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact/{contactId} Delete User Contact(s) #
GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book-sync Address Book Synchronization #

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-external-contacts-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-external-contacts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: RingCentral Adaptive Cards External Contacts 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: External Contacts
paths:
  /restapi/v1.0/account/{accountId}/address-book-bulk-upload:
    post:
      tags:
      - External Contacts
      summary: Upload Multiple User Contacts
      description: 'Uploads multiple contacts for multiple extensions at once.

        Maximum 500 extensions can be uploaded per request. Max amount

        of contacts that can be uploaded per extension is 10,000.

        Each contact uploaded for a certain extension is not visible

        to other extensions.

        '
      operationId: addressBookBulkUpload
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressBookBulkUploadRequest'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressBookBulkUploadResponse'
      x-feature: EditPersonalContacts
      x-request-max-body-size: 20m
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: Contacts
      x-user-permission: EditPersonalContacts
  /restapi/v1.0/account/{accountId}/address-book-bulk-upload/tasks/{taskId}:
    get:
      tags:
      - External Contacts
      summary: Get Contacts Upload Task
      description: 'Returns the status of a task on adding multiple contacts to multiple extensions.

        '
      operationId: getAddressBookBulkUploadTask
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: taskId
        in: path
        description: Internal identifier of a task
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Contacts upload task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressBookBulkUploadResponse'
      x-feature: EditPersonalContacts
      x-availability: Limited
      x-throttling-group: Light
      x-app-permission: Contacts
      x-user-permission: EditPersonalContacts
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/favorite:
    get:
      tags:
      - External Contacts
      summary: List Favorite Contacts
      description: 'Returns the list of favorite contacts of the current extension.

        Favorite contacts include both company contacts (extensions) and personal

        contacts (address book records).

        '
      operationId: listFavoriteContacts
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      responses:
        '200':
          description: Favorite Contact List
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FavoriteContactList'
      x-feature: ReadPersonalContacts
      x-availability: High
      x-throttling-group: Light
      x-user-permission: ReadPersonalContacts
      x-app-permission: ReadContacts
      x-notifications:
      - $ref: '#/components/schemas/ExtensionFavoritesEvent'
    put:
      tags:
      - External Contacts
      summary: Update Favorite Contact List
      description: 'Updates the list of favorite contacts of the current extension.

        Favorite contacts include both company contacts (extensions) and personal

        contacts (address book records).**Please note**: Currently personal address

        book size is limited to 10 000 contacts.

        '
      operationId: updateFavoriteContactList
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FavoriteCollection'
        required: true
      responses:
        '200':
          description: Favorite contacts list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FavoriteContactList'
      x-feature: EditPersonalContacts
      x-availability: Limited
      x-throttling-group: Medium
      x-app-permission: Contacts
      x-user-permission: EditPersonalContacts
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact:
    get:
      tags:
      - External Contacts
      summary: List Contacts
      description: 'Returns the user personal contacts.

        '
      operationId: listContacts
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - name: startsWith
        in: query
        description: 'If specified, only contacts which ''First name'' or ''Last name'' start

          with the mentioned substring will be returned. Case-insensitive

          '
        schema:
          type: string
      - name: sortBy
        in: query
        description: Sorts results by the specified property
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - FirstName
            - LastName
            - Company
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - name: phoneNumber
        in: query
        description: Phone number in e.164 format
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Contact list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactList'
      x-feature: ReadPersonalContacts
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadContacts
      x-user-permission: ReadPersonalContacts
    post:
      tags:
      - External Contacts
      summary: Create User Contact
      description: 'Creates the user personal contact.

        '
      operationId: createContact
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - name: dialingPlan
        in: query
        description: 'Country code value complying with the [ISO 3166-1 alpha-2](https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2)

          format. The default value is home country of the current extension

          '
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonalContactRequest'
        required: true
      responses:
        '200':
          description: Created contact information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonalContactResource'
        '400':
          description: 'Contact cannot be created: max contacts count reached ($limit)'
      x-feature: EditPersonalContacts
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: Contacts
      x-user-permission: EditPersonalContacts
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact/{contactId}:
    get:
      tags:
      - External Contacts
      summary: Get User Contact(s)
      description: "Returns the user personal contact(s). \n[Batch request syntax](https://developers.ringcentral.com/api-reference/Batch-Requests) is supported.\n"
      operationId: readContact
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/ContactIds'
      responses:
        '200':
          description: User personal contact(s) information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonalContactResource'
      x-feature: ReadPersonalContacts
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadContacts
      x-user-permission: ReadPersonalContacts
    put:
      tags:
      - External Contacts
      summary: Update User Contact(s)
      description: "Updates the user personal contact(s) (full resource update). \n[Batch request syntax](https://developers.ringcentral.com/api-reference/Batch-Requests) is supported.\n"
      operationId: updateContact
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/ContactIds'
      - name: dialingPlan
        in: query
        description: "Country code value complying with the [ISO 3166-1 alpha-2](https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. \nThe default value is home country of the current extension\n"
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonalContactRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonalContactResource'
      x-feature: EditPersonalContacts
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: Contacts
      x-user-permission: EditPersonalContacts
    patch:
      tags:
      - External Contacts
      summary: Update Contact Attributes
      description: 'Updates particular values of a personal contact attributes specified in request (partial resource update). Omitted attributes will remain unchanged.

        If any attribute is passed in request body with the null value, then this attribute value will be removed.

        '
      operationId: patchContact
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/ContactId'
      - name: dialingPlan
        in: query
        description: 'Country code value complying with the [ISO 3166-1 alpha-2](https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2)

          format. The default value is home country of the current extension

          '
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonalContactRequest'
        required: true
      responses:
        '200':
          description: Edited personal contact information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonalContactResource'
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: Contacts
      x-user-permission: EditPersonalContacts
    delete:
      tags:
      - External Contacts
      summary: Delete User Contact(s)
      description: "Deletes the user personal contact(s). \n[Batch request syntax](https://developers.ringcentral.com/api-reference/Batch-Requests) is supported.\n"
      operationId: deleteContact
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/ContactIds'
      responses:
        '204':
          description: No Content
      x-feature: EditPersonalContacts
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: Contacts
      x-user-permission: EditPersonalContacts
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book-sync:
    get:
      tags:
      - External Contacts
      summary: Address Book Synchronization
      description: 'Synchronizes user contacts.

        '
      operationId: syncAddressBook
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - name: syncType
        in: query
        description: Type of synchronization
        schema:
          type: string
          enum:
          - FSync
          - ISync
      - name: syncToken
        in: query
        description: 'Value of syncToken property of the last sync request response

          '
        schema:
          type: string
      - name: perPage
        in: query
        description: 'Number of records per page to be returned. Max number of

          records is 250, which is also the default.

          For ''FSync'' - if the number of records exceeds the parameter value

          (either specified or default), all of the pages can be retrieved

          in several requests. For ''ISync'' - if the number of records exceeds

          page size, then the number of incoming changes to this

          number is limited

          '
        schema:
          type: integer
          format: int32
      - name: pageId
        in: query
        description: 'Internal identifier of a page. It can be obtained from the ''nextPageId''

          parameter passed in response body

          '
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Synchronized user contacts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressBookSync'
      x-feature: ReadPersonalContacts
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadContacts
      x-user-permission: ReadPersonalContacts
components:
  schemas:
    ContactAddressInfo:
      type: object
      properties:
        street:
          type: string
          description: Street address
          example: 20 Davis Dr.
        city:
          type: string
          description: City name
          example: Belmont
        country:
          type: string
          description: Country name
        state:
          type: string
          description: State/province name
          example: CA
        zip:
          type: string
          description: Zip/Postal code
          example: '94002'
    UserContactsNavigationInfoUri:
      type: object
      properties:
        uri:
          type: string
          format: uri
      description: Canonical URI for a corresponding page of a list
    UserContactsGroupsInfo:
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to the list of address book groups
      description: Information on address book groups
    FavoriteContactResource:
      type: object
      properties:
        id:
          type: integer
          format: int64
        extensionId:
          type: string
        accountId:
          type: string
        contactId:
          type: string
    AddressBookBulkUploadResponse:
      description: 'Information on a task for adding multiple contacts to multiple extensions

        '
      required:
      - id
      - uri
      - creationTime
      - lastModifiedTime
      - status
      type: object
      properties:
        id:
          type: string
          description: Internal identifier of a task
        uri:
          type: string
          format: uri
          description: Link for the task status retrieval
        status:
          type: string
          description: Task status
          enum:
          - Accepted
          - InProgress
          - Completed
          - Failed
        creationTime:
          type: string
          format: date-time
          description: Date/time of a task creation
        lastModifiedTime:
          type: string
          format: date-time
          description: Date/time of a task latest update
        results:
          $ref: '#/components/schemas/AddressBookBulkUploadTaskResult'
    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
    AddressBookBulkUploadTaskResult:
      type: object
      properties:
        affectedItems:
          type: array
          items:
            $ref: '#/components/schemas/AddressBookBulkUploadResource'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
    PersonalContactRequest:
      type: object
      properties:
        firstName:
          type: string
          description: First name of a contact
          example: Charlie
        lastName:
          type: string
          description: Last name of a contact
          example: Williams
        middleName:
          type: string
          description: Middle name of a contact
          example: J
        nickName:
          type: string
          description: Nick name of a contact
          example: The Boss
        company:
          type: string
          description: Company name of a contact
          example: Example, Inc.
        jobTitle:
          type: string
          description: Job title of a contact
          example: CEO
        email:
          type: string
          format: email
          description: Email of a contact
          example: charlie.williams@example.com
        email2:
          type: string
          format: email
          description: Second email of a contact
          example: charlie-example@gmail.com
        email3:
          type: string
          format: email
          description: Third email of a contact
          example: theboss-example@hotmail.com
        birthday:
          type: string
          description: Date of birth of a contact
          format: date-time
        webPage:
          type: string
          format: uri
          description: Contact home page URL
          example: http://www.example.com
        notes:
          type: string
          description: Notes for a contact
          example: '#1 Customer'
        homePhone:
          type: string
          description: Home phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        homePhone2:
          type: string
          description: Second home phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        businessPhone:
          type: string
          description: Business phone of a contact in e.164 (with "+") format
          example: '+15551234567'
        businessPhone2:
          type: string
          description: Second business phone of a contact in e.164 (with "+") format
          example: '+15551234567'
        mobilePhone:
          type: string
          description: Mobile phone of a contact in e.164 (with "+") format
          example: '+15551234567'
        businessFax:
          type: string
          description: Business fax number of a contact in e.164 (with "+") format
          example: '+15551234567'
        companyPhone:
          type: string
          description: Company number of a contact in e.164 (with "+") format
          example: '+15551234567'
        assistantPhone:
          type: string
          description: Phone number of a contact assistant in e.164 (with "+") format
          example: '+15551234567'
        carPhone:
          type: string
          description: Car phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        otherPhone:
          type: string
          description: Other phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        otherFax:
          type: string
          description: Other fax number of a contact in e.164 (with "+") format
          example: '+15551234567'
        callbackPhone:
          type: string
          description: Callback phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        homeAddress:
          $ref: '#/components/schemas/ContactAddressInfo'
        businessAddress:
          $ref: '#/components/schemas/ContactAddressInfo'
        otherAddress:
          $ref: '#/components/schemas/ContactAddressInfo'
        ringtoneIndex:
          type: string
          description: Contact ringtone. Max number of symbols is 64
    PersonalContactResource:
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Canonical URI of a contact
          example: https://platform.ringcentral.com/restapi/v1.0/account/230919004/extension/230919004/address-book/contact/623045004
        availability:
          type: string
          description: 'This property has a special meaning only on Address Book Sync

            (e.g. a contact can be `Deleted`). For simple contact list reading it

            has always the default value - `Alive`

            '
          enum:
          - Alive
          - Deleted
          - Purged
        email:
          type: string
          format: email
          description: Email of a contact
          example: charlie.williams@example.com
        id:
          type: integer
          format: int64
          description: Internal identifier of availability contact
          example: 623045004
        notes:
          type: string
          description: Notes for a contact
          example: '#1 Customer'
        company:
          type: string
          description: Company name of a contact
          example: Example, Inc.
        firstName:
          type: string
          description: First name of a contact
          example: Charlie
        lastName:
          type: string
          description: Last name of a contact
          example: Williams
        jobTitle:
          type: string
          description: Job title of a contact
          example: CEO
        birthday:
          type: string
          description: Date of birth of a contact
          format: date-time
        webPage:
          type: string
          format: uri
          description: The contact home page URL
          example: http://www.example.com
        middleName:
          type: string
          description: Middle name of a contact
          example: J
        nickName:
          type: string
          description: Nick name of a contact
          example: The Boss
        email2:
          type: string
          format: email
          description: Second email of a contact
          example: charlie-example@gmail.com
        email3:
          type: string
          format: email
          description: Third email of a contact
          example: theboss-example@hotmail.com
        homePhone:
          type: string
          description: Home phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        homePhone2:
          type: string
          description: Second home phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        businessPhone:
          type: string
          description: Business phone of the contact in e.164 (with "+") format
          example: '+15551234567'
        businessPhone2:
          type: string
          description: Second business phone of a contact in e.164 (with "+") format
          example: '+15551234567'
        mobilePhone:
          type: string
          description: Mobile phone of a contact in e.164 (with "+") format
          example: '+15551234567'
        businessFax:
          type: string
          description: Business fax number of a contact in e.164 (with "+") format
          example: '+15551234567'
        companyPhone:
          type: string
          description: Company number of a contact in e.164 (with "+") format
          example: '+15551234567'
        assistantPhone:
          type: string
          description: Phone number of a contact assistant in e.164 (with "+") format
          example: '+15551234567'
        carPhone:
          type: string
          description: Car phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        otherPhone:
          type: string
          description: Other phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        otherFax:
          type: string
          description: Other fax number of a contact in e.164 (with "+") format
          example: '+15551234567'
        callbackPhone:
          type: string
          description: Callback phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        businessAddress:
          $ref: '#/components/schemas/ContactAddressInfo'
        homeAddress:
          $ref: '#/components/schemas/ContactAddressInfo'
        otherAddress:
          $ref: '#/components/schemas/ContactAddressInfo'
        ringtoneIndex:
          type: string
          description: Contact ringtone. Max number of symbols is 64
    ExtensionFavoritesEventBody:
      type: object
      properties:
        extensionId:
          type: string
          description: Internal identifier of an extension
        ownerId:
          type: string
          description: Internal identifier of a subscription owner extension
      description: Notification payload body
    AddressBookBulkUploadResource:
      required:
      - extensionId
      - contacts
      type: object
      properties:
        extensionId:
          type: string
        contacts:
          type: array
          minItems: 1
          maxItems: 10000
          items:
            $ref: '#/components/schemas/AddressBookBulkContactResource'
    AddressBookBulkContactAddressInfo:
      type: object
      properties:
        country:
          type: string
          description: 'Country name of the extension user company. Not returned for Address

            Book

            '
        state:
          type: string
          description: State/province name of the extension user company
        city:
          type: string
          description: City name of the extension user company
        street:
          type: string
          description: Street address of the extension user company
        zip:
          type: string
          description: Zip code of the extension user company
    ExtensionFavoritesEvent:
      type: object
      properties:
        uuid:
          type: string
          description: Universally unique identifier of a notification
        event:
          type: string
          description: Event filter URI
        timestamp:
          format: date-time
          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/ExtensionFavoritesEventBody'
    UserContactsPagingInfo:
      type: object
      properties:
        page:
          type: integer
          description: 'Current page number. 1-indexed, so the first page is 1

            by default. May be omitted if the result is empty (because non-existent page

            was specified or perPage=0 was requested)

            '
          format: int32
        perPage:
          type: integer
          description: 'Current page size, describes how many items each page contains.

            Default value is 100. Maximum value is 1000. If perPage value in the request

            is greater than 1000, the maximum value (1000) is applied

            '
          format: int32
        pageStart:
          type: integer
          description: 'Zero-based number of the first element on the current page.

            Omitted if a page is omitted or the result is empty

            '
          format: int32
        pageEnd:
          type: integer
          description: 'Zero-based index of the last element on the current page.

            Omitted if a page is omitted or the result is empty

            '
          format: int32
        totalPages:
          type: integer
          description: 'Total number of pages in a dataset. May be omitted for

            some resources due to performance reasons

            '
          format: int32
        totalElements:
          type: integer
          description: 'Total number of elements in a dataset. May be omitted for

            some resource due to performance reasons

            '
          format: int32
      description: Information on paging
    FavoriteCollection:
      type: object
      properties:
        records:
          type: array
          items:
            $ref: '#/components/schemas/FavoriteContactResource'
    AddressBookBulkContactResource:
      type: object
      properties:
        email:
          type: string
          format: email
          description: Email of a contact
          example: charlie.williams@example.com
        notes:
          type: string
          description: Notes for a contact
          example: '#1 Customer'
        company:
          type: string
          description: Company name of a contact
          example: Example, Inc.
        firstName:
          type: string
          description: First name of a contact
          example: Charlie
        lastName:
          type: string
          description: Last name of a contact
          example: Williams
        jobTitle:
          type: string
          description: Job title of a contact
          example: CEO
        birthday:
          type: string
          description: Date of birth of a contact
          format: date-time
        webPage:
          type: string
          description: Link to a contact home page
          example: http://www.example.com
        middleName:
          type: string
          description: Middle name of a contact
          example: J
        nickName:
          type: string
          description: Nick name of a contact
          example: The Boss
        email2:
          type: string
          format: email
          description: Second email of a contact
          example: charlie-example@gmail.com
        email3:
          type: string
          format: email
          description: Third email of the contact
          example: theboss-example@hotmail.com
        homePhone:
          type: string
          description: Home phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        homePhone2:
          type: string
          description: Second home phone number of a contact in e.164 (with "+") format
          example: '+15551234567'
        businessPhone:
          type: string
          description: Business phone of a contact in e.164 (with "+") format
          example: '+15551234567'
        businessPhone2:
          type: string
          description: Second business phone of a contact in e.164 (with "+") format
          example: '+15551234567'
        mobilePhone:
          type: string
          description: Mobile phone of the contact in e.164 (with "+") format
          example: '+15551234567'
        businessFax:
          type: string
          description: Business fax number of a contact in e.164 (with "+") format
          example: '+15551234567'
        companyPhone:
          type: string
          description: Company number of a contact in e.164 (with "+") format
          example: '+15551234567'
        assistantPhone:
          type: string
          description: Phone number of a contact assistant in e.164 (with "+") format
          example: '+15551234567'
        carPhone:
          type: str

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