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

# \[beta\] Create a vendor location

`POST /fleet/maintenance/vendor-locations`

## Request

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

Creates a maintenance vendor location linked to a live Place in this organization. First create or reuse an Address through the public Addresses API and set addressId to its returned data.id (the Place ID). The Place owns the location's name, address, and notes. Use addressId 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. Mutation responses expose the same Address/Place ID as placeId.id; location lists return it as addressId. This endpoint does not create Places. Legacy vendor-stored notes are separate and are not exposed or copied to the Place. parentVendorId is optional.

 <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

## Request body

- EntityVendorsServiceCreateVendorLocationRequestBody: Request body for creating a vendor location
  - `addressId` string, required: Linked place identifier for the vendor address.
  - `assetAttributeSelections` CreateVendorEntityVendorVendorAssetAttributeSelectionInputTypeRequestBody[]: Assets this vendor can service. Empty replaces inherited selections; null clears the setting.
    - `attributeId` string, required: ID of an asset-scoped preset attribute.
    - `values` CreateVendorEntityVendorVendorAssetAttributeValueInputTypeRequestBody[], required: Selected values. At most 100 values per attribute.
      - `id` string, required: ID of a value belonging to the attribute.
  - `contacts` CreateVendorEntityVendorVendorContactInputTypeRequestBody[]: 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` CreateVendorEntityVendorVendorHourlyMoneyInputTypeRequestBody: 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` CreateVendorEntityVendorVendorExternalIdInputTypeRequestBody[]: 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.

- EntityVendorsServiceCreateVendorLocationResponseBody
  - `data` EntityCreateVendorLocationTypeResponseBody, required: vendor location object
    - `assetAttributeSelections` CreateVendorEntityVendorVendorAssetAttributeSelectionTypeResponseBody[]: Assets this vendor can service. Empty replaces inherited selections; null clears the setting.
      - `attributeId` string: ID of an asset-scoped preset attribute.
      - `values` CreateVendorEntityVendorVendorAssetAttributeValueTypeResponseBody[]: Selected values. At most 100 values per attribute.
        - `id` string: ID of a value belonging to the attribute.
    - `contacts` CreateVendorEntityVendorVendorContactTypeResponseBody[]: 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` CreateVendorEntityVendorVendorHourlyMoneyTypeResponseBody: 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` CreateVendorEntityVendorVendorExternalIdTypeResponseBody[]: 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` EntityCreateVendorPlaceRefTypeResponseBody: 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)
