GET
/v1/productsRetrieves a list of products with optional pagination and filtering. Use this endpoint to display products in admin interfaces or product catalogs. Supports filtering by organization, product attributes, and sorting. Results are automatically filtered based on the authenticated user's permissions and organization access.
Parameters
Request parameters for this endpoint
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| offset | query | integer | Optional | Number of items to skip |
| limit | query | integer | Optional | Maximum number of items to return |
| isActive | query | boolean | Optional | - |
| isWaitlisted | query | boolean | Optional | - |
| productType | query | string | Optional | - |
| organizationId | query | string | Optional | - |
| organizationIds | query | array | Optional | - |
| externalId | query | string | Optional | - |
| productCategoryId | query | string | Optional | - |
Response Data
Fields returned in the response
| Name | Type | Required | Description |
|---|---|---|---|
createdAt | string (date-time) | Required | Timestamp when the product was created |
description | string | Required | Description of the product |
discountPercentage | number (double) | Required | Discount percentage applied to this product |
externalId | string | Optional | External ID from integrated systems (Shopify, etc.) |
hasCustomLeaseTerms | boolean | Required | Whether this product has custom lease terms (vs. organization defaults) |
id | ProductPubId | Required | Public-facing unique identifier for the product |
ignoreUpstreamUpdates | boolean | Required | Whether to ignore updates from upstream sources (Shopify, etc.) |
isActive | boolean | Required | Whether this product is currently active |
isWaitlisted | boolean | Required | Whether this product is currently waitlisted |
mainProductImage | string | Optional | URL to the main product image |
name | string | Required | Name of the product |
options | Required | Product options/variants configuration | |
organizationId | OrganizationId | Required | Organization that owns this product |
price | number (double) | Required | Base price of the product |
productCategoryId | ProductCategoryId | Required | Category this product belongs to |
productSource | Required | Source of the product (TSS or Shopify) | |
productType | Required | Type of product (leasable or add-on) | |
sku | string | Optional | Stock keeping unit (SKU) identifier |
stripeId | string | Required | Stripe product ID for payment processing |
updatedAt | string (date-time) | Required | Timestamp when the product was last updated |
GET
/v1/productsRequest
curl https://api.thesweetspot.com/v1/products \
-H "Content-Type: application/json" \
-G -d "offset=0&limit=10&isActive=true&isWaitlisted=true&productType=leasable&organizationId=id_123&organizationIds=[123]&externalId=id_123&productCategoryId=id_123"Response
[
{
"organizationId": null,
"productCategoryId": null
}
]