# List customers

Returns the supplier's customers (vendors) as a paged list of supplier-to-customer connections; the customer
record is under `Vendor` on each row. Requires supplier-level access.
Supports delta sync: pass the returned `serverTimestamp` back as `lastUpdatedAt` to receive only customers
changed since then.

Endpoint: GET /vendors
Version: 1.19
Security: ApiKey, ApiSecret, UserGuid, UserToken, SupplierGuid

## Security:

  - `ApiKey` (unknown)
    apiKey in header x-apiKey

  - `ApiSecret` (unknown)
    apiKey in header x-apiSecret

  - `UserGuid` (unknown)
    apiKey in header userGuid

  - `UserToken` (unknown)
    apiKey in header userToken

  - `SupplierGuid` (unknown)
    apiKey in header supplierGuid

## Query parameters:

  - `limit` (integer)
    Number of rows per page.

  - `offset` (integer)
    Zero-based **page number**. The server skips `offset * limit` rows.

  - `lastUpdatedAt` (string)
    Delta-sync cursor. Pass the `serverTimestamp` returned by the previous call to receive only rows created, updated or soft-deleted since then (deleted rows carry `deleted_at`). Accepts ISO-8601 (`2026-09-01T14:00:00.000Z`) or `YYYY-MM-DD HH:mm:ss` (treated as UTC). The server re-fetches a 60-second overlap window to absorb clock skew. An unparsable value returns `400` with `code: INVALID_DELTA_CURSOR`.

  - `name` (string)
    Filter by customer name (contains match).

  - `category` (string)
    Filter by customer category.

  - `state_license` (string)
    Filter by state license number.

  - `filter_inactive` (string)
    Exclude inactive customers.

  - `filterInactive` (string)
    Alias of `filter_inactive`.

  - `order_by` (string)
    Column to sort by (for example `name`).

  - `order_dir` (string)

  - `nameGuidOnly` (string)
    Return only `id`, `guid` and `name` for each customer (faster for pickers).

## Response 200:

  - `200` (unknown)
    A page of customers.

