---
title: "List AI categorization suggestions"
method: GET
path: "/ops/sellers/{seller_id}/catalog/review"
tags: ["ops", "ops-sellers"]
---

# List AI categorization suggestions

`GET /ops/sellers/{seller_id}/catalog/review`

## Request

- Base URL: `https://api.topi-staging.eu`
- URL: `https://api.topi-staging.eu/ops/sellers/{seller_id}/catalog/review`
- Auth: OAuth 2
  - Authorization code: `/oauth2/authorize`
  - Token URL: `/oauth2/token` scopes: `catalog:read`

Fetch paginated products pending review for a seller, including their AI categorization suggestions

## Path parameters

- `seller_id` string, regexp, required: Seller ID

## Query parameters

- `limit` integer: the size of the page, capped at 100
- `page` integer: the index of the page, zero-based

## Response `200`

OK response.

- ReviewCatalogResult
  - `data` Product[], required: Products pending review
    - `base_rental_price` MoneyAmount
      - `currency` string, required: Currency code, see ISO 4127 (https://www.iso.org/iso-4217-currency-codes.html) (supported: EUR, GBP, USD)
      - `gross` integer, required: Gross amount of money, expressed in the minor unit for the currency
      - `net` integer, required: Net amount of money, expressed in the minor unit for the currency
    - `categorization_suggestions` ProductCategorizationSuggestion[]: Model categorization suggestions ordered by confidence descending
      - `category` string, required: Suggested pricing category
      - `confidence` integer, required: Confidence score (0-100)
      - `model_name` string, required: Name of the model that produced this suggestion
      - `model_version` string, required: Version of the model
    - `description` string: Description of product
    - `extra_details` ExtraProductDetails[]: Extra details about the product such as CPU, Memory, storage...
      - `property` string, required: Name of the property
      - `value` string, required
    - `id` string, regexp, required: topi Product ID
    - `image` ProductImage
      - `url` string, uri: Url hosting the image
    - `is_active` boolean, required: If product is still active
    - `is_fully_reviewed` boolean, required: Whether this product has been marked as fully reviwed
    - `list_price` MoneyAmount
      - `currency` string, required: Currency code, see ISO 4127 (https://www.iso.org/iso-4217-currency-codes.html) (supported: EUR, GBP, USD)
      - `gross` integer, required: Gross amount of money, expressed in the minor unit for the currency
      - `net` integer, required: Net amount of money, expressed in the minor unit for the currency
    - `manufacturer` string: The product manufacturer
    - `origin` string: origin of the product, 'manual' for topi tool, 'automatic' for catalog ingestion
    - `origin_seller` string: the seller origin for central catalog
    - `origin_seller_references` SellerProductReference[]: the origin seller references for the central catalog
      - `reference` string, required: The ID related with the source. This value should be unique for that source.
      - `source` string, required: The seller internal source name for this reference type.
    - `pretty_id` string: The visual overriding id of the product
    - `pricing_category` string: The pricing category that should be assigned, an existing, non-deactivated pricing category identifier
    - `pricing_category_confidence` integer: Optional confidence of the category classification
    - `pricing_input_information` PricingInputInformation, required
      - `headroom_info` Headroom[]
        - `expected_residual_value_ratio` number, double, required: Expected residual value ratio for this tenure
        - `headroom_ratio` number, double: Headroom ratio applied to this product for this tenure
        - `is_default` boolean, required: Whether this tenure is the default tenure
        - `tenure` integer, required: The tenure in months
      - `pricing_category` string: Pricing category of the product
      - `pricing_category_confidence` integer: Confidence that the assignment of the category is correct
    - `product_standard_identifiers` ProductStandardIdentifier[]: Standard identifiers for this product
      - `id` string: The product identifier value
      - `identifier_type` string: The kind of identifier standard
    - `publicized_price` MoneyAmount, required
      - `currency` string, required: Currency code, see ISO 4127 (https://www.iso.org/iso-4217-currency-codes.html) (supported: EUR, GBP, USD)
      - `gross` integer, required: Gross amount of money, expressed in the minor unit for the currency
      - `net` integer, required: Net amount of money, expressed in the minor unit for the currency
    - `review_status` 'supported' | 'unsupported' | 'to_be_reviewed', required
    - `seller_categories` ProductSellerCategory[]: Categories from the seller
      - `id` string, required
      - `name` string, required
      - `parent_category` string
    - `seller_product_references` SellerProductReference[], required: Partner's own reference for this product
      - `reference` string, required: The ID related with the source. This value should be unique for that source.
      - `source` string, required: The seller internal source name for this reference type.
    - `seller_product_type` 'hardware' | 'software' | 'service' | 'hardware_built_to_order'
    - `shop_product_description_url` string, uri
    - `subtitle` string: Subtitle of product
    - `title` string, required: Name for product
  - `pagination` PaginationMetadata, required
    - `page` integer: Current page number
    - `page_size` integer: Number of items per page
    - `total_count` integer: Total number of items
    - `total_pages` integer: Total number of pages

## Other responses

- `401`: Unauthorized: Unauthorized response.
- `403`: InvalidScopes: Forbidden response.
- `404`: NotFound: Not Found response.

## Changes

- **2026-10-27** `ac6979514123`: 1 info
  - api operation id `catalog.reviewCatalog` removed and replaced with `catalog#reviewCatalog`
- **2026-10-26** `7ff7ee94b30e`: 2 info
  - api operation id `catalog#reviewCatalog` removed and replaced with `catalog.reviewCatalog`
  - api tag `ops-sellers` added
- **2026-10-03** `dee0c2f9eb7a`: 101 info
  - removed the `` enum value from the `data/items/pricing_category` response property for the response status `200`
  - removed the `accessory_airpods` enum value from the `data/items/pricing_category` response property for the response status `200`
  - removed the `accessory_appletv` enum value from the `data/items/pricing_category` response property for the response status `200`
  - removed the `accessory_gpu` enum value from the `data/items/pricing_category` response property for the response status `200`
  - …97 more
- **2026-09-11** `52c117345c52`: 7 warning
  - added the new `iphone_18_pro` enum value to the `data/items/pricing_category` response property for the response status `200`
  - added the new `iphone_18_pro_max` enum value to the `data/items/pricing_category` response property for the response status `200`
  - added the new `iphone_duo` enum value to the `data/items/pricing_category` response property for the response status `200`
  - added the new `mac_desktop_m5_m6` enum value to the `data/items/pricing_category` response property for the response status `200`
  - …3 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/topi/apis/topi-public-api/changes/ops/sellers/:seller_id/catalog/review/get.md)

---

[API](https://skmtc.dev/topi/apis/topi-public-api.md) - [All operations](https://skmtc.dev/topi/apis/topi-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/topi/apis/topi-public-api/revisions/09f585e29aa8?raw)
