# List catalogs

Returns the catalogs visible to the caller. Supplier users see every catalog; a customer context (`vendorGuid`)
narrows the list to the catalogs that customer may order from.

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

## Query parameters:

  - `vendorGuid` (string)
    Customer context, as an alternative to the `vendorGuid` header.

  - `onlyActive` (string)
    Return active catalogs only.

  - `checkIfHasCategories` (string)
    Also return `catalogsDetails` with a `hasCategories` flag per catalog.

  - `includeDeletedPriceGroups` (string)
    Include soft-deleted price groups under each catalog.

## Header parameters:

  - `vendorGuid` (string)
    GUID of the customer (vendor) to act for. With API key authentication this selects the customer context; with user session headers it is the vendor the user is acting on behalf of.

## Response 200 fields (application/json):

  - `catalogs` (array, required)

  - `catalogs.id` (integer)

  - `catalogs.guid` (string)

  - `catalogs.supplier_id` (integer)

  - `catalogs.name` (string)
    Example: Main Catalog

  - `catalogs.email` (string)

  - `catalogs.version` (string)

  - `catalogs.active` (boolean)

  - `catalogs.order_item_type_id` (integer)

  - `catalogs.currency_id` (integer)

  - `catalogs.order_prefix_override` (string)
    Prefix used for order numbers created from this catalog, if overridden.

  - `catalogs.last_inventory_update` (string)

  - `catalogs.Price_Groups` (array)

  - `catalogs.Price_Groups.id` (integer)

  - `catalogs.Price_Groups.guid` (string)

  - `catalogs.Price_Groups.catalog_id` (integer)

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

  - `catalogs.Price_Groups.is_main` (boolean)

  - `catalogs.Price_Groups.percentage` (number)

  - `catalogs.Price_Groups.price_upcharge_type_id` (integer)

  - `catalogs.Price_Groups.created_at` (string)

  - `catalogs.Price_Groups.updated_at` (string)

  - `catalogs.Price_Groups.deleted_at` (string)

  - `catalogs.created_at` (string)

  - `catalogs.updated_at` (string)

  - `resource` (string, required)
    Example: Catalog

  - `catalogsDetails` (array)
    Present when `checkIfHasCategories=true`.

  - `catalogsDetails.catalogGuid` (string)

  - `catalogsDetails.catalogName` (string)

  - `catalogsDetails.catalogId` (integer)

  - `catalogsDetails.hasCategories` (boolean)

## 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 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 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`).

