---
title: "Update a contact"
method: PATCH
path: "/numbers/contacts/{id}"
tags: ["Contacts"]
---

# Update a contact

`PATCH /numbers/contacts/{id}`

Partial update of name and/or phoneNumber. phoneNumber is re-normalized/re-validated on change. 404 if the contact doesn't exist or isn't owned by the caller. 409 on a (owner, phoneNumber) conflict with another contact.

## Path parameters

- `id` string, uuid, required

## Request body

- UpdateContactInput
  - `name` string
  - `phoneNumber` string — Normalized to E.164 (spaces/dashes/dots stripped); rejected with 400 if it doesn't validate as E.164 afterward.

## Response `200`

Contact updated

- object
  - `data` PublicContact, required
    - `id` string, uuid, required
    - `name` string, required
    - `phoneNumber` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `409` — Conflict
- `500` — Internal Server Error

## Changes

- **2026-08-13** `02da4f9ce3fd` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/droidrun/apis/droidrun-cloud/changes/numbers/contacts/:id/patch.md)

---

[API](https://skmtc.dev/droidrun/apis/droidrun-cloud.md) · [All operations](https://skmtc.dev/droidrun/apis/droidrun-cloud/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/droidrun/droidrun-cloud/revisions/fc388ab21a20/schema)
