Retrieves a paginated list of vendors, with optional filtering and ordering
Use this endpoint to retrieve vendors for grids or tables with server-side pagination, filtering, and sorting.
To find a specific vendor by code or name, use the filter parameter (e.g., filter=vendorCode equals ‘VENDOR-001’).
Vendors can also be filtered by an associated account’s name or code (e.g., filter=accountInfo like ‘Main’); account
matching is limited to accounts within the user’s organizational scope.
To filter by account linkage, use filter=hasLinkedAccounts equals true (vendors with one or more accounts in scope)
or filter=hasLinkedAccounts equals false (vendors with none); omit it to include all vendors.
The orderBy parameter sorts the complete result before it is paged, and ties are always broken by vendor ID
ascending so consecutive pages never overlap. Without orderBy, results are ordered by vendor name, vendor code,
then vendor ID.
For full details of a single vendor by ID, use GET /api/v3/vendor/{vendorId}. This list endpoint replaces GET /api/v3/vendor.
Paginated endpoint — This API returns paginated results. Use the pageNumber and pageSize query parameters to control which page of results is returned. The response includes pagination metadata in the response headers. See the Pagination guide for details.
Request Headers
| Header | Value | Required | Description |
|---|---|---|---|
| ECI-ApiKey | string | Yes | Your API key. See Authentication. |
| Content-Type | application/json | Yes | All requests must specify JSON content type. |
Query Parameters
| Name | Description | Type | Required |
|---|---|---|---|
| filter | Optional vendor filter; supports vendor and associated-account fields, plus equality filtering on hasLinkedAccounts | string (string) | Optional |
| orderBy | Optional comma-separated order-by fields, each followed by an optional asc (the default) or desc direction, e.g. ‘vendorCode desc’. The sortable fields are vendorInfo (vendor name) and vendorCode (vendor code). | string (string) | Optional |
| pageSize | The number of elements to return in a page | integer (int32) | Optional |
| pageNumber | The current page number | integer (int32) | Optional |
Filters
| Filter | Description | Type | Operators |
|---|---|---|---|
| accountCode | Account Number | String | equals not equals one of like not like not one of |
| accountInfo | Account Name | String | equals not equals one of like not like not one of |
| city | City | String | equals not equals one of like not like not one of |
| commodityCode | Commodity Code | String | equals not equals one of like not like not one of |
| commodityId | Integer | equals not equals less than between one of greater than less than equal greater than equal not one of | |
| commodityInfo | Commodity Name | String | equals not equals one of like not like not one of |
| hasLinkedAccounts | Has Linked Accounts | Boolean | equals |
| postalCode | Postal Code | String | equals not equals one of like not like not one of |
| splitAccountChargesConfigured | Vendor Split Charges Configured | Boolean | equals |
| state | State/Province | String | equals not equals one of like not like not one of |
| vendorCode | Vendor Code | String | equals not equals one of like not like not one of |
| vendorId | Integer | equals not equals less than between one of greater than less than equal greater than equal not one of | |
| vendorInfo | Vendor Name | String | equals not equals one of like not like not one of |
Order By Options
| Name | Description |
|---|---|
| vendorInfo | Vendor Name |
| vendorCode | Vendor Code |
Response Headers
This endpoint returns pagination metadata in the response headers.
| Header | Type | Description |
|---|---|---|
| PageNumber | integer | The current page number (1-based). |
| PageSize | integer | The maximum number of items per page. |
| TotalNumberOfRecords | integer | The total number of records matching the query across all pages. |
| TotalPages | integer | The total number of pages. Increment pageNumber until it equals this value to retrieve all results. |
See the Pagination guide for iteration examples and best practices.
Responses
200
OK
The request succeeded and the response body contains the requested data.
Response Body Parameters
Array of:
VendorResponse
| Property | Description | Type | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| accountCount | The number of distinct accounts assigned to this vendor within the user’s owner and cost-center scope (active and inactive). Out-of-scope accounts are excluded; zero when none are in scope. | integer (int32) | ||||||||||||||||||||||||||||||||||||||||||
| address | AddressChild | |||||||||||||||||||||||||||||||||||||||||||
|
AddressChild properties
|
||||||||||||||||||||||||||||||||||||||||||||
| consentToRepresent | A link to the document containing the customer’s consent for us to represent them to the vendor | string | ||||||||||||||||||||||||||||||||||||||||||
| createdBy | UserChild | |||||||||||||||||||||||||||||||||||||||||||
|
UserChild properties
|
||||||||||||||||||||||||||||||||||||||||||||
| createdDate | The date and time the vendor was created | string (date-time) | ||||||||||||||||||||||||||||||||||||||||||
| ediCode | The vendor’s edi code | string | ||||||||||||||||||||||||||||||||||||||||||
| The vendor’s email address | string | |||||||||||||||||||||||||||||||||||||||||||
| masterVendorId | The identifier of the master vendor, if any | integer (int32) | ||||||||||||||||||||||||||||||||||||||||||
| modifiedBy | UserChild | |||||||||||||||||||||||||||||||||||||||||||
|
UserChild properties
|
||||||||||||||||||||||||||||||||||||||||||||
| modifiedDate | The date and time of the most recent modification | string (date-time) | ||||||||||||||||||||||||||||||||||||||||||
| payDays | The pay days | integer (int32) | ||||||||||||||||||||||||||||||||||||||||||
| phoneNumber | The vendor’s phone number | string | ||||||||||||||||||||||||||||||||||||||||||
| rateScheduleCount | The number of rate schedules available on this vendor, matching the vendor’s Properties view. | integer (int32) | ||||||||||||||||||||||||||||||||||||||||||
| rates | The vendor’s rates | RateChildResponse[] | ||||||||||||||||||||||||||||||||||||||||||
|
RateChildResponse properties
|
||||||||||||||||||||||||||||||||||||||||||||
| splitAccountChargesConfigured | If there are settings configured to split account charges for this vendor This will only be true when the setting applies to all accounts for this vendor | boolean | ||||||||||||||||||||||||||||||||||||||||||
| vendorCode | The vendor code | string | ||||||||||||||||||||||||||||||||||||||||||
| vendorCodeAliases | An array of vendor code aliases | string[] | ||||||||||||||||||||||||||||||||||||||||||
| vendorDescription | A description of the vendor | string | ||||||||||||||||||||||||||||||||||||||||||
| vendorId | The vendor identifier | integer (int32) | ||||||||||||||||||||||||||||||||||||||||||
| vendorInfo | The vendor info | string | ||||||||||||||||||||||||||||||||||||||||||
| website | The vendor’s website | string | ||||||||||||||||||||||||||||||||||||||||||
Example Response
[
{ "accountCount": 1, "address": { "addressTypeId": 1, "city": "string", "country": "string", "latitude": 1.0, "line1": "string", "line2": "string", "line3": "string", "longitude": 1.0, "postalCode": "string", "remitTo": "string", "state": "string"
}, "consentToRepresent": "string", "createdBy": { "fullName": "string", "userCode": "string", "userId": 1
}, "createdDate": "2026-10-15", "ediCode": "string", "email": "string", "masterVendorId": 1, "modifiedBy": { "fullName": "string", "userCode": "string", "userId": 1
}, "modifiedDate": "2026-10-15", "payDays": 1, "phoneNumber": "string", "rateScheduleCount": 1, "rates": [
{ "commodity": {}, "name": "string", "rateId": 1
}
], "splitAccountChargesConfigured": false, "vendorCode": "string", "vendorCodeAliases": [
"string"
], "vendorDescription": "string", "vendorId": 1, "vendorInfo": "string", "website": "string"
}
]