---
title: "Set Preferred Supplier Provider"
method: PATCH
path: "/supplier_provider/{supplier_provider_uid}/preferred"
---

# Set Preferred Supplier Provider

`PATCH /supplier_provider/{supplier_provider_uid}/preferred`

## Request

- Base URL: `https://dc-region.zuperpro.com/api`
- URL: `https://dc-region.zuperpro.com/api/supplier_provider/{supplier_provider_uid}/preferred`
- Auth: API key in header `x-api-key`

Makes this provider the company's preferred supplier and unsets any other, since only one provider can be preferred at a time. No request body is needed. The provider must be `CONNECTED` and have at least one active branch saved as a Zuper vendor; otherwise the request fails with 400. The response returns the updated provider; credentials are never returned. Requires supplier integration to be enabled for the company; otherwise the request fails with 400. Admin only: the API key must belong to an admin user; other roles receive 405 Access Denied.

## Path parameters

- `supplier_provider_uid` string, required

## Response `200`

200

- object
  - `type` 'success'
  - `title` string
  - `message` string
  - `data` object
    - `supplier_provider_uid` string
    - `supplier_provider_name` string
    - `supplier_provider_type` 'SRS' | 'ABC_SUPPLY' | 'QXO'
    - `connection_status` 'CONNECTED' | 'NOT_CONNECTED' | 'RECONNECT_REQUIRED': `RECONNECT_REQUIRED` means the supplier rejected the stored credentials or an admin deactivated the provider; reconnect before ordering.
    - `connection_error_message` string, nullable: Why the provider was last disconnected, such as the supplier's authentication error or a manual deactivation. Absent, empty or `null` when there is nothing to report.
    - `is_preferred_supplier` boolean: At most one provider per company is preferred.
    - `is_deleted` boolean: Always `false`; deleted providers are not returned.
    - `is_active` boolean: `false` when an admin has deactivated the provider.
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `last_synced_at` string, date-time: When Zuper last refreshed the saved catalog prices for this provider from the supplier (scheduled sync). Absent until the first sync.

## Other responses

- `400`: 400
- `404`: 404
- `405`: 405

## Changes

- **2026-11-03** `3c21bc232e16`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zuper/apis/zuper-pro-api/changes/supplier_provider/:supplier_provider_uid/preferred/patch.md)

---

[API](https://skmtc.dev/zuper/apis/zuper-pro-api.md) - [All operations](https://skmtc.dev/zuper/apis/zuper-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zuper/apis/zuper-pro-api/revisions/3c21bc232e16?raw)
