---
title: "Update a vendor"
method: PATCH
path: "/vendors/{id}"
tags: ["Vendors"]
---

# Update a vendor

`PATCH /vendors/{id}`

Partially update a vendor. 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

- VendorPatch — Partial vendor 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
  - `name` string — Vendor legal name
  - `key` string, nullable — Client-defined reference identifier
  - `email` string, email, nullable — Primary email address
  - `phone` string, nullable — Primary phone number
  - `status` string, nullable — Vendor status
  - `notes` string, nullable — Internal notes about the vendor
  - `taxId` string, nullable — Tax identification number
  - `currency` 'USD' | 'CAD' | 'MXN' | 'EUR' | 'GBP' — Currency code
  - `corporateAddress` AddressInput — Address data for creating a new location
    - `line1` string, required — Primary street address line
    - `line2` string — Secondary address line (suite, floor, etc.)
    - `city` string, required — City name
    - `country` string, required — Country name or code
    - `market` string, required — Market or region identifier
    - `latitude` string — Latitude coordinate
    - `longitude` string — Longitude coordinate
    - `isAirportOrAirbase` boolean — Whether this location is an airport or airbase
    - `isConstructionOrUtilitySite` boolean — Whether this location is a construction or utility site
    - `isSmartyValidated` boolean — Whether address has been validated by SmartyStreets
    - `obeysDst` boolean — Whether this location observes daylight saving time
    - `cityId` string, uuid — Reference to standardized city record (internal use)
  - `billingAddress` AddressInput — Address data for creating a new location
    - `line1` string, required — Primary street address line
    - `line2` string — Secondary address line (suite, floor, etc.)
    - `city` string, required — City name
    - `country` string, required — Country name or code
    - `market` string, required — Market or region identifier
    - `latitude` string — Latitude coordinate
    - `longitude` string — Longitude coordinate
    - `isAirportOrAirbase` boolean — Whether this location is an airport or airbase
    - `isConstructionOrUtilitySite` boolean — Whether this location is a construction or utility site
    - `isSmartyValidated` boolean — Whether address has been validated by SmartyStreets
    - `obeysDst` boolean — Whether this location observes daylight saving time
    - `cityId` string, uuid — Reference to standardized city record (internal use)
  - `paymentTermId` string, uuid, nullable — Payment term ID
  - `isMvmnt` boolean, nullable — Whether this vendor is MVMNT itself
  - `requiredDocuments` string[], nullable — List of required document types

## Response `200`

Vendor updated successfully

- Vendor
  - `object` 'VENDOR' — Object type identifier
  - `id` string, uuid, required — Unique vendor identifier
  - `friendlyId` string, required — Human-readable vendor identifier
  - `name` string, required — Vendor legal name
  - `key` string, nullable — Client-defined reference identifier
  - `email` string, email, nullable — Primary email address
  - `phone` string, nullable — Primary phone number
  - `status` string, nullable — Vendor status
  - `notes` string, nullable — Internal notes about the vendor
  - `taxId` string, nullable — Tax identification number
  - `currency` 'USD' | 'CAD' | 'MXN' | 'EUR' | 'GBP' — Currency code
  - `corporateAddress` Address — Physical address/location details (nested, without id). This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.
    - `line1` string, required — Primary street address line
    - `line2` string, nullable — Secondary address line (suite, floor, etc.)
    - `city` string, required — City name
    - `country` string, required — Country name or code
    - `market` string, required — Market or region identifier
    - `latitude` string, nullable — Latitude coordinate
    - `longitude` string, nullable — Longitude coordinate
    - `isAirportOrAirbase` boolean, required — Whether this location is an airport or airbase
    - `isConstructionOrUtilitySite` boolean, required — Whether this location is a construction or utility site
    - `isSmartyValidated` boolean, required — Whether address has been validated by SmartyStreets
    - `obeysDst` boolean, required — Whether this location observes daylight saving time
    - `cityId` string, uuid, nullable — Reference to standardized city record (internal use)
  - `billingAddress` Address — Physical address/location details (nested, without id). This is an embedded object representing a Location record. The id is managed internally and not exposed in the API.
    - `line1` string, required — Primary street address line
    - `line2` string, nullable — Secondary address line (suite, floor, etc.)
    - `city` string, required — City name
    - `country` string, required — Country name or code
    - `market` string, required — Market or region identifier
    - `latitude` string, nullable — Latitude coordinate
    - `longitude` string, nullable — Longitude coordinate
    - `isAirportOrAirbase` boolean, required — Whether this location is an airport or airbase
    - `isConstructionOrUtilitySite` boolean, required — Whether this location is a construction or utility site
    - `isSmartyValidated` boolean, required — Whether address has been validated by SmartyStreets
    - `obeysDst` boolean, required — Whether this location observes daylight saving time
    - `cityId` string, uuid, nullable — Reference to standardized city record (internal use)
  - `paymentTerm` PaymentTermReference — Enhanced reference to a payment term resource (returned in responses). Includes full payment term details in addition to id/key.
    - `id` string, uuid, required — Payment term UUID
    - `key` string, nullable — Client-defined reference ID if set
    - `name` string, required — Payment term name
    - `description` string, nullable — Payment term description or notes
    - `days` integer, nullable — Number of days until payment is due
    - `quickPayFee` number, float, nullable — Quick pay fee percentage (e.g., 0.05 for 5%)
    - `apOnly` boolean, nullable — Whether this payment term is for accounts payable only
    - `doNotUse` boolean, nullable — Flag to prevent using this payment term for new transactions
    - `createdAt` string, date-time, required — When the payment term was created
    - `updatedAt` string, date-time, required — When the payment term was last updated
    - `deletedAt` string, date-time, nullable — When the payment term was soft deleted (null if active)
  - `isMvmnt` boolean, nullable — Whether this vendor is MVMNT itself
  - `requiredDocuments` string[], nullable — List of required document types
  - `paymentMethods` VendorPaymentMethodReference[] — Payment methods configured for this vendor
    - `id` string, uuid, required — Unique vendor payment method identifier
    - `key` string, nullable — Client-defined reference identifier
    - `paymentMethodType` 'ACH_WIRE' | 'ZELLE' | 'VENMO' | 'ACH' | 'CHECK' | 'WIRE' | 'CAD_EFT' | 'TRIUMPH_PAY' | 'COMCHECK' | 'EFS' | 'ECHECK', required — Payment method type
    - `status` string, nullable — Payment method status
    - `isPreferred` boolean, nullable — Whether this is the preferred payment method
    - `email` string, email, nullable — Email address for payment notifications
    - `phone` string, nullable — Phone number for payment contact
    - `companyName` string, nullable — Company name for this payment method
    - `username` string, nullable — Username for payment platforms
    - `bankName` string, nullable — Bank name
    - `bankAddress` string, nullable — Bank address
    - `accountName` string, nullable — Bank account holder name
    - `accountNumber` string, nullable — Bank account number (masked in responses)
    - `abaAch` string, nullable — ABA/ACH routing number
    - `wire` string, nullable — Wire transfer routing number
    - `swiftCode` string, nullable — SWIFT/BIC code
    - `eftInstitution` string, nullable — EFT institution number (Canadian banking)
    - `eftTransit` string, nullable — EFT transit number (Canadian banking)
    - `clabe` string, nullable — CLABE number (Mexican banking)
    - `currency` string, nullable — Preferred currency code
    - `paymentTerm` PaymentTermReference — Enhanced reference to a payment term resource (returned in responses). Includes full payment term details in addition to id/key.
      - `id` string, uuid, required — Payment term UUID
      - `key` string, nullable — Client-defined reference ID if set
      - `name` string, required — Payment term name
      - `description` string, nullable — Payment term description or notes
      - `days` integer, nullable — Number of days until payment is due
      - `quickPayFee` number, float, nullable — Quick pay fee percentage (e.g., 0.05 for 5%)
      - `apOnly` boolean, nullable — Whether this payment term is for accounts payable only
      - `doNotUse` boolean, nullable — Flag to prevent using this payment term for new transactions
      - `createdAt` string, date-time, required — When the payment term was created
      - `updatedAt` string, date-time, required — When the payment term was last updated
      - `deletedAt` string, date-time, nullable — When the payment term was soft deleted (null if active)
    - `createdAt` string, date-time, required — When the payment method was created
    - `updatedAt` string, date-time, required — When the payment method was last updated
    - `deletedAt` string, date-time, nullable — When the payment method was soft deleted
    - `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)
  - `contacts` VendorContactReference[] — Contacts for this vendor
    - `object` 'VENDOR_CONTACT' — Object type identifier
    - `id` string, uuid, required — Unique contact identifier
    - `key` string, nullable — Client-defined reference identifier
    - `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
  - `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 vendor was created
  - `updatedAt` string, date-time, required — When the vendor was last updated
  - `deletedAt` string, date-time, nullable — When the vendor 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/revisions/c44e5e7a4256/schema)
