GET
/v1/products/{id}/variantsLists product variants with computed pricing for each lease term.
Parameters
Request parameters for this endpoint
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Required | Product ID |
Response Data
Fields returned in the response
Always Present
| Name | Type | Description |
|---|---|---|
createdAt | string (date-time) | Timestamp when the variant was created |
description | string | Description of the variant |
id | ProductVariantPubId | Public-facing unique identifier for the product variant |
isWaitlisted | boolean | Whether this variant is currently waitlisted |
name | string | Name of the variant |
options | Variant options (size, color, etc.) | |
price | Price of this variant | |
productImages | array<string> | URLs to product images for this variant |
sku | string | Stock keeping unit (SKU) identifier |
status | Status of the variant (active, inactive, or archived) | |
stripeId | string | Stripe product variant ID for payment processing |
updatedAt | string (date-time) | Timestamp when the variant was last updated |
pricing | HashMap | Pricing calculations for all available lease terms (keyed by term in months). The keys are lease term durations in months (e.g., "12", "24", "36"). |
productId | ProductPubId | Public ID of the parent product |
Optional
| Name | Type | Description |
|---|---|---|
discountPercentage | - | |
externalId | string | External ID from integrated systems (Shopify, etc.) |
inventoryQuantity | integer | Current inventory quantity (None means inventory tracking is disabled) |
productYear | integer | Product model year (e.g., 2024, 2025) |
GET
/v1/products/{id}/variantsRequest
curl https://api.thesweetspot.com/v1/products/id_123/variants \
-H "Content-Type: application/json"Response
[
{
"pricing": null,
"productId": null
}
]