---
title: "Get products"
method: GET
path: "/v1/products"
tags: ["Products"]
---

# Get products

`GET /v1/products`

Retrieve a paginated list of products based on filters and search query.

## Query parameters

- `query` string, nullable — Search term to filter products by name or other details.
- `status__in` string, nullable — Filter products by status (comma-separated)
- `product_category__in` string, nullable — Filter products by category (comma-separated)
- `product_subcategory__in` string, nullable — Filter products by subcategory (comma-separated)
- `source__in` string, nullable — Filter products by source (comma-separated)
- `connection_id__in` string, nullable — Filter products by connection ID (comma-separated). Use __direct_api__ for products without a connection.
- `order_by` string, nullable — Order results by specified fields (comma-separated)
- `page` integer — Page number
- `size` integer — Page size

## Headers

- `x-organization-id` string, nullable, required — The unique identifier for the organization making the request

## Response `200`

Successfully retrieved products

- PageProductRead
  - `items` ProductRead[], required
    - `id` string, required
    - `external_id` string, required
    - `sku` string[], nullable, required
    - `code` string, required
    - `name` string, required
    - `description` string, nullable, required
    - `status` 'APPROVED' | 'PARTIALLY_APPROVED' | 'PENDING' | 'ARCHIVED', required
    - `product_category` string, required — Main category of the product. For example, Physical, Digital, etc. You can retrieve supported categories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
    - `product_subcategory` string, required — Subcategory of the product. For example, General Clothing, UNKNOWN, etc. You can retrieve supported subcategories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
    - `tax_exempt` boolean, required
    - `source` 'BIGCOMMERCE' | 'BESTBUY' | 'BUNNY' | 'CHARGEBEE' | 'SHOPIFY' | 'SHOPLINE' | 'ECWID' | 'STRIPE' | 'AMAZON' | 'TIKTOK' | 'CUSTOM' | 'UNKNOWN' | 'IMPORT' | 'ZUORA' | 'APIDECK' | 'QUICKBOOKS' | 'API' | 'APPLE_APP_STORE' | 'GOOGLE_APP_STORE' | 'WALMART' | 'PAYPAL' | 'NETSUITE' | 'XERO' | 'MAXIO' | 'RECURLY' | 'SALESFORCE' | 'ETSY' | 'EBAY' | 'WIX' | 'SQUARESPACE' | 'WOOCOMMERCE' | 'MAGENTO' | 'MACYS' | 'BILLING_PLATFORM' | 'DEEL' | 'RIPPLING' | 'GUSTO' | 'FACEBOOK' | 'OTHER' | 'ORDWAY' | 'INSTAGRAM' | 'PINTEREST' | 'WAYFAIR' | 'WISH' | 'POS' | 'TARGET' | 'NEWEGG' | 'GROUPON' | 'GOOGLE_EXPRESS' | 'NOCNOC' | 'MERCADO_LIBRE' | 'MODALYST' | 'NORDSTROM' | 'FAIRE' | 'SHOPWARE' | 'ZOHO' | 'SAGE-INTACCT' | 'AIRWALLEX' | 'ORB' | 'ZENSKAR' | 'MICROSOFT_DYNAMICS_365' | 'KICKSTARTER' | 'INTERNAL_ERP' | 'RILLET' | 'CAMPFIRE' | 'KILL_BILL' | 'PROVISION' | 'VERTEX_O_SERIES' | 'CHECKOUTCHAMP' | 'DUALENTRY' | 'ODOO' | 'BILL_COM' | 'INTUIT_ENTERPRISE_SUITE' | 'ACUMATICA', required
    - `connection_id` string, nullable, required
    - `classification_failed` boolean, nullable, required
    - `store_name` string, nullable
    - `source_taxonomy_type` string, nullable
    - `source_taxonomy_code` string, nullable
    - `source_taxonomy_id` string, nullable
    - `source_taxonomy_name` string, nullable
    - `source_taxonomy_categories` object[], nullable
    - `source_taxonomy_metadata` object, nullable
  - `total` integer, required
  - `page` integer, required
  - `size` integer, required
  - `pages` integer, required

## Other responses

- `401` — Unauthenticated request.
- `404` — Resource not found
- `422` — Validation error
- `500` — Internal server error

## Changes

- **2026-08-29** `6ba4f4c774c3` — 5 breaking, 15 warning, 22 info
  - added the new required `header` request parameter `x-organization-id`
  - response property `items/items/classification_failed` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `items/items/connection_id` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `items/items/description` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …38 more
  - …this revision’s changelog is incomplete

[Change history](https://skmtc.dev/trykintsugi/apis/tax-platform/changes/v1/products/get.md)

---

[API](https://skmtc.dev/trykintsugi/apis/tax-platform.md) · [All operations](https://skmtc.dev/trykintsugi/apis/tax-platform/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trykintsugi/tax-platform/revisions/6ba4f4c774c3/schema)
