---
title: "List suppliers"
method: GET
path: "/api/v1/sa/inventory/suppliers"
tags: ["Suppliers"]
---

# List suppliers

`GET /api/v1/sa/inventory/suppliers`

## Request

- Base URL: `https://app.sellerassistant.app` (the document declares no server; this is the origin it was published from)
- URL: `https://app.sellerassistant.app/api/v1/sa/inventory/suppliers`
- Auth: one of:
  - API key in query parameter `api_key`
  - API key in header `X-Api-Key`

Lists the suppliers of the team.

## Query parameters

- `search` string
- `sort` string
- `page` integer
- `per_page` integer

## Response `200`

Successful response

- object
  - `data` Supplier[]: List of suppliers
    - `id` integer: Unique supplier identifier
    - `team_id` integer: Team ID that owns this supplier
    - `user_id` integer: Responsible user ID
    - `name` string, nullable: Supplier name
    - `website` string, nullable: Supplier website
    - `status` string, nullable: Supplier status: New, Contacted, Approved, Rejected, Negotiation, No response, Active, On hold
    - `type` string, nullable: Supplier type: Distributor, Manufacturer, Brand, Wholesaler
    - `payment_method` string[]: Payment methods: Credit card, ACH, Wire transfer
    - `payment_terms` string, nullable: Payment terms: Net 15, Net 30, Net 45, Net 60, COD, Prepaid
    - `currency` string, nullable: Currency code (USD, EUR, GBP, etc.)
    - `contacts` string, nullable: Contact information
    - `contact_name` string, nullable: Contact person name
    - `phone` string, nullable: Phone number
    - `address` string, nullable: Address
    - `default_prep_center_id` integer, nullable: Default warehouse/prep center ID
    - `note` string, nullable: Additional notes
    - `mov` number, nullable: Minimum order value
    - `free_shipping_ov` number, nullable: Order value that makes the shipping free
    - `sold_by_case` boolean: The supplier sells by the case
    - `lead_time_min` integer, nullable: Minimum lead time in days
    - `lead_time_max` integer, nullable: Maximum lead time in days
    - `created_at` string, date-time: Creation timestamp
    - `updated_at` string, date-time: Last update timestamp
  - `meta` object
    - `pagination` ApiV1Pagination: The page the answer carries. Every list of the v1 answers it under `meta`.
      - `page` integer: The schemas every endpoint of the public API v1 shares. The envelope is the same on every endpoint, so it lives here once. An endpoint points at it with a `$ref`, and the generated collection stays small and consistent. The parameters live in ApiV1Parameters, not here. swagger-php drops the class level `OA\Schema` attributes of a class that also carries a class level `OA\Parameter`, so the two kinds need two classes. This class holds no code. swagger-php reads the attributes, and nothing calls it.
      - `per_page` integer
      - `total` integer
      - `last_page` integer
    - `trial_limit` ApiV1TrialLimit: Present only on trial, when the trial hides rows of the list. The trial shows the first rows of a list, and the pagination counts only these rows.
      - `max_rows` integer: The number of rows that the trial shows.
      - `total` integer, nullable: The true number of rows in the list. It is null for a list that does not count its rows.
      - `code` string
      - `message` string
      - `subscribe_url` string, uri

## Other responses

- `400`: Bad request - validation failed or invalid parameters
- `402`: Payment Required - subscription expired or payment method required
- `403`: Access denied - insufficient permissions, invalid API key, or the API request limit is used up (`public_api_key_limit`)
- `422`: Business logic error - operation cannot be completed due to business rules
- `429`: Too many requests - rate limit exceeded

---

[API](https://skmtc.dev/sellerassistant/apis/seller-assistant-public-api.md) · [All operations](https://skmtc.dev/sellerassistant/apis/seller-assistant-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sellerassistant/apis/seller-assistant-public-api/revisions/5b3ecdbcadb6?raw)