## Response 200 fields (application/json):

  - `supplierVendorTokens` (array, required)

  - `supplierVendorTokens.id` (integer)

  - `supplierVendorTokens.guid` (string)

  - `supplierVendorTokens.supplier_id` (integer)

  - `supplierVendorTokens.vendor_id` (integer)

  - `supplierVendorTokens.parent_vendor_id` (integer)

  - `supplierVendorTokens.catalog_id` (integer)
    Catalog the customer is locked to, if any.

  - `supplierVendorTokens.price_group_id` (integer)
    Price group override on the connection, if any.

  - `supplierVendorTokens.hide_pricing` (boolean)

  - `supplierVendorTokens.price_discount_one` (number)

  - `supplierVendorTokens.price_discount_two` (number)

  - `supplierVendorTokens.is_master` (boolean)

  - `supplierVendorTokens.route_id` (integer)

  - `supplierVendorTokens.created_at` (string)

  - `supplierVendorTokens.updated_at` (string)

  - `supplierVendorTokens.deleted_at` (string)

  - `supplierVendorTokens.Vendor` (object)
    A customer of the supplier. The full model includes many integration-specific fields (QuickBooks, Stripe, FastBound, routing); only the commonly used ones are listed here.

  - `supplierVendorTokens.Vendor.id` (integer)

  - `supplierVendorTokens.Vendor.guid` (string)

  - `supplierVendorTokens.Vendor.supplier_id` (integer)

  - `supplierVendorTokens.Vendor.parent_vendor_id` (integer)

  - `supplierVendorTokens.Vendor.customer_internal_id` (string)
    Your own identifier for this customer.

  - `supplierVendorTokens.Vendor.name` (string)

  - `supplierVendorTokens.Vendor.email` (string)

  - `supplierVendorTokens.Vendor.shipping_email` (string)

  - `supplierVendorTokens.Vendor.phone` (string)

  - `supplierVendorTokens.Vendor.cell` (string)

  - `supplierVendorTokens.Vendor.fax` (string)

  - `supplierVendorTokens.Vendor.address_line_one` (string)

  - `supplierVendorTokens.Vendor.address_line_two` (string)

  - `supplierVendorTokens.Vendor.city` (string)

  - `supplierVendorTokens.Vendor.state` (string)

  - `supplierVendorTokens.Vendor.postal_code` (string)

  - `supplierVendorTokens.Vendor.country` (string)

  - `supplierVendorTokens.Vendor.active` (boolean)

  - `supplierVendorTokens.Vendor.tax_exempt` (boolean)

  - `supplierVendorTokens.Vendor.resale_tax_id` (string)

  - `supplierVendorTokens.Vendor.lock_catalog_id` (integer)
    When set, the customer can only order from this catalog.

  - `supplierVendorTokens.Vendor.price_group_id` (integer)
    Price group used for this customer's pricing.

  - `supplierVendorTokens.Vendor.payment_type_id` (integer)

  - `supplierVendorTokens.Vendor.payment_term_id` (integer)

  - `supplierVendorTokens.Vendor.require_payment` (boolean)

  - `supplierVendorTokens.Vendor.credit_limit` (number)

  - `supplierVendorTokens.Vendor.open_balance` (number)

  - `supplierVendorTokens.Vendor.is_ecomm_user` (boolean)
    True for Orderwerks Online (e-commerce) customers.

  - `supplierVendorTokens.Vendor.net_term_ecomm_user` (boolean)

  - `supplierVendorTokens.Vendor.require_po` (boolean)

  - `supplierVendorTokens.Vendor.standing_po` (string)

  - `supplierVendorTokens.Vendor.hide_pricing` (boolean)

  - `supplierVendorTokens.Vendor.currency_id` (integer)

  - `supplierVendorTokens.Vendor.notes` (string)

  - `supplierVendorTokens.Vendor.default_order_category_id` (integer)

  - `supplierVendorTokens.Vendor.route_id` (integer)

  - `supplierVendorTokens.Vendor.route_stop_order` (integer)
    Standing stop order of the customer on its route; null = unordered (sorts last, by name).

  - `supplierVendorTokens.Vendor.timezone` (string)

  - `supplierVendorTokens.Vendor.bill_to_id` (integer)

  - `supplierVendorTokens.Vendor.ship_to_id` (integer)

  - `supplierVendorTokens.Vendor.Bill_To` (object)
    A billing or shipping address. Additional internal fields may be present.

  - `supplierVendorTokens.Vendor.Bill_To.id` (integer)

  - `supplierVendorTokens.Vendor.Bill_To.guid` (string)

  - `supplierVendorTokens.Vendor.Bill_To.vendor_id` (integer)

  - `supplierVendorTokens.Vendor.Bill_To.order_id` (integer)

  - `supplierVendorTokens.Vendor.Bill_To.name` (string)
    Contact name at this address.

  - `supplierVendorTokens.Vendor.Bill_To.company_name` (string)

  - `supplierVendorTokens.Vendor.Bill_To.address_line_one` (string)

  - `supplierVendorTokens.Vendor.Bill_To.address_line_two` (string)

  - `supplierVendorTokens.Vendor.Bill_To.address_line_three` (string)

  - `supplierVendorTokens.Vendor.Bill_To.city` (string)

  - `supplierVendorTokens.Vendor.Bill_To.state` (string)

  - `supplierVendorTokens.Vendor.Bill_To.postal_code` (string)

  - `supplierVendorTokens.Vendor.Bill_To.country` (string)

  - `supplierVendorTokens.Vendor.Bill_To.phone` (string)

  - `supplierVendorTokens.Vendor.Bill_To.fax` (string)

  - `supplierVendorTokens.Vendor.Bill_To.email` (string)

  - `supplierVendorTokens.Vendor.Bill_To.note` (string)

  - `supplierVendorTokens.Vendor.Bill_To.address_internal_id` (string)
    Your own identifier for this address, if one was supplied.

  - `supplierVendorTokens.Vendor.Bill_To.is_vendor_main_ship_to` (boolean)

  - `supplierVendorTokens.Vendor.Bill_To.verified` (boolean)
    True when the address was verified against a postal database.

  - `supplierVendorTokens.Vendor.Bill_To.lat` (number)

  - `supplierVendorTokens.Vendor.Bill_To.lng` (number)

  - `supplierVendorTokens.Vendor.Bill_To.created_at` (string)

  - `supplierVendorTokens.Vendor.Bill_To.updated_at` (string)

  - `supplierVendorTokens.Vendor.created_at` (string)

  - `supplierVendorTokens.Vendor.updated_at` (string)

  - `supplierVendorTokens.Vendor.deleted_at` (string)
    Present only in delta-sync responses for soft-deleted customers.

  - `supplierVendorTokens.Price_Group` (object)

  - `supplierVendorTokens.Price_Group.id` (integer)

  - `supplierVendorTokens.Price_Group.guid` (string)

  - `supplierVendorTokens.Price_Group.catalog_id` (integer)

  - `supplierVendorTokens.Price_Group.value` (string)
    Price group name. This is the key used in a catalog item's `pricing` object.
    Example: Wholesale

  - `supplierVendorTokens.Price_Group.is_main` (boolean)

  - `supplierVendorTokens.Price_Group.percentage` (number)

  - `supplierVendorTokens.Price_Group.price_upcharge_type_id` (integer)

  - `supplierVendorTokens.Price_Group.created_at` (string)

  - `supplierVendorTokens.Price_Group.updated_at` (string)

  - `supplierVendorTokens.Price_Group.deleted_at` (string)

  - `totalVendors` (integer, required)
    Total matching customers across all pages.

  - `salesPeopleAssigned` (array)
    Sales rep assignments for the customers on this page.

  - `salesPeopleAssigned.id` (integer)

  - `salesPeopleAssigned.vendor_id` (integer)

  - `salesPeopleAssigned.user_id` (integer)

  - `salesPeopleAssigned.User` (object)

  - `salesPeopleAssigned.User.id` (integer)

  - `salesPeopleAssigned.User.guid` (string)

  - `salesPeopleAssigned.User.name` (string)

  - `salesPeopleAssigned.User.email` (string)

  - `serverTimestamp` (string)
    Pass back as `lastUpdatedAt` on the next call for delta sync.

## Response 400:

  - `400` (unknown)
    Bad request. `code` is `INVALID_DELTA_CURSOR` when `lastUpdatedAt` cannot be parsed.

## Response 400 fields (application/json):

  - `message` (string, required)
    Human-readable error message.
    Example: Invalid Catalog GUID

  - `error` (string)
    Underlying error detail, when available.

  - `code` (string)
    Machine-readable code for specific failures (for example `INVALID_DELTA_CURSOR`).

## Response 401:

  - `401` (unknown)
    Missing or invalid credentials.

## Response 401 fields (application/json):

  - `message` (string, required)
    Human-readable error message.
    Example: Invalid Catalog GUID

  - `error` (string)
    Underlying error detail, when available.

  - `code` (string)
    Machine-readable code for specific failures (for example `INVALID_DELTA_CURSOR`).

## Response 403:

  - `403` (unknown)
    The credentials are valid but the user lacks the access level this endpoint requires.

## Response 403 fields (application/json):

  - `message` (string, required)
    Human-readable error message.
    Example: Invalid Catalog GUID

  - `error` (string)
    Underlying error detail, when available.

  - `code` (string)
    Machine-readable code for specific failures (for example `INVALID_DELTA_CURSOR`).

