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

# Update a vendor contact

`PATCH /vendor-contacts/{id}`

Partially update a vendor contact. Only provided fields will be updated.

- **Omitted fields**: Not modified (current value preserved)
- **Provided fields**: Updated to the new value
- **Null values**: Clear the field (set to null) where applicable

## Path parameters

- `id` string, required

## Request body

- VendorContactPatch — Partial vendor contact update. All fields are optional. - **Omitted fields**: Not modified (current value preserved) - **Provided fields**: Updated to the new value - **Null values**: Clear the field (set to null) where applicable Note: vendorId cannot be updated after creation.
  - `email` string, email, nullable — Contact email address
  - `phone` string, nullable — Contact phone number
  - `role` string, nullable — Contact role or title (deprecated - use roles array)
  - `roles` VendorContactRole[], nullable — Types/roles this contact serves (replaces entire array)

## Response `200`

Vendor contact updated successfully

- VendorContact
  - `object` 'VENDOR_CONTACT' — Object type identifier
  - `vendor` ResourceReference, required — Reference to another resource (returned in responses)
    - `id` string, uuid, required — Resource UUID
    - `key` string, nullable — Client-defined reference ID if set
  - `email` string, email, nullable — Contact email address
  - `phone` string, nullable — Contact phone number
  - `role` string, nullable — Contact role or title (deprecated - use roles array)
  - `roles` VendorContactRole[], nullable — Types/roles this contact serves
  - `deletedBy` UserReference — Enhanced reference to a user resource (returned in responses). Includes full user details in addition to id/key. Note: Does NOT include nested references (teams, etc.) to prevent recursion. Maximum nesting depth: 1 level.
    - `id` string, uuid, required — User UUID
    - `key` string, nullable — Client-defined reference ID if set
    - `email` string, email, required — User's email address
    - `name` string, nullable — User's full name
    - `phone` string, nullable — User's phone number
    - `phoneExt` string, nullable — Phone extension
    - `status` 'PENDING' | 'ACTIVE' | 'INACTIVE', required — User account status
    - `avatarId` string, uuid, nullable — Profile avatar document ID
    - `createdAt` string, date-time, required — When the user was created
    - `updatedAt` string, date-time, required — When the user was last updated
    - `deletedAt` string, date-time, nullable — When the user was soft deleted (null if active)
  - `createdAt` string, date-time, required — When the contact was created
  - `deletedAt` string, date-time, nullable — When the contact was soft deleted (null if active)

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - invalid or missing access token
- `404` — Resource not found
- `409` — Conflict - resource already exists or constraint violation
- `500` — Internal server error

---

[API](https://skmtc.net/mvmnt/apis/mvmnt-api.md) · [All operations](https://skmtc.net/mvmnt/apis/mvmnt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mvmnt/mvmnt-api/versions/c44e5e7a4256/schema)
