> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# Resource: Contacts V5

# Type: Contact Object

# Link: https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts-v5/contact-object.md

## Description: A contact represents a person in a site's contact list. It stores profile details such as name, email addresses, phone numbers, and addresses, and can optionally be linked to a site member.

## Schema:

```json
 Type: Contact Object | type: Contact
 Description: A contact represents a person in a site's contact list. It stores profile details such as name, email addresses, phone numbers, and addresses, and can optionally be linked to a site member.
       - name: id  | type: string | description: Contact ID.
           - name: value  | type: string | description: 
       - name: revision  | type: string | description: Revision number, which increments by 1 each time the Contact is updated. To prevent conflicting changes, the current revision must be passed when updating the Contact.  Ignored when creating a Contact.
           - name: value  | type: string | description: 
       - name: createdDate  | type: string | description: Date and time the contact was created.
           - name: seconds  | type: string | description: 
           - name: nanos  | type: number | description: 
       - name: updatedDate  | type: string | description: Date and time the contact was last updated.
       - name: externalId  | type: string | description: Contact external ID. Used to identify contacts from external systems. This field can only be set once and can't be updated after creation.
       - name: name  | type: ContactName | description: Contact's name information including first and last name.
           - name: first  | type: string | description: Contact's first name.
           - name: last  | type: string | description: Contact's last name.
       - name: email  | type: ContactEmail | description: The main email of the contact with subscription status and deliverability information. This email is used for contact matching and deduplication logic.
           - name: email  | type: string | description: Main email address for the contact. Used for communication and contact matching.  Stored in normalized form: leading and trailing whitespace is trimmed and the address is lowercased.
           - name: subscriptionStatus  | type: ContactSubscription | description: Indicates the recipient's opt-in or opt-out status for marketing emails. This field is read-only and managed by the subscription system.  Updates are eventually consistent, reflecting marketing consent changes after they're processed.
               - name: status  | type: string | description: Indicates the recipient's opt-in or opt-out status for marketing communications.  - `NO_SUBSCRIPTION_STATUS`: No status exists. Used when a phone is not a valid E164 number. - `NOT_SET`: No subscription status specified. Default value. - `PENDING`: Subscription confirmation was requested, but recipient hasn't confirmed yet. - `SUBSCRIBED`: Recipient has explicitly opted in to receive marketing communications. - `UNSUBSCRIBED`: Recipient has opted out of marketing communications.
               - name: updatedDate  | type: string | description: Date and time when the subscription status was last updated.
           - name: deliverabilityStatus  | type: string | description: Indicates the last reported delivery status of emails sent to this address. This field is read-only and updated automatically by the email delivery system.  - `NOT_SET`: No delivery status reported. Default value. - `VALID`: Emails are being successfully delivered to this address. - `BOUNCED`: The last email to this address bounced or was rejected by the recipient's email server. - `SPAM_COMPLAINT`: Recipient registered a spam complaint with their email provider. - `INACTIVE`: Multiple emails have been delivered without any engagement from the recipient.
               enum: NOT_SET, VALID, BOUNCED, SPAM_COMPLAINT, INACTIVE
       - name: additionalEmails  | type: Array<AdditionalEmail> | description: Additional emails of the contact. These emails do not affect subscription status or contact matching/deduplication. The main email field must be set before additional emails can be added.
           - name: email  | type: string | description: Additional email address for the contact. Does not affect subscription status or contact matching logic.
       - name: phone  | type: ContactPhone | description: The main phone of the contact with subscription status and deliverability information. This phone is used for contact matching and deduplication logic. At least one of name, email, or phone is required for contact creation.
           - name: tag  | type: string | description: Phone type classification. Helps categorize the phone number's purpose.  Default: `OTHER`
               enum: OTHER, MAIN, HOME, MOBILE, WORK, FAX
           - name: phone  | type: string | description: Primary phone number for the contact. Used for communication and contact matching.
           - name: e164  | type: string | description: Phone number in [ITU E.164 international](https://www.itu.int/rec/T-REC-E.164/) format (e.g., +12345550123). This field is automatically generated from the phone field if it represents a valid E.164 number.
           - name: subscriptionStatus  | type: ContactSubscription | description: Indicates the recipient's opt-in or opt-out status for SMS/text message marketing. This field is read-only and managed by the subscription system.  Updates are eventually consistent, reflecting marketing consent changes after they're processed.
           - name: deliverabilityStatus  | type: string | description: Indicates the delivery status for SMS messages sent to this phone number. This field is read-only and updated automatically by the SMS delivery system. - `NO_PHONE_DELIVERABILITY_STATUS`: No status exists. Used when the phone is not a valid E164 number. - `NOT_SET`: No delivery status reported. Default when the phone is a valid E164 number. - `VALID`: Last message was sent and delivered successfully. - `INVALID`: The number is invalid (landline, number disconnected, etc.).
               enum: NO_PHONE_DELIVERABILITY_STATUS, NOT_SET, VALID, INVALID
       - name: additionalPhones  | type: Array<AdditionalPhone> | description: Additional phones of the contact. These phones do not affect subscription status or contact matching/deduplication. The main phone field must be set before additional phones can be added.
           - name: tag  | type: string | description: Phone type classification for the additional phone number.  Default: `OTHER`
           - name: phone  | type: string | description: Additional phone number for the contact. Does not affect subscription status or contact matching logic.
           - name: e164  | type: string | description: Additional phone number in [ITU E.164 international](https://www.itu.int/rec/T-REC-E.164/) format (e.g., +12345550123). This field is automatically generated from the phone field if it represents a valid E.164 number.
       - name: addresses  | type: Array<ContactAddress> | description: Contact's physical addresses. Each address can be tagged (HOME, WORK, BILLING, SHIPPING, OTHER) and one can be set as default. If no address is marked as default, the first address automatically becomes the default.
           - name: tag  | type: string | description: Address type classification. Helps categorize the address purpose.  Default: `OTHER`
               enum: OTHER, HOME, WORK, BILLING, SHIPPING
           - name: address  | type: Address | description: Physical address information including street, city, country, and postal code. Contains structured address data following common address formatting standards.
               - name: country  | type: string | description: 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
               - name: subdivision  | type: string | description: Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. For example, `NY`.
               - name: city  | type: string | description: City name.
               - name: postalCode  | type: string | description: Postal or zip code.
               - name: addressLine2  | type: string | description: Free text providing more detailed address information, such as apartment, suite, or floor.
               - name: formattedAddress  | type: string | description: Human-readable address string. If not provided, the value is generated from the available address data.
               - name: hint  | type: string | description: Instructions to help someone find the address, such as landmarks or where the entrance is.
               - name: geocode  | type: AddressLocation | description: Coordinates of the physical address.
               - name: countryFullname  | type: string | description: Full country name.
               - name: subdivisions  | type: Array<Subdivision> | description: Hierarchical list of subdivisions, where the first array item is the highest level of hierarchy, and so on.
               - name: subdivisionFullname  | type: string | description: Subdivision full name.
           - name: defaultAddress  | type: boolean | description: Whether this address is the contact's default address. Only one address can be designated as default per contact. If no address is explicitly set as default, the first address automatically becomes the default.
               - name: value  | type: boolean | description: 
           - name: id  | type: string | description: Address ID.
           - name: recipient  | type: Recipient | description: Address recipient information for delivery purposes.
               - name: firstName  | type: string | description: Recipient's first name.
               - name: lastName  | type: string | description: Recipient's last name.
               - name: company  | type: string | description: Recipient's company name.
               - name: phone  | type: string | description: Recipient's phone number.
       - name: company  | type: ContactCompany | description: Contact's company information including company name and job title.
           - name: name  | type: string | description: Contact's company name.
           - name: jobTitle  | type: string | description: Contact's job title.
       - name: locale  | type: string | description: Locale in [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. Typically, this is a lowercase 2-letter language code, followed by a hyphen, followed by an uppercase 2-letter country code. For example, `en-US` for U.S. English, and `de-DE` for Germany German.
       - name: birthdate  | type: string | description: Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.
       - name: timeZone  | type: string | description: IANA time zone identifier for the contact's location. Valid values are IANA time zone IDs, such as 'Europe/Rome' or 'America/New_York'.
       - name: assigneeId  | type: string | description: Site contributor user ID assigned to manage communication with this contact. Must be a valid GUID referencing an existing site contributor. Only one assignee can be set per contact.
       - name: locationIds  | type: Array<string> | description: List of business location IDs associated with this contact. Used for multi-location businesses to organize contacts by physical business locations. Each ID must be a valid GUID referencing an existing business location.
       - name: image  | type: Image | description: Contact's profile image.
           - name: id  | type: string | description: Media Manager image ID.
           - name: url  | type: string | description: Image URL. The URL is valid until the date in `urlExpirationDate`.
           - name: height  | type: number | description: Original image height.
           - name: width  | type: number | description: Original image width.
           - name: altText  | type: string | description: Image alt text.
           - name: urlExpirationDate  | type: string | description: Image URL expiration date (when relevant).
           - name: sizeInBytes  | type: string | description: Image size in bytes.
       - name: source  | type: ContactSource | description: Details about the origin of the contact. This field is immutable and set automatically when the contact is created.
           - name: userId  | type: string | description: ID of the user who created this contact.
           - name: appId  | type: string | description: ID of the application that created this contact.
           - name: additionalInfo  | type: string | description: Additional information about the contact's origin or creation context.
       - name: lastActivity  | type: ContactActivity | description: Details about the contact's most recent activity on the site. Includes activity date and template ID. This field is read-only and updated automatically.
           - name: date  | type: string | description: Date and time when the contact's most recent activity occurred.
           - name: templateId  | type: string | description: ID of the activity template that defines the type of activity performed. References a template in the contacts activity log system.
       - name: segmentIds  | type: Array<string> | description: IDs of the segments the contact belongs to. Segments are used for organizing and targeting groups of contacts.
       - name: memberInfo  | type: MemberInfo | description: Contact's site membership information including member ID, status, and profile details. This field is read-only and populated automatically when the contact is also a site member.  Updates are eventually consistent: changes to the underlying member, identity, or profile are reflected after the corresponding events are processed.
           - name: memberId  | type: string | description: Member ID.
           - name: signupDate  | type: string | description: Date and time the member signed up.
           - name: email  | type: string | description: Email the member uses to log in.
           - name: emailVerified  | type: boolean | description: Whether the email is verified.
           - name: emailVerificationRequired  | type: boolean | description: Whether the member is required to verify their email before they can log in.
           - name: status  | type: string | description: Member status. - `PENDING`: Member created and is waiting for approval by site owner. - `ACTIVE`: Member can log in to the site. - `BLOCKED`: Member is blocked and cannot log in to the site. - `OFFLINE`: Member is a [managed writer](https://support.wix.com/en/article/wix-blog-adding-managed-writers-to-your-blog) for the site blog and cannot log in to the site.
               enum: PENDING, ACTIVE, BLOCKED, OFFLINE
           - name: profileInfo  | type: ProfileInfo | description: Information about the member's public profile.
               - name: nickname  | type: string | description: Member's nickname.
               - name: privacyStatus  | type: string | description: Whether the member's profile is visible to other site members and visitors.
               - name: reported  | type: boolean | description: Whether the member has been reported by another member.
               - name: muted  | type: boolean | description: Whether the member has been muted and can't post or comment on the site.
               - name: photo  | type: Image | description: Member's profile photo.
           - name: userInfo  | type: UserInfo | description: Information about the member's user account.
               - name: userId  | type: string | description: User ID.
               - name: role  | type: string | description: Member's role on the site.
           - name: sessionInfo  | type: SessionInfo | description: Information about the member's login sessions.
               - name: lastWebLogin  | type: string | description: Date and time the member last logged in to the site from a browser.
               - name: lastMobileLogin  | type: string | description: Date and time the member last logged in from one of the mobile apps.
               - name: mobileAppNames  | type: Array<string> | description: Mobile apps the member has ever logged in to.
           - name: groupInfo  | type: GroupInfo | description: Information about the groups the member belongs to.
               - name: groupIds  | type: Array<string> | description: IDs of the groups the member belongs to.
       - name: tags  | type: PrivateTags | description: Tags assigned to the contact for organization and filtering.
           - name: privateTags  | type: TagList | description: Tags that require an additional permission to access, normally not given to site members or visitors.
               - name: tagIds  | type: Array<string> | description: A list of tag IDs. To create a tag, use the [Tags API](https://dev.wix.com/docs/api-reference/business-management/tags/introduction.md) with the contacts FQDN: `wix.contacts.*.contact`.
       - name: extendedFields  | type: ExtendedFields | description: Extended fields for storing custom contact data beyond the standard fields. Allows adding custom properties specific to business needs. To define a custom extended field, use the [Schema Service API](https://dev.wix.com/docs/api-reference/business-management/data-extension-schema/about-the-data-extension-schema-api.md) with the contacts FQDN: `wix.contacts.*.contact`.
           - name: namespaces  | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).

```