# PATCH /contacts/:contact_id

**Resource:** [Contacts](./contacts.md)  
**MCP tool:** `update_contact`  
**Scopes:** `contacts:write`  
**Write operation:** yes

Update one or more fields on a contact. Pass only the fields you want to change. Set archived=true to archive (hide from active lists) or archived=false to restore.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `contact_id` | path | string | yes |  |
| `first_name` | body | string | no |  |
| `last_name` | body | string | no |  |
| `email` | body | string | no |  |
| `phone` | body | string | no |  |
| `landline` | body | string | no |  |
| `job_title` | body | string | no |  |
| `contact_type` | body | string | no |  |
| `date_of_birth` | body | string | no | ISO date (YYYY-MM-DD). Pass "" to clear. |
| `notes` | body | string | no |  |
| `archived` | body | boolean | no | true = archive, false = restore. Archived contacts stay searchable and API-accessible but drop out of active lists. |

## Request example

```bash
curl -X PATCH   "https://api.trustpager.com/functions/v1/api/v1/contacts/:contact_id"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"first_name":"...","last_name":"...","email":"..."}'
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`