---
description: Capacitor plugin to read, write, or select device contacts with advanced features like filtering and pagination.
title: Contacts Plugin for Capacitor - Capawesome
image: https://capawesome.io/docs/assets/images/social/plugins/contacts.png
---

[ Skip to content](#capawesome-teamcapacitor-contacts) 

[ 🎉 Introducing **Capawesome Platform** — one platform for Live Updates, Native Builds, App Store Publishing, and Insider SDKs.](https://capawesome.io) 

* [  iOS ](#ios)
* [  Configuration ](#configuration)
* [  Usage ](#usage)
* [  API ](#api)
* [  Type Aliases ](#type-aliases)
* [  Enums ](#enums)
* [  Changelog ](#changelog)
* [  Breaking Changes ](#breaking-changes)
* [  License ](#license)
* [  Datetime Picker ](/docs/plugins/datetime-picker/)
* [  File Compressor ](/docs/plugins/file-compressor/)
* [  File Opener ](/docs/plugins/file-opener/)
* [  File Picker ](/docs/plugins/file-picker/)
* [  Firebase ](/docs/plugins/firebase/)
* [  Formbricks ](/docs/plugins/formbricks/)
* [  Geocoder ](/docs/plugins/geocoder/)
* [  Google Sign-In ](/docs/plugins/google-sign-in/)
* [  libSQL ](/docs/plugins/libsql/)
* [  Live Update ](/docs/plugins/live-update/)
* [  Managed Configurations ](/docs/plugins/managed-configurations/)
* [  Media Session ](/docs/plugins/media-session/)
* [  ML Kit ](/docs/plugins/mlkit/)
* [  NFC ](/docs/plugins/nfc/)
* [  OAuth ](/docs/plugins/oauth/)
* [  Pedometer ](/docs/plugins/pedometer/)
* [  Photo Editor ](/docs/plugins/photo-editor/)
* [  PostHog ](/docs/plugins/posthog/)
* [  Printer ](/docs/plugins/printer/)
* [  Purchases ](/docs/plugins/purchases/)
* [  RealtimeKit ](/docs/plugins/realtimekit/)
* [  Screen Orientation ](/docs/plugins/screen-orientation/)
* [  Screenshot ](/docs/plugins/screenshot/)
* [  Secure Preferences ](/docs/plugins/secure-preferences/)
* [  Speech Recognition ](/docs/plugins/speech-recognition/)
* [  Speech Synthesis ](/docs/plugins/speech-synthesis/)
* [  Share Target ](/docs/plugins/share-target/)
* [  Square Mobile Payments ](/docs/plugins/square-mobile-payments/)
* [  SQLite ](/docs/plugins/sqlite/)
* [  Superwall ](/docs/plugins/superwall/)
* [  Torch ](/docs/plugins/torch/)
* [  Wifi ](/docs/plugins/wifi/)
* [  Zip ](/docs/plugins/zip/)
* [  Cloud ](/docs/cloud/)
* [  Live Updates ](/docs/cloud/live-updates/)
* Advanced
* Integrations
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Configuration ](/docs/cloud/native-builds/configuration/)
* [  Environments ](/docs/cloud/native-builds/environments/)
* Guides
* [  Sample Projects ](/docs/cloud/native-builds/sample-projects/)
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  Automations ](/docs/cloud/automations/)
* Account
* Organizations
* [  Organization and User Management ](/docs/cloud/organizations/memberships/)
* [  Single Sign-On (SSO) ](/docs/cloud/organizations/sso/)
* [  Teams ](/docs/cloud/organizations/teams/)
* [  Two-Factor Authentication ](/docs/cloud/organizations/two-factor-authentication/)
* [  Integrations ](/docs/cloud/integrations/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Pricing ](https://capawesome.io/pricing/)
* [  FAQ ](/docs/cloud/faq/)
* [  Support ](/docs/cloud/support/)
* [  Contributing ](/docs/contributing/)
* [  LLMs ](/docs/llms/)
* [  Insiders ](/docs/insiders/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/insiders/support/)
* [  FAQ ](/docs/insiders/faq/)
* [  Blog ](/blog/)
* Categories

* [  iOS ](#ios)
* [  Configuration ](#configuration)
* [  Usage ](#usage)
* [  API ](#api)
* [  Type Aliases ](#type-aliases)
* [  Enums ](#enums)
* [  Changelog ](#changelog)
* [  Breaking Changes ](#breaking-changes)
* [  License ](#license)

# @capawesome-team/capacitor-contacts[¶](#capawesome-teamcapacitor-contacts "Permanent link")

Capacitor plugin to read, write, or select device contacts. Supports Android, iOS and Web with advanced features like contact groups, pagination, and native modals.

[ ![Deliver Live Updates to your Capacitor app with Capawesome Cloud](../../assets/external/cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.69628c3f.png) ](https://cloud.capawesome.io/) 

## Features[¶](#features "Permanent link")

We are proud to offer one of the most complete and feature-rich Capacitor plugins for contacts. Here are some of the key features:

* 🖥️ **Cross-platform**: Supports Android, iOS and Web.
* 📇 **Contacts**: Create, update, delete and retrieve device contacts.
* 🔄 **Partial Updates**: Update only specific contact fields without affecting others - missing properties are preserved, null values delete fields.
* 📌 **Groups**: Create, update, delete and retrieve contact groups on iOS.
* 🎫 **Accounts**: Add contacts to specific accounts on Android.
* 📖 **Pagination**: Paginate through contacts to avoid performance issues.
* 🔍 **Filtering**: Filter contacts by ID, email, phone number, etc. (Coming soon!)
* 📱 **Native Modals**: Create, update and display contacts in native modals.
* 🎯 **Picking**: Let the user select a device contact.
* 🖼️ **Photos**: Set, update and retrieve contact photos.
* 📦 **CocoaPods & SPM**: Supports CocoaPods and Swift Package Manager for iOS.
* 🔁 **Up-to-date**: Always supports the latest Capacitor version.
* ⭐️ **Support**: Priority support from the Capawesome Team.
* ✨ **Handcrafted**: Built from the ground up with care and expertise, not forked or AI-generated.

Missing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!

## Newsletter[¶](#newsletter "Permanent link")

Stay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).

## Compatibility[¶](#compatibility "Permanent link")

| Plugin Version | Capacitor Version | Status         |
| -------------- | ----------------- | -------------- |
| 8.x.x          | \>=8.x.x          | Active support |
| 7.x.x          | 7.x.x             | Deprecated     |

## Guides[¶](#guides "Permanent link")

* [Alternative to the Capacitor Community Contacts plugin](https://capawesome.io/blog/alternative-to-capacitor-community-contacts-plugin/)
* [Announcing the Capacitor Contacts Plugin](https://capawesome.io/blog/announcing-the-capacitor-contacts-plugin/)
* [Exploring the Capacitor Contacts API](https://capawesome.io/blog/exploring-the-capacitor-contacts-api/)

## Installation[¶](#installation "Permanent link")

This plugin is only available to [Capawesome Insiders](https://capawesome.io/insiders/). First, make sure you have the Capawesome npm registry set up. You can do this by running the following commands:

`[](#%5F%5Fcodelineno-0-1)npm config set @capawesome-team:registry https://npm.registry.capawesome.io
[](#%5F%5Fcodelineno-0-2)npm config set //npm.registry.capawesome.io/:_authToken <YOUR_LICENSE_KEY>
`

**Attention**: Replace `<YOUR_LICENSE_KEY>` with the license key you received from Polar. If you don't have a license key yet, you can get one by becoming a [Capawesome Insider](https://capawesome.io/insiders/).

Next, you can use our **AI-Assisted Setup** to install the plugin. Add the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:

`[](#%5F%5Fcodelineno-1-1)npx skills add capawesome-team/skills --skill capacitor-plugins
`

Then use the following prompt:

`` [](#%5F%5Fcodelineno-2-1)Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome-team/capacitor-contacts` plugin in my project.
 ``

If you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:

`[](#%5F%5Fcodelineno-3-1)npm install @capawesome-team/capacitor-contacts
[](#%5F%5Fcodelineno-3-2)npx cap sync
`

### Android[¶](#android "Permanent link")

#### Permissions[¶](#permissions "Permanent link")

This API requires the following elements be added to your `AndroidManifest.xml` before or after the `application` tag:

`[](#%5F%5Fcodelineno-4-1)<!-- Required if you want to read contacts. -->
[](#%5F%5Fcodelineno-4-2)<uses-permission android:name="android.permission.READ_CONTACTS" />
[](#%5F%5Fcodelineno-4-3)<!-- Required if you want to write contacts. -->
[](#%5F%5Fcodelineno-4-4)<uses-permission android:name="android.permission.WRITE_CONTACTS" />
`

#### Proguard[¶](#proguard "Permanent link")

If you are using Proguard, you need to add the following rules to your `proguard-rules.pro` file:

`[](#%5F%5Fcodelineno-5-1)-keep class io.capawesome.capacitorjs.plugins.** { *; }
`

### iOS[¶](#ios "Permanent link")

#### Privacy Descriptions[¶](#privacy-descriptions "Permanent link")

Add the `NSContactsUsageDescription` key to the `ios/App/App/Info.plist` file, which tells the user why your app needs access to the user's contacts:

`[](#%5F%5Fcodelineno-6-1)<key>NSContactsUsageDescription</key>
[](#%5F%5Fcodelineno-6-2)<string>We need access to your contacts to display them in the app.</string>
`

#### Entitlements[¶](#entitlements "Permanent link")

To access the `note` field of a contact, your app must have the `com.apple.developer.contacts.notes` entitlement. Check out the [Apple documentation](https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.contacts.notes) for more information.

If you don't need access to the `note` field, you can skip this step.

## Configuration[¶](#configuration "Permanent link")

No configuration required for this plugin.

## Usage[¶](#usage "Permanent link")

`[](#%5F%5Fcodelineno-7-1)import { 
[](#%5F%5Fcodelineno-7-2)  Contacts,
[](#%5F%5Fcodelineno-7-3)  EmailAddressType,
[](#%5F%5Fcodelineno-7-4)  PhoneNumberType,
[](#%5F%5Fcodelineno-7-5)  PostalAddressType
[](#%5F%5Fcodelineno-7-6)} from '@capawesome-team/capacitor-contacts';
[](#%5F%5Fcodelineno-7-7)
[](#%5F%5Fcodelineno-7-8)const createContact = async () => {
[](#%5F%5Fcodelineno-7-9)  return Contacts.createContact({
[](#%5F%5Fcodelineno-7-10)    contact: {
[](#%5F%5Fcodelineno-7-11)      birthday: {
[](#%5F%5Fcodelineno-7-12)        day: 1,
[](#%5F%5Fcodelineno-7-13)        month: 1,
[](#%5F%5Fcodelineno-7-14)        year: 1990
[](#%5F%5Fcodelineno-7-15)      },
[](#%5F%5Fcodelineno-7-16)      givenName: 'John',
[](#%5F%5Fcodelineno-7-17)      familyName: 'Doe',
[](#%5F%5Fcodelineno-7-18)      emailAddresses: [
[](#%5F%5Fcodelineno-7-19)        {
[](#%5F%5Fcodelineno-7-20)          value: 'mail@example.com',
[](#%5F%5Fcodelineno-7-21)          type: EmailAddressType.Home,
[](#%5F%5Fcodelineno-7-22)          isPrimary: true
[](#%5F%5Fcodelineno-7-23)        }
[](#%5F%5Fcodelineno-7-24)      ],
[](#%5F%5Fcodelineno-7-25)      phoneNumbers: [
[](#%5F%5Fcodelineno-7-26)        {
[](#%5F%5Fcodelineno-7-27)          value: '1234567890',
[](#%5F%5Fcodelineno-7-28)          type: PhoneNumberType.Mobile,
[](#%5F%5Fcodelineno-7-29)          isPrimary: true
[](#%5F%5Fcodelineno-7-30)        }
[](#%5F%5Fcodelineno-7-31)      ],
[](#%5F%5Fcodelineno-7-32)      postalAddresses: [
[](#%5F%5Fcodelineno-7-33)        {
[](#%5F%5Fcodelineno-7-34)          street: '123 Main St',
[](#%5F%5Fcodelineno-7-35)          city: 'Springfield',
[](#%5F%5Fcodelineno-7-36)          state: 'IL',
[](#%5F%5Fcodelineno-7-37)          postalCode: '62701',
[](#%5F%5Fcodelineno-7-38)          country: 'USA',
[](#%5F%5Fcodelineno-7-39)          type: PostalAddressType.Home,
[](#%5F%5Fcodelineno-7-40)          isPrimary: true
[](#%5F%5Fcodelineno-7-41)        }
[](#%5F%5Fcodelineno-7-42)      ]
[](#%5F%5Fcodelineno-7-43)    }
[](#%5F%5Fcodelineno-7-44)  });
[](#%5F%5Fcodelineno-7-45)};
[](#%5F%5Fcodelineno-7-46)
[](#%5F%5Fcodelineno-7-47)const updateContactById = async (id: string) => {
[](#%5F%5Fcodelineno-7-48)  await Contacts.updateContactById({
[](#%5F%5Fcodelineno-7-49)    id,
[](#%5F%5Fcodelineno-7-50)    contact: {
[](#%5F%5Fcodelineno-7-51)      givenName: 'John',
[](#%5F%5Fcodelineno-7-52)      familyName: 'Doe',
[](#%5F%5Fcodelineno-7-53)      birthday: null, // This will remove the birthday field from the contact
[](#%5F%5Fcodelineno-7-54)      note: undefined // This will preserve the existing note field
[](#%5F%5Fcodelineno-7-55)    }
[](#%5F%5Fcodelineno-7-56)  });
[](#%5F%5Fcodelineno-7-57)};
[](#%5F%5Fcodelineno-7-58)
[](#%5F%5Fcodelineno-7-59)const deleteContactById = async (id: string) => {
[](#%5F%5Fcodelineno-7-60)  await Contacts.deleteContactById({ id });
[](#%5F%5Fcodelineno-7-61)};
[](#%5F%5Fcodelineno-7-62)
[](#%5F%5Fcodelineno-7-63)const pickContacts = async () => {
[](#%5F%5Fcodelineno-7-64)  const { contacts } = await Contacts.pickContacts({
[](#%5F%5Fcodelineno-7-65)    fields: [
[](#%5F%5Fcodelineno-7-66)      'id',
[](#%5F%5Fcodelineno-7-67)      'givenName',
[](#%5F%5Fcodelineno-7-68)      'familyName',
[](#%5F%5Fcodelineno-7-69)      'emailAddresses',
[](#%5F%5Fcodelineno-7-70)      'phoneNumbers',
[](#%5F%5Fcodelineno-7-71)      'postalAddresses'
[](#%5F%5Fcodelineno-7-72)    ],
[](#%5F%5Fcodelineno-7-73)    multiple: true
[](#%5F%5Fcodelineno-7-74)  });
[](#%5F%5Fcodelineno-7-75)  return contacts;
[](#%5F%5Fcodelineno-7-76)};
[](#%5F%5Fcodelineno-7-77)
[](#%5F%5Fcodelineno-7-78)const getContactById = async (id: string) => {
[](#%5F%5Fcodelineno-7-79)  const { contact } = await Contacts.getContactById({ id });
[](#%5F%5Fcodelineno-7-80)  return contact;
[](#%5F%5Fcodelineno-7-81)};
[](#%5F%5Fcodelineno-7-82)
[](#%5F%5Fcodelineno-7-83)const getContacts = async () => {
[](#%5F%5Fcodelineno-7-84)  const { contacts } = await Contacts.getContacts({
[](#%5F%5Fcodelineno-7-85)    fields: [
[](#%5F%5Fcodelineno-7-86)      'id',
[](#%5F%5Fcodelineno-7-87)      'givenName',
[](#%5F%5Fcodelineno-7-88)      'familyName',
[](#%5F%5Fcodelineno-7-89)      'emailAddresses',
[](#%5F%5Fcodelineno-7-90)      'phoneNumbers',
[](#%5F%5Fcodelineno-7-91)      'postalAddresses'
[](#%5F%5Fcodelineno-7-92)    ],
[](#%5F%5Fcodelineno-7-93)    limit: 10,
[](#%5F%5Fcodelineno-7-94)    offset: 0
[](#%5F%5Fcodelineno-7-95)  });
[](#%5F%5Fcodelineno-7-96)  return contacts;
[](#%5F%5Fcodelineno-7-97)};
[](#%5F%5Fcodelineno-7-98)
[](#%5F%5Fcodelineno-7-99)const displayContactById = async (id: string) => {
[](#%5F%5Fcodelineno-7-100)  await Contacts.displayContactById({ id });
[](#%5F%5Fcodelineno-7-101)};
[](#%5F%5Fcodelineno-7-102)
[](#%5F%5Fcodelineno-7-103)const displayUpdateContactById = async (id: string) => {
[](#%5F%5Fcodelineno-7-104)  await Contacts.displayUpdateContactById({ id });
[](#%5F%5Fcodelineno-7-105)};
[](#%5F%5Fcodelineno-7-106)
[](#%5F%5Fcodelineno-7-107)const countContacts = async () => {
[](#%5F%5Fcodelineno-7-108)  const { total } = await Contacts.countContacts();
[](#%5F%5Fcodelineno-7-109)  return total;
[](#%5F%5Fcodelineno-7-110)};
[](#%5F%5Fcodelineno-7-111)
[](#%5F%5Fcodelineno-7-112)const createGroup = async () => {
[](#%5F%5Fcodelineno-7-113)  return Contacts.createGroup({
[](#%5F%5Fcodelineno-7-114)    group: {
[](#%5F%5Fcodelineno-7-115)      name: 'My Group'
[](#%5F%5Fcodelineno-7-116)    }
[](#%5F%5Fcodelineno-7-117)  });
[](#%5F%5Fcodelineno-7-118)};
[](#%5F%5Fcodelineno-7-119)
[](#%5F%5Fcodelineno-7-120)const deleteGroupById = async (id: string) => {
[](#%5F%5Fcodelineno-7-121)  await Contacts.deleteGroupById({ id });
[](#%5F%5Fcodelineno-7-122)};
[](#%5F%5Fcodelineno-7-123)
[](#%5F%5Fcodelineno-7-124)const getAccounts = async () => {
[](#%5F%5Fcodelineno-7-125)  const { accounts } = await Contacts.getAccounts();
[](#%5F%5Fcodelineno-7-126)  return accounts;
[](#%5F%5Fcodelineno-7-127)};
[](#%5F%5Fcodelineno-7-128)
[](#%5F%5Fcodelineno-7-129)const getGroupById = async (id: string) => {
[](#%5F%5Fcodelineno-7-130)  const { group } = await Contacts.getGroupById({ id });
[](#%5F%5Fcodelineno-7-131)  return group;
[](#%5F%5Fcodelineno-7-132)};
[](#%5F%5Fcodelineno-7-133)
[](#%5F%5Fcodelineno-7-134)const getGroups = async () => {
[](#%5F%5Fcodelineno-7-135)  const { groups } = await Contacts.getGroups();
[](#%5F%5Fcodelineno-7-136)  return groups;
[](#%5F%5Fcodelineno-7-137)};
[](#%5F%5Fcodelineno-7-138)
[](#%5F%5Fcodelineno-7-139)const isAvailable = async () => {
[](#%5F%5Fcodelineno-7-140)  const { isAvailable } = await Contacts.isAvailable();
[](#%5F%5Fcodelineno-7-141)  return isAvailable;
[](#%5F%5Fcodelineno-7-142)};
[](#%5F%5Fcodelineno-7-143)
[](#%5F%5Fcodelineno-7-144)const isSupported = async () => {
[](#%5F%5Fcodelineno-7-145)  const { isSupported } = await Contacts.isSupported();
[](#%5F%5Fcodelineno-7-146)  return isSupported;
[](#%5F%5Fcodelineno-7-147)};
[](#%5F%5Fcodelineno-7-148)
[](#%5F%5Fcodelineno-7-149)const checkPermissions = async () => {
[](#%5F%5Fcodelineno-7-150)  return Contacts.checkPermissions();
[](#%5F%5Fcodelineno-7-151)};
[](#%5F%5Fcodelineno-7-152)
[](#%5F%5Fcodelineno-7-153)const requestPermissions = async () => {
[](#%5F%5Fcodelineno-7-154)  return Contacts.requestPermissions();
[](#%5F%5Fcodelineno-7-155)};
`

## API[¶](#api "Permanent link")

* [countContacts()](#countcontacts)
* [createContact(...)](#createcontact)
* [createGroup(...)](#creategroup)
* [deleteContactById(...)](#deletecontactbyid)
* [deleteGroupById(...)](#deletegroupbyid)
* [displayContactById(...)](#displaycontactbyid)
* [displayCreateContact(...)](#displaycreatecontact)
* [displayUpdateContactById(...)](#displayupdatecontactbyid)
* [getAccounts()](#getaccounts)
* [getContactById(...)](#getcontactbyid)
* [getContacts(...)](#getcontacts)
* [getGroupById(...)](#getgroupbyid)
* [getGroups()](#getgroups)
* [isAvailable()](#isavailable)
* [isSupported()](#issupported)
* [openSettings()](#opensettings)
* [pickContact(...)](#pickcontact)
* [pickContacts(...)](#pickcontacts)
* [updateContactById(...)](#updatecontactbyid)
* [checkPermissions()](#checkpermissions)
* [requestPermissions(...)](#requestpermissions)
* [Interfaces](#interfaces)
* [Type Aliases](#type-aliases)
* [Enums](#enums)

### countContacts()[¶](#countcontacts "Permanent link")

`[](#%5F%5Fcodelineno-8-1)countContacts() => Promise<CountContactsResult>
`

Count the number of contacts on the device.

Only available on Android and iOS.

**Returns:** `Promise<[CountContactsResult](#countcontactsresult)>`

**Since:** 7.4.0

---

### createContact(...)[¶](#createcontact "Permanent link")

`[](#%5F%5Fcodelineno-9-1)createContact(options: CreateContactOptions) => Promise<CreateContactResult>
`

Create a new contact on the device.

Only available on Android and iOS.

| Param       | Type                                          |
| ----------- | --------------------------------------------- |
| **options** | [CreateContactOptions](#createcontactoptions) |

**Returns:** `Promise<[CreateContactResult](#createcontactresult)>`

**Since:** 7.0.0

---

### createGroup(...)[¶](#creategroup "Permanent link")

`[](#%5F%5Fcodelineno-10-1)createGroup(options: CreateGroupOptions) => Promise<CreateGroupResult>
`

Create a new contact group on the device.

Only available on iOS.

| Param       | Type                                      |
| ----------- | ----------------------------------------- |
| **options** | [CreateGroupOptions](#creategroupoptions) |

**Returns:** `Promise<[CreateGroupResult](#creategroupresult)>`

**Since:** 7.4.0

---

### deleteContactById(...)[¶](#deletecontactbyid "Permanent link")

`[](#%5F%5Fcodelineno-11-1)deleteContactById(options: DeleteContactByIdOptions) => Promise<void>
`

Delete a contact from the device.

Only available on Android and iOS.

| Param       | Type                                                  |
| ----------- | ----------------------------------------------------- |
| **options** | [DeleteContactByIdOptions](#deletecontactbyidoptions) |

**Since:** 7.0.0

---

### deleteGroupById(...)[¶](#deletegroupbyid "Permanent link")

`[](#%5F%5Fcodelineno-12-1)deleteGroupById(options: DeleteGroupByIdOptions) => Promise<void>
`

Delete a contact group from the device.

Only available on iOS.

| Param       | Type                                              |
| ----------- | ------------------------------------------------- |
| **options** | [DeleteGroupByIdOptions](#deletegroupbyidoptions) |

**Since:** 7.4.0

---

### displayContactById(...)[¶](#displaycontactbyid "Permanent link")

`[](#%5F%5Fcodelineno-13-1)displayContactById(options: DisplayContactByIdOptions) => Promise<void>
`

Display an existing contact by identifier.

Only available on Android and iOS.

| Param       | Type                                                    |
| ----------- | ------------------------------------------------------- |
| **options** | [DisplayContactByIdOptions](#displaycontactbyidoptions) |

**Since:** 7.4.0

---

### displayCreateContact(...)[¶](#displaycreatecontact "Permanent link")

`[](#%5F%5Fcodelineno-14-1)displayCreateContact(options?: DisplayCreateContactOptions | undefined) => Promise<DisplayCreateContactResult>
`

Open a native modal to create a new device contact.

This allows the user to update the contact information before saving it and does not require any permissions.

Only available on Android and iOS.

| Param       | Type                                                        |
| ----------- | ----------------------------------------------------------- |
| **options** | [DisplayCreateContactOptions](#displaycreatecontactoptions) |

**Returns:** `Promise<[DisplayCreateContactResult](#displaycreatecontactresult)>`

**Since:** 7.2.0

---

### displayUpdateContactById(...)[¶](#displayupdatecontactbyid "Permanent link")

`[](#%5F%5Fcodelineno-15-1)displayUpdateContactById(options: DisplayUpdateContactByIdOptions) => Promise<void>
`

Open a native modal to update a contact.

Only available on Android and iOS.

| Param       | Type                                                                |
| ----------- | ------------------------------------------------------------------- |
| **options** | [DisplayUpdateContactByIdOptions](#displayupdatecontactbyidoptions) |

**Since:** 7.4.0

---

### getAccounts()[¶](#getaccounts "Permanent link")

`[](#%5F%5Fcodelineno-16-1)getAccounts() => Promise<GetAccountsResult>
`

List all accounts on the device.

Only available on Android.

**Returns:** `Promise<[GetAccountsResult](#getaccountsresult)>`

**Since:** 7.4.0

---

### getContactById(...)[¶](#getcontactbyid "Permanent link")

`[](#%5F%5Fcodelineno-17-1)getContactById(options: GetContactByIdOptions) => Promise<GetContactByIdResult>
`

Find a contact by identifier.

Only available on Android and iOS.

| Param       | Type                                            |
| ----------- | ----------------------------------------------- |
| **options** | [GetContactByIdOptions](#getcontactbyidoptions) |

**Returns:** `Promise<[GetContactByIdResult](#getcontactbyidresult)>`

**Since:** 7.0.0

---

### getContacts(...)[¶](#getcontacts "Permanent link")

`[](#%5F%5Fcodelineno-18-1)getContacts(options?: GetContactsOptions | undefined) => Promise<GetContactsResult>
`

List all contacts on the device.

Only available on Android and iOS.

| Param       | Type                                      |
| ----------- | ----------------------------------------- |
| **options** | [GetContactsOptions](#getcontactsoptions) |

**Returns:** `Promise<[GetContactsResult](#getcontactsresult)>`

**Since:** 7.0.0

---

### getGroupById(...)[¶](#getgroupbyid "Permanent link")

`[](#%5F%5Fcodelineno-19-1)getGroupById(options: GetGroupByIdOptions) => Promise<GetGroupByIdResult>
`

Find a contact group by identifier.

Only available on iOS.

| Param       | Type                                        |
| ----------- | ------------------------------------------- |
| **options** | [GetGroupByIdOptions](#getgroupbyidoptions) |

**Returns:** `Promise<[GetGroupByIdResult](#getgroupbyidresult)>`

**Since:** 7.4.0

---

### getGroups()[¶](#getgroups "Permanent link")

`[](#%5F%5Fcodelineno-20-1)getGroups() => Promise<GetGroupsResult>
`

List all contact groups on the device.

Only available on iOS.

**Returns:** `Promise<[GetGroupsResult](#getgroupsresult)>`

**Since:** 7.4.0

---

### isAvailable()[¶](#isavailable "Permanent link")

`[](#%5F%5Fcodelineno-21-1)isAvailable() => Promise<IsAvailableResult>
`

Check whether or not contacts is available on the device.

**Returns:** `Promise<[IsAvailableResult](#isavailableresult)>`

**Since:** 7.6.0

---

### isSupported()[¶](#issupported "Permanent link")

`[](#%5F%5Fcodelineno-22-1)isSupported() => Promise<IsSupportedResult>
`

Check if the contacts API is available on the device.

**Returns:** `Promise<[IsSupportedResult](#issupportedresult)>`

**Since:** 7.0.0

---

### openSettings()[¶](#opensettings "Permanent link")

`[](#%5F%5Fcodelineno-23-1)openSettings() => Promise<void>
`

Opens the native app settings page to allow the user to grant the app contacts permissions.

Only available on Android and iOS.

**Since:** 7.7.0

---

### pickContact(...)[¶](#pickcontact "Permanent link")

`[](#%5F%5Fcodelineno-24-1)pickContact(options?: PickContactsOptions | undefined) => Promise<PickContactResult>
`

Open the contact picker to select a contact from the device.

| Param       | Type                                        |
| ----------- | ------------------------------------------- |
| **options** | [PickContactsOptions](#pickcontactsoptions) |

**Returns:** `Promise<[PickContactsResult](#pickcontactsresult)>`

**Since:** 7.0.0

---

### pickContacts(...)[¶](#pickcontacts "Permanent link")

`[](#%5F%5Fcodelineno-25-1)pickContacts(options?: PickContactsOptions | undefined) => Promise<PickContactsResult>
`

Open the contact picker to select a contact from the device.

| Param       | Type                                        |
| ----------- | ------------------------------------------- |
| **options** | [PickContactsOptions](#pickcontactsoptions) |

**Returns:** `Promise<[PickContactsResult](#pickcontactsresult)>`

**Since:** 7.4.0

---

### updateContactById(...)[¶](#updatecontactbyid "Permanent link")

`[](#%5F%5Fcodelineno-26-1)updateContactById(options: UpdateContactByIdOptions) => Promise<void>
`

Update an existing contact on the device.

Only available on Android and iOS.

| Param       | Type                                                  |
| ----------- | ----------------------------------------------------- |
| **options** | [UpdateContactByIdOptions](#updatecontactbyidoptions) |

**Since:** 7.4.0

---

### checkPermissions()[¶](#checkpermissions "Permanent link")

`[](#%5F%5Fcodelineno-27-1)checkPermissions() => Promise<PermissionStatus>
`

Check permissions to access contacts.

Only available on Android and iOS.

**Returns:** `Promise<[PermissionStatus](#permissionstatus)>`

**Since:** 7.0.0

---

### requestPermissions(...)[¶](#requestpermissions "Permanent link")

`[](#%5F%5Fcodelineno-28-1)requestPermissions(options?: RequestPermissionsOptions | undefined) => Promise<PermissionStatus>
`

Request permissions to access contacts.

Only available on Android and iOS.

| Param       | Type                                                    |
| ----------- | ------------------------------------------------------- |
| **options** | [RequestPermissionsOptions](#requestpermissionsoptions) |

**Returns:** `Promise<[PermissionStatus](#permissionstatus)>`

**Since:** 7.0.0

---

### Interfaces[¶](#interfaces "Permanent link")

#### CountContactsResult[¶](#countcontactsresult "Permanent link")

| Prop      | Type   | Description             | Since |
| --------- | ------ | ----------------------- | ----- |
| **total** | number | The number of contacts. | 7.4.0 |

#### CreateContactResult[¶](#createcontactresult "Permanent link")

| Prop   | Type   | Description                             | Since |
| ------ | ------ | --------------------------------------- | ----- |
| **id** | string | The identifier for the created contact. | 7.0.0 |

#### CreateContactOptions[¶](#createcontactoptions "Permanent link")

| Prop        | Type                            | Description            | Since |
| ----------- | ------------------------------- | ---------------------- | ----- |
| **contact** | Omit<[Contact](#contact), 'id'> | The contact to create. | 7.0.0 |

#### Contact[¶](#contact "Permanent link")

| Prop                 | Type                  | Description                                                                     | Since |
| -------------------- | --------------------- | ------------------------------------------------------------------------------- | ----- |
| **account**          | [Account](#account)   | The account associated with the contact. Only available on Android.             | 7.4.0 |
| **birthday**         | [Birthday](#birthday) | The birthday of the contact.                                                    | 7.3.0 |
| **emailAddresses**   | EmailAddress\[\]      | The list of email addresses for the contact.                                    | 7.0.0 |
| **familyName**       | string                | The family name of the contact. Only available on Android and iOS.              | 7.0.0 |
| **givenName**        | string                | The given name of the contact. Only available on Android and iOS.               | 7.0.0 |
| **groupIds**         | string\[\]            | The identifier of the groups the contact belongs to. Only available on iOS.     | 7.4.0 |
| **id**               | string                | The identifier for the contact. Only available on Android and iOS.              | 7.0.0 |
| **jobTitle**         | string                | The job title of the contact. Only available on Android and iOS.                | 7.0.0 |
| **middleName**       | string                | The middle name of the contact. Only available on Android and iOS.              | 7.0.0 |
| **fullName**         | string                | The full name of the contact. Only available on Web.                            | 7.0.0 |
| **namePrefix**       | string                | The name prefix of the contact. Only available on Android and iOS.              | 7.0.0 |
| **nameSuffix**       | string                | The name suffix of the contact. Only available on Android and iOS.              | 7.0.0 |
| **note**             | string                | A note about the contact. Only available on Android and iOS.                    | 7.0.0 |
| **organizationName** | string                | The organization name of the contact. Only available on Android and iOS.        | 7.0.0 |
| **phoneNumbers**     | PhoneNumber\[\]       | The list of phone numbers for the contact.                                      | 7.0.0 |
| **photo**            | string                | The photo of the contact as a base64 string. Only available on Android and iOS. | 7.0.0 |
| **postalAddresses**  | PostalAddress\[\]     | The list of postal addresses for the contact.                                   | 7.0.0 |
| **urlAddresses**     | UrlAddress\[\]        | The list of URL addresses for the contact. Only available on Android and iOS.   | 7.0.0 |

#### Account[¶](#account "Permanent link")

| Prop     | Type   | Description                                  | Since |
| -------- | ------ | -------------------------------------------- | ----- |
| **name** | string | The account name. Only available on Android. | 7.4.0 |
| **type** | string | The account type. Only available on Android. | 7.4.0 |

#### Birthday[¶](#birthday "Permanent link")

| Prop      | Type   | Description                                                                                                                                         | Since |
| --------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| **day**   | number | The day of the birthdate.                                                                                                                           | 7.3.0 |
| **month** | number | The month of the birthdate.                                                                                                                         | 7.3.0 |
| **year**  | number | The year of the birthdate. On **Android**, this must be provided if the day and month are provided when using the displayCreateContact(...) method. | 7.3.0 |

#### EmailAddress[¶](#emailaddress "Permanent link")

| Prop          | Type                                  | Description                                                                                                                           | Default                | Since |
| ------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ----- |
| **isPrimary** | boolean                               | Whether this email address is the primary one for the contact.                                                                        | false                  | 7.0.0 |
| **label**     | string                                | A custom label for the email address. On **iOS**, this label is only set if the type is [EmailAddressType.Custom](#emailaddresstype). | 7.0.0                  |       |
| **type**      | [EmailAddressType](#emailaddresstype) | The type of email address.                                                                                                            | EmailAddressType.Other | 7.0.0 |
| **value**     | string                                | The email address.                                                                                                                    | 7.0.0                  |       |

#### PhoneNumber[¶](#phonenumber "Permanent link")

| Prop          | Type                                | Description                                                                                                                        | Default               | Since |
| ------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | --------------------- | ----- |
| **isPrimary** | boolean                             | Whether this email address is the primary one for the contact.                                                                     | 7.0.0                 |       |
| **label**     | string                              | A custom label for the phone number. On **iOS**, this label is only set if the type is [PhoneNumberType.Custom](#phonenumbertype). | 7.0.0                 |       |
| **type**      | [PhoneNumberType](#phonenumbertype) | The type of phone number.                                                                                                          | PhoneNumberType.Other | 7.0.0 |
| **value**     | string                              | The phone number.                                                                                                                  |                       |       |

#### PostalAddress[¶](#postaladdress "Permanent link")

| Prop               | Type                                    | Description                                                                                                                                                                 | Default                 | Since |
| ------------------ | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ----- |
| **city**           | string                                  | The city for the postal address.                                                                                                                                            | 7.0.0                   |       |
| **country**        | string                                  | The country for the postal address.                                                                                                                                         | 7.0.0                   |       |
| **formatted**      | string                                  | The formatted postal address.                                                                                                                                               | 7.0.0                   |       |
| **isoCountryCode** | string                                  | The ISO country code for the postal address. Only available on iOS.                                                                                                         | 7.0.0                   |       |
| **isPrimary**      | boolean                                 | Whether this postal address is the primary one for the contact. Only available on Android and iOS.                                                                          | false                   | 7.0.0 |
| **label**          | string                                  | A custom label for the postal address. On **iOS**, this label is only set if the type is [PostalAddressType.Custom](#postaladdresstype). Only available on Android and iOS. | 7.0.0                   |       |
| **neighborhood**   | string                                  | The neighborhood for the postal address. Only available on Android and iOS.                                                                                                 | 7.0.0                   |       |
| **postalCode**     | string                                  | The postal code for the postal address. Only available on Android and iOS.                                                                                                  | 7.0.0                   |       |
| **state**          | string                                  | The state for the postal address.                                                                                                                                           | 7.0.0                   |       |
| **street**         | string                                  | The street for the postal address. Only available on Android and iOS.                                                                                                       | 7.0.0                   |       |
| **type**           | [PostalAddressType](#postaladdresstype) | The type of postal address. Only available on Android and iOS.                                                                                                              | PostalAddressType.Other | 7.0.0 |

#### UrlAddress[¶](#urladdress "Permanent link")

| Prop      | Type                              | Description                         | Default              | Since |
| --------- | --------------------------------- | ----------------------------------- | -------------------- | ----- |
| **label** | string                            | A custom label for the URL address. | 7.5.0                |       |
| **type**  | [UrlAddressType](#urladdresstype) | The type of URL address.            | UrlAddressType.Other | 7.5.0 |
| **value** | string                            | The URL address.                    |                      |       |

#### CreateGroupResult[¶](#creategroupresult "Permanent link")

| Prop   | Type   | Description                           | Since |
| ------ | ------ | ------------------------------------- | ----- |
| **id** | string | The identifier for the created group. | 7.4.0 |

#### CreateGroupOptions[¶](#creategroupoptions "Permanent link")

| Prop      | Type                        | Description          | Since |
| --------- | --------------------------- | -------------------- | ----- |
| **group** | Omit<[Group](#group), 'id'> | The group to create. | 7.4.0 |

#### Group[¶](#group "Permanent link")

| Prop     | Type   | Description                   | Since |
| -------- | ------ | ----------------------------- | ----- |
| **id**   | string | The identifier for the group. | 7.4.0 |
| **name** | string | The name of the group.        | 7.4.0 |

#### DeleteContactByIdOptions[¶](#deletecontactbyidoptions "Permanent link")

| Prop   | Type   | Description                     | Since |
| ------ | ------ | ------------------------------- | ----- |
| **id** | string | The identifier for the contact. | 7.0.0 |

#### DeleteGroupByIdOptions[¶](#deletegroupbyidoptions "Permanent link")

| Prop   | Type   | Description                   | Since |
| ------ | ------ | ----------------------------- | ----- |
| **id** | string | The identifier for the group. | 7.4.0 |

#### DisplayContactByIdOptions[¶](#displaycontactbyidoptions "Permanent link")

| Prop   | Type   | Description                               | Since |
| ------ | ------ | ----------------------------------------- | ----- |
| **id** | string | The identifier of the contact to display. | 7.4.0 |

#### DisplayCreateContactResult[¶](#displaycreatecontactresult "Permanent link")

| Prop   | Type   | Description                                                                                                            | Since |
| ------ | ------ | ---------------------------------------------------------------------------------------------------------------------- | ----- |
| **id** | string | The identifier for the created contact. On **Android**, you need the readContacts permission to return the identifier. | 7.4.0 |

#### DisplayCreateContactOptions[¶](#displaycreatecontactoptions "Permanent link")

| Prop        | Type                            | Description                                         | Since |
| ----------- | ------------------------------- | --------------------------------------------------- | ----- |
| **contact** | Omit<[Contact](#contact), 'id'> | The contact to display in the create contact modal. | 7.2.0 |

#### DisplayUpdateContactByIdOptions[¶](#displayupdatecontactbyidoptions "Permanent link")

| Prop   | Type   | Description                              | Since |
| ------ | ------ | ---------------------------------------- | ----- |
| **id** | string | The identifier of the contact to update. | 7.4.0 |

#### GetAccountsResult[¶](#getaccountsresult "Permanent link")

| Prop         | Type        | Description                                   | Since |
| ------------ | ----------- | --------------------------------------------- | ----- |
| **accounts** | Account\[\] | An array of available accounts on the device. | 7.4.0 |

#### GetContactByIdResult[¶](#getcontactbyidresult "Permanent link")

| Prop        | Type                        |
| ----------- | --------------------------- |
| **contact** | [Contact](#contact) \| null |

#### GetContactByIdOptions[¶](#getcontactbyidoptions "Permanent link")

| Prop       | Type                            | Description                           | Default                                                                                                                                                                                        | Since |
| ---------- | ------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| **fields** | (keyof [Contact](#contact))\[\] | The fields to return for the contact. | \['birthday', 'emailAddresses', 'familyName', 'givenName', 'id', 'jobTitle', 'middleName', 'namePrefix', 'nameSuffix', 'organizationName', 'phoneNumbers', 'postalAddresses', 'urlAddresses'\] | 7.1.0 |
| **id**     | string                          | The identifier for the contact.       | 7.0.0                                                                                                                                                                                          |       |

#### GetContactsResult[¶](#getcontactsresult "Permanent link")

| Prop         | Type        | Description                                                                                       | Since |
| ------------ | ----------- | ------------------------------------------------------------------------------------------------- | ----- |
| **contacts** | Contact\[\] | The list of contacts on the device. **Note**: No photos are returned to avoid performance issues. | 7.0.0 |

#### GetContactsOptions[¶](#getcontactsoptions "Permanent link")

| Prop       | Type                            | Description                             | Default                                                                                                                                                                            | Since |
| ---------- | ------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| **fields** | (keyof [Contact](#contact))\[\] | The fields to return for the contact.   | \['emailAddresses', 'familyName', 'givenName', 'id', 'jobTitle', 'middleName', 'namePrefix', 'nameSuffix', 'organizationName', 'phoneNumbers', 'postalAddresses', 'urlAddresses'\] | 7.1.0 |
| **limit**  | number                          | Limit the number of contacts returned.  | 20                                                                                                                                                                                 | 7.4.0 |
| **offset** | number                          | Offset the number of contacts returned. | 0                                                                                                                                                                                  | 7.4.0 |

#### GetGroupByIdResult[¶](#getgroupbyidresult "Permanent link")

| Prop      | Type                    | Description                              | Since |
| --------- | ----------------------- | ---------------------------------------- | ----- |
| **group** | [Group](#group) \| null | The group with the specified identifier. | 7.4.0 |

#### GetGroupByIdOptions[¶](#getgroupbyidoptions "Permanent link")

| Prop   | Type   | Description                   | Since |
| ------ | ------ | ----------------------------- | ----- |
| **id** | string | The identifier for the group. | 7.4.0 |

#### GetGroupsResult[¶](#getgroupsresult "Permanent link")

| Prop       | Type      | Description                       | Since |
| ---------- | --------- | --------------------------------- | ----- |
| **groups** | Group\[\] | The list of groups on the device. | 7.4.0 |

#### IsAvailableResult[¶](#isavailableresult "Permanent link")

| Prop            | Type    | Description                                         | Since |
| --------------- | ------- | --------------------------------------------------- | ----- |
| **isAvailable** | boolean | Whether or not contacts is available on the device. | 7.6.0 |

#### IsSupportedResult[¶](#issupportedresult "Permanent link")

| Prop            | Type    | Description                                                                                  | Since |
| --------------- | ------- | -------------------------------------------------------------------------------------------- | ----- |
| **isSupported** | boolean | Whether the contacts API is available on the device. This is always true on Android and iOS. | 7.0.0 |

#### PickContactsResult[¶](#pickcontactsresult "Permanent link")

| Prop         | Type        | Description                                         | Since |
| ------------ | ----------- | --------------------------------------------------- | ----- |
| **contacts** | Contact\[\] | The selected contacts. Empty if none were selected. | 7.0.0 |

#### PickContactsOptions[¶](#pickcontactsoptions "Permanent link")

| Prop         | Type                            | Description                                                              | Default                                                                                                                                                                                        | Since |
| ------------ | ------------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| **fields**   | (keyof [Contact](#contact))\[\] | The fields to return for the contact. Only available on Android and iOS. | \['birthday', 'emailAddresses', 'familyName', 'givenName', 'id', 'jobTitle', 'middleName', 'namePrefix', 'nameSuffix', 'organizationName', 'phoneNumbers', 'postalAddresses', 'urlAddresses'\] | 7.4.0 |
| **multiple** | boolean                         | Whether to allow selecting multiple contacts. Only available on Web.     | false                                                                                                                                                                                          | 7.0.0 |

#### UpdateContactByIdOptions[¶](#updatecontactbyidoptions "Permanent link")

| Prop        | Type                                                   | Description                                                                                                                                                               | Since |
| ----------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| **contact** | [Nullable](#nullable)<Omit<[Contact](#contact), 'id'>> | The updated contact information. Missing properties are ignored and keep their existing values. Properties explicitly set to null (or empty arrays \[\]) will be deleted. | 8.0.0 |
| **id**      | string                                                 | The identifier for the contact.                                                                                                                                           | 8.0.0 |

#### PermissionStatus[¶](#permissionstatus "Permanent link")

| Prop              | Type                                                | Description                                                               | Since |
| ----------------- | --------------------------------------------------- | ------------------------------------------------------------------------- | ----- |
| **readContacts**  | [ContactsPermissionState](#contactspermissionstate) | Permission state for reading contacts. Only available on Android and iOS. | 7.0.0 |
| **writeContacts** | [ContactsPermissionState](#contactspermissionstate) | Permission state for writing contacts. Only available on Android and iOS. | 7.0.0 |

#### RequestPermissionsOptions[¶](#requestpermissionsoptions "Permanent link")

| Prop            | Type                       | Description                 | Default                             | Since |
| --------------- | -------------------------- | --------------------------- | ----------------------------------- | ----- |
| **permissions** | ContactsPermissionType\[\] | The permissions to request. | \['readContacts', 'writeContacts'\] | 7.0.0 |

### Type Aliases[¶](#type-aliases "Permanent link")

#### ContactField[¶](#contactfield "Permanent link")

`keyof [Contact](#contact)`

#### PickContactOptions[¶](#pickcontactoptions "Permanent link")

`[PickContactsOptions](#pickcontactsoptions)`

#### PickContactResult[¶](#pickcontactresult "Permanent link")

`[PickContactsResult](#pickcontactsresult)`

#### Nullable[¶](#nullable "Permanent link")

Makes all properties of T nullable.

`{ [K in keyof T]: T[K] | null }`

#### ContactsPermissionState[¶](#contactspermissionstate "Permanent link")

`[PermissionState](#permissionstate) | 'limited'`

#### PermissionState[¶](#permissionstate "Permanent link")

`'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'`

#### ContactsPermissionType[¶](#contactspermissiontype "Permanent link")

`'readContacts' | 'writeContacts'`

### Enums[¶](#enums "Permanent link")

#### EmailAddressType[¶](#emailaddresstype "Permanent link")

| Members    | Value    | Description                | Since |
| ---------- | -------- | -------------------------- | ----- |
| **Custom** | 'CUSTOM' | 7.0.0                      |       |
| **Home**   | 'HOME'   | 7.0.0                      |       |
| **ICloud** | 'ICLOUD' | Only available on iOS.     | 7.0.0 |
| **Mobile** | 'MOBILE' | Only available on Android. | 7.0.0 |
| **Other**  | 'OTHER'  | 7.0.0                      |       |
| **School** | 'SCHOOL' | Only available on iOS.     | 7.0.0 |
| **Work**   | 'WORK'   | 7.0.0                      |       |

#### PhoneNumberType[¶](#phonenumbertype "Permanent link")

| Members         | Value           | Description                | Since |
| --------------- | --------------- | -------------------------- | ----- |
| **Assistant**   | 'ASSISTANT'     | Only available on Android. | 7.0.0 |
| **Callback**    | 'CALLBACK'      | Only available on Android. | 7.0.0 |
| **Car**         | 'CAR'           | Only available on Android. | 7.0.0 |
| **CompanyMain** | 'COMPANY\_MAIN' | Only available on Android. | 7.0.0 |
| **Custom**      | 'CUSTOM'        | 7.0.0                      |       |
| **FaxHome**     | 'FAX\_HOME'     | 7.0.0                      |       |
| **FaxOther**    | 'FAX\_OTHER'    | 7.0.0                      |       |
| **FaxWork**     | 'FAX\_WORK'     | 7.0.0                      |       |
| **Home**        | 'HOME'          | 7.0.0                      |       |
| **IPhone**      | 'IPHONE'        | Only available on iOS.     | 7.0.0 |
| **Isdn**        | 'ISDN'          | Only available on Android. | 7.0.0 |
| **Main**        | 'MAIN'          | 7.0.0                      |       |
| **Mms**         | 'MMS'           | Only available on Android. | 7.0.0 |
| **Mobile**      | 'MOBILE'        | 7.0.0                      |       |
| **Other**       | 'OTHER'         | 7.0.0                      |       |
| **Pager**       | 'PAGER'         | 7.0.0                      |       |
| **Radio**       | 'RADIO'         | Only available on Android. | 7.0.0 |
| **Telex**       | 'TELEX'         | Only available on Android. | 7.0.0 |
| **TtyTdd**      | 'TTY\_TDD'      | Only available on Android. | 7.0.0 |
| **Work**        | 'WORK'          | 7.0.0                      |       |
| **WorkMobile**  | 'WORK\_MOBILE'  | Only available on Android. | 7.0.0 |
| **WorkPager**   | 'WORK\_PAGER'   | Only available on Android. | 7.0.0 |

#### PostalAddressType[¶](#postaladdresstype "Permanent link")

| Members    | Value    | Since |
| ---------- | -------- | ----- |
| **Custom** | 'CUSTOM' | 7.0.0 |
| **Home**   | 'HOME'   | 7.0.0 |
| **Other**  | 'OTHER'  | 7.0.0 |
| **Work**   | 'WORK'   | 7.0.0 |

#### UrlAddressType[¶](#urladdresstype "Permanent link")

| Members      | Value      | Description                | Since |
| ------------ | ---------- | -------------------------- | ----- |
| **Blog**     | 'BLOG'     | Only available on Android. | 7.5.0 |
| **Custom**   | 'CUSTOM'   | 7.5.0                      |       |
| **Ftp**      | 'FTP'      | Only available on Android. | 7.5.0 |
| **Home**     | 'HOME'     | 7.5.0                      |       |
| **Homepage** | 'HOMEPAGE' | 7.5.0                      |       |
| **Other**    | 'OTHER'    | 7.5.0                      |       |
| **Profile**  | 'PROFILE'  | Only available on Android. | 7.5.0 |
| **School**   | 'SCHOOL'   | Only available on iOS.     | 7.5.0 |
| **Work**     | 'WORK'     | 7.5.0                      |       |

## Changelog[¶](#changelog "Permanent link")

See [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/contacts/CHANGELOG.md).

## Breaking Changes[¶](#breaking-changes "Permanent link")

See [BREAKING.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/contacts/BREAKING.md).

## License[¶](#license "Permanent link")

See [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/contacts/LICENSE).

May 7, 2026 

 Back to top 