---
title: "Get Part Vendor Associations"
method: GET
path: "/v2/parts/vendors/associations"
tags: ["Routes", "Parts", "Vendor Associations"]
---

# Get Part Vendor Associations

`GET /v2/parts/vendors/associations`

## Request

- Base URL: `{{server}}:{{port}}`
- URL: `{{server}}:{{port}}/v2/parts/vendors/associations`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/limblecmms/apis/limble-api-v2/docs/v2/parts/vendors/associations/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a paginated list of vendor-part associations for the customer.

**Note:** this endpoint supports both cursor-based and page-based pagination. Please refer to the [**Pagination**](#pagination) section for more information.

Return data description

| Property | Description |
| --- | --- |
| relationID | The unique ID of this vendor-part association. |
| partID | The ID of the associated part. |
| vendorID | The ID of the associated vendor. |
| vendorPartNumber | The vendor's part number for this part, if provided. |
| partPrice | The vendor's price for this part, if provided. |
| createdAt | Unix timestamp of when this association was created. |
| updatedAt | Unix timestamp of when this association was last updated. |
| partName | The name of the associated part. |
| number | The part's internal part number. |
| locationID | The ID of the location this part belongs to. |
| vendorName | The name of the associated vendor. |

## Query parameters

- `parts` string
- `vendors` string
- `vendorPartNumber` string
- `vendorName` string
- `start` integer
- `end` integer
- `cursor` integer
- `limit` integer
- `orderBy` string
- `page` integer

## Response `200`

Get Part Vendor Associations

- object[]
  - `relationID` integer
  - `partID` integer
  - `vendorID` integer
  - `vendorPartNumber` string
  - `partPrice` number
  - `createdAt` integer
  - `updatedAt` integer
  - `partName` string
  - `number` string
  - `locationID` integer
  - `vendorName` string

## Other responses

- `400`: The request was malformed — either invalid JSON syntax or a validation failure (missing required field, wrong type, etc.).
- `401`: No `Authorization` header was provided on the request.
- `403`: The supplied credentials are invalid, the customer account is inactive, or the credentials do not have permission to perform this action.
- `422`: The requested `limit` exceeds the endpoint's server-side maximum of 1000. Returns HTTP 422 with a message identifying the requested value and the allowed maximum.
- `429`: The per-minute or per-hour rate limit for this credential and method has been exhausted. Inspect the `X-RateLimit-*` headers to determine when to retry.
- `500`: An unhandled server-side error. The body message is generic (`System unavailable...`) when the underlying cause is a database fault; otherwise it reflects the raised error.

## Changes

- **2026-10-15** `488d795f846f`: 2 warning, 1 info
  - for the `query` request parameter `limit`, the max was set to `1000.00`
  - for the `query` request parameter `limit`, the min was set to `1.00`
  - added the non-success response with the status `422`

[Operation history](https://skmtc.dev/limblecmms/apis/limble-api-v2/changes/v2/parts/vendors/associations/get.md)

---

[API](https://skmtc.dev/limblecmms/apis/limble-api-v2.md) - [All operations](https://skmtc.dev/limblecmms/apis/limble-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/limblecmms/apis/limble-api-v2/revisions/488d795f846f?raw)
