Skip to main content

Get Product Variant

Retrieve a specific product variant from your easycart store.

Request

GET /product-variants/{id}

Path Parameters

ParameterTypeRequiredDescription
idstringYesProduct variant UUID

Example Request

curl -X GET "https://cart.easy.tools/api/v1/product-variants/550e8400-e29b-41d4-a716-446655440002" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Response

Success Response (200)

Returns a single product variant.

{
"id": "550e8400-e29b-41d4-a716-446655440002",
"type": "one_time",
"recurring_options": null,
"name": "250g Package",
"amount": 1999,
"custom_id": "SKU-250G",
"is_hidden": false,
"trial_period_days": null,
"active_cycles": null,
"cancel_early": false,
"keep_access_after_expiring": false,
"allow_multiple_subscriptions": false,
"active_days": 365,
"quantity": 100,
"has_quantity": true,
"old_price": 2499,
"active_from": "2026-01-01T00:00:00+00:00",
"active_until": "2026-12-31T23:59:59+00:00",
"show_active_until_counter": true,
"tax_behavior": "exclusive",
"refund_days": 14,
"redirect_url": "https://mysite.com/thank-you",
"redirect_time": 5,
"file": {
"name": "Product Guide.pdf",
"url": "https://mysite.com/files/guide.pdf"
},
"files": [
{
"name": "Product Guide.pdf",
"url": "https://mysite.com/files/guide.pdf"
},
{
"name": "Quick Start.pdf",
"url": "https://mysite.com/files/quick-start.pdf"
}
],
"invoice_remarks": "Thank you for your purchase!"
}
{
"id": "550e8400-e29b-41d4-a716-446655440003",
"type": "recurring",
"recurring_options": {
"interval": "month",
"interval_count": 1
},
"name": "Monthly Subscription - 250g",
"amount": 1799,
"custom_id": null,
"is_hidden": false,
"trial_period_days": 14,
"active_cycles": 12,
"cancel_early": true,
"keep_access_after_expiring": false,
"allow_multiple_subscriptions": false,
"active_days": null,
"quantity": null,
"has_quantity": false,
"old_price": null,
"active_from": null,
"active_until": null,
"show_active_until_counter": null,
"tax_behavior": "exclusive",
"refund_days": null,
"redirect_url": null,
"redirect_time": null,
"file": null,
"files": [],
"invoice_remarks": null
}

Response Fields

FieldTypeNullableDescription
idstringNoUnique identifier for the product variant (UUID)
typestringNoVariant type ("one_time" or "recurring")
recurring_optionsobjectYesRecurring options (null for one-time variants)
recurring_options.intervalstringNoRecurring interval ("day", "week", "month", "year")
recurring_options.interval_countintegerNoNumber of intervals between charges
namestringYesVariant display name
amountintegerNoPrice in cents
custom_idstringYesExternal identifier for integration with other systems
is_hiddenbooleanNoWhether variant is hidden from checkout page
trial_period_daysintegerYesTrial period in days before first charge (recurring only)
active_cyclesintegerYesNumber of billing cycles for payment plans (null = unlimited)
cancel_earlybooleanNoWhether customers can cancel before active_cycles complete
keep_access_after_expiringbooleanNoWhether access is kept after subscription ends
allow_multiple_subscriptionsbooleanNoWhether customers can have multiple concurrent subscriptions
active_daysintegerYesAccess duration in days (null = unlimited)
quantityintegerYesAvailable inventory limit (null = unlimited)
has_quantitybooleanNoWhether quantity selector is enabled on checkout
old_priceintegerYesStrike-through price in cents to show original price
active_fromstringYesStart selling date (ISO 8601 format)
active_untilstringYesStop selling date (ISO 8601 format)
show_active_until_counterbooleanYesWhether countdown timer is shown on checkout
tax_behaviorstringYesTax behavior ("inclusive" or "exclusive")
refund_daysintegerYesRefund period in days (null = use product default)
redirect_urlstringYesPost-purchase redirect URL (null = use product default)
redirect_timeintegerYesRedirect delay in seconds (null = use product default)
fileobjectYesFirst variant-specific downloadable file (null if none). Mirrors the first entry of files.
file.namestringNoDisplay name shown in customer portal
file.urlstringNoExternal URL to download the file
filesarrayNoAll variant-specific downloadable files (up to 5, empty if none). Each entry has name and url.
invoice_remarksstringYesAdditional notes included on invoices
note

The singular file field is kept for backward compatibility and always mirrors the first entry of files. For variants with multiple downloadable files, read files to get the complete list.

Error Responses

Bad Request (400)

{
"message": "Invalid product variant ID"
}

Product Variant Not Found (404)

{
"message": "Product variant with ID <UUID> not found"
}