update_contact
Update an existing contact by changing only the provided fields, including name, email, phone, or organization. Requires the contact's ETag to prevent conflicting updates.
Instructions
Update an existing contact. Only provided fields are changed.
Pass an empty string to clear a scalar field (e.g. note=""). For emails/phones, pass [] to remove all. Do not provide both email and emails (or phone and phones).
Requires the contact's current etag (from get_contacts or get_contact) to prevent conflicting updates.
Args: uid: The contact UID to update. etag: Current ETag for conflict detection. Get from get_contacts/get_contact. full_name: New full display name. given_name: New first name. family_name: New last name. email: Set a single email (replaces all, TYPE=WORK). Pass "" to remove all. phone: Set a single phone (replaces all, TYPE=CELL). Pass "" to remove all. emails: Array of {"value","type"} to replace all emails. Pass [] to clear. phones: Array of {"value","type"} to replace all phones. Pass [] to clear. organization: New organization. Pass "" to remove. title: New job title. Pass "" to remove. note: New note. Pass "" to remove. book_id: Address book ID (default "contacts").
Returns: JSON with the updated contact object.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes | ||
| etag | Yes | ||
| note | No | ||
| No | |||
| phone | No | ||
| title | No | ||
| emails | No | ||
| phones | No | ||
| book_id | No | contacts | |
| full_name | No | ||
| given_name | No | ||
| family_name | No | ||
| organization | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |