---
title: "[beta] Update a vendor location"
method: PATCH
path: "/fleet/maintenance/vendor-locations"
tags: ["Beta APIs"]
---

# \[beta\] Update a vendor location

`PATCH /fleet/maintenance/vendor-locations`

## Request

- Base URL: `https://api.samsara.com`
- URL: `https://api.samsara.com/fleet/maintenance/vendor-locations`
- Auth: HTTP bearer

Updates an existing maintenance vendor location. The linked Place owns the location's name, address, and notes; update them through the public Addresses API, not this resource. Use the location's addressId (or placeId.id from a mutation response) as {id} in GET /addresses/{id} to retrieve data.name, data.formattedAddress, and data.notes, and PATCH /addresses/{id} to update name, formattedAddress, and notes. These calls require Read Addresses and Write Addresses permissions, respectively. addressId is optional when the existing link identifies a live Place in this organization; otherwise supply a valid addressId before updating the location. Any supplied value must be the Address/Place ID returned as data.id by the Addresses API and identify a live Place in this organization. Legacy vendor-stored notes are separate and are not exposed or copied to the Place.

 <b>Rate limit:</b> 100 requests/min (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).

To use this endpoint, select **Write Work Orders** under the Work Orders category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
 

 **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.

## Query parameters

- `includeExternalIds` boolean
- `id` string, required

## Request body

- EntityVendorsServiceUpdateVendorLocationRequestBody: Request body for updating a vendor location
  - `addressId` string: Linked place identifier for the vendor address.
  - `assetAttributeSelections` UpdateVendorEntityVendorVendorAssetAttributeSelectionInputTypeRequestBody[]: Assets this vendor can service. Empty replaces inherited selections; null clears the setting.
    - `attributeId` string, required: ID of an asset-scoped preset attribute.
    - `values` UpdateVendorEntityVendorVendorAssetAttributeValueInputTypeRequestBody[], required: Selected values. At most 100 values per attribute.
      - `id` string, required: ID of a value belonging to the attribute.
  - `contacts` UpdateVendorEntityVendorVendorContactInputTypeRequestBody[]: People to contact at the vendor.
    - `email` string, required: Email address of the contact person.
    - `name` string, required: Name of the contact person at the vendor.
    - `phoneNumber` string, required: Phone number of the contact person.
  - `defaultLaborRatePerHour` UpdateVendorEntityVendorVendorHourlyMoneyInputTypeRequestBody: VendorHourlyMoney object
    - `amount` string, required: Nonnegative decimal hourly amount in the organization's currency.
    - `currency` string, required: ISO 4217 currency matching the organization's current currency.
  - `emailAddresses` string[]: Email addresses for the vendor.
  - `externalIds` UpdateVendorEntityVendorVendorExternalIdInputTypeRequestBody[]: Customer-supplied external identifiers for the vendor, interchangeable with id in filters. Only included in the response when includeExternalIds is set.
    - `key` string, required: Name of the external ID namespace, for example a source system identifier.
    - `value` string, required: The external ID value within the given key's namespace.
  - `isMobile` boolean: Whether this vendor provides mobile service. When unset, the profile or system default applies.
  - `isPreferred` boolean: Whether this vendor location is preferred. When unset, the profile or system default applies.
  - `parentVendorId` string: Parent vendor UUID. Null removes membership while preserving explicit overrides.
  - `payeeId` string: Free-text AP/ERP payee identifier for the vendor. Not a reference to a Samsara entity.
  - `phoneNumbers` string[]: Phone numbers for the vendor.
  - `servicesProvided` string: Description of services provided by the vendor.
  - `status` 'active' | 'inactive' | 'unknown': Own lifecycle status. Defaults to active. Unknown is read-only. Valid values: `active`, `inactive`, `unknown`
  - `vendorId` string: User-defined identifier for the vendor.

## Response `200`

OK response.

- EntityVendorsServiceUpdateVendorLocationResponseBody
  - `data` EntityUpdateVendorLocationTypeResponseBody, required: vendor location object
    - `assetAttributeSelections` UpdateVendorEntityVendorVendorAssetAttributeSelectionTypeResponseBody[]: Assets this vendor can service. Empty replaces inherited selections; null clears the setting.
      - `attributeId` string: ID of an asset-scoped preset attribute.
      - `values` UpdateVendorEntityVendorVendorAssetAttributeValueTypeResponseBody[]: Selected values. At most 100 values per attribute.
        - `id` string: ID of a value belonging to the attribute.
    - `contacts` UpdateVendorEntityVendorVendorContactTypeResponseBody[]: People to contact at the vendor.
      - `email` string: Email address of the contact person.
      - `name` string: Name of the contact person at the vendor.
      - `phoneNumber` string: Phone number of the contact person.
    - `defaultLaborRatePerHour` UpdateVendorEntityVendorVendorHourlyMoneyTypeResponseBody: VendorHourlyMoney object
      - `amount` string: Nonnegative decimal hourly amount in the organization's currency.
      - `currency` string: ISO 4217 currency matching the organization's current currency.
    - `emailAddresses` string[]: Email addresses for the vendor.
    - `externalId` string: External identifier for the vendor from an external system.
    - `externalIds` UpdateVendorEntityVendorVendorExternalIdTypeResponseBody[]: Customer-supplied external identifiers for the vendor, interchangeable with id in filters. Only included in the response when includeExternalIds is set.
      - `key` string: Name of the external ID namespace, for example a source system identifier.
      - `value` string: The external ID value within the given key's namespace.
    - `id` string: Internal unique identifier for the vendor.
    - `isMobile` boolean: Whether this vendor provides mobile service. When unset, the profile or system default applies.
    - `isPreferred` boolean: Whether this vendor location is preferred. When unset, the profile or system default applies.
    - `parentVendorId` string: Parent vendor UUID. Null removes membership while preserving explicit overrides.
    - `payeeId` string: Free-text AP/ERP payee identifier for the vendor. Not a reference to a Samsara entity.
    - `phoneNumbers` string[]: Phone numbers for the vendor.
    - `placeId` EntityUpdateVendorPlaceRefTypeResponseBody: Reference to a Place
      - `id` string, required: The ID of the referenced Place.
    - `servicesProvided` string: Description of services provided by the vendor.
    - `status` 'active' | 'inactive' | 'unknown': Own lifecycle status. Defaults to active. Unknown is read-only. Valid values: `active`, `inactive`, `unknown`
    - `vendorId` string: User-defined identifier for the vendor.

## Other responses

- `401`: Unauthorized response.
- `404`: Not Found response.
- `405`: Method Not Allowed response.
- `413`: Content Too Large response.
- `429`: Too Many Requests response.
- `500`: Internal Server Error response.
- `501`: Not Implemented response.
- `502`: Bad Gateway response.
- `503`: Service Unavailable response.
- `504`: Gateway Timeout response.
- `default`: Bad Request response.

---

[API](https://skmtc.dev/samsara/apis/samsara-api.md) - [All operations](https://skmtc.dev/samsara/apis/samsara-api/llms.txt) - [OpenAPI document](https://skmtc.dev/samsara/apis/samsara-api/revisions/a9e35d4999be?raw)
