update_contact
Update an existing contact by replacing specified fields (name, emails, phones, addresses, notes) with new values; fields not provided stay unchanged.
Instructions
Update an existing contact. Each provided field WHOLLY REPLACES the stored value (e.g. emails: [] removes all emails) — unspecified fields are left untouched. Requires read-write contacts scope.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Structured name; provide full and/or given/surname | |
| notes | No | Free-form note (replaces the existing note on update) | |
| emails | No | Email addresses (replaces ALL existing emails on update; [] clears) | |
| phones | No | Phone numbers (replaces ALL existing phones on update) | |
| addresses | No | Postal addresses as free-form text (replaces ALL existing on update) | |
| contactId | Yes | ID of the contact to update | |
| expectState | No | Optional JMAP state precondition (ifInState); update fails with stateMismatch if contacts changed since this state |