Get Product
Retrieve a specific product from your easycart store.
Request
GET /products/{id}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Product UUID |
Example Request
curl -X GET "https://cart.easy.tools/api/v1/products/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response
Success Response (200)
Returns a single product with its variants.
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "published",
"name": "Premium Coffee Beans",
"description": "High-quality arabica coffee beans from Colombia",
"slug": "premium-coffee-beans",
"image_url": "https://example.com/images/coffee-beans.jpg",
"checkout_url": "https://cart.easy.tools/checkout/550e8400-e29b-41d4-a716-446655440000",
"currency": "usd",
"file": {
"name": "My ebook.pdf",
"url": "https://mysite.com/ebook.pdf"
},
"files": [
{
"name": "My ebook.pdf",
"url": "https://mysite.com/ebook.pdf"
},
{
"name": "Bonus chapter.pdf",
"url": "https://mysite.com/bonus-chapter.pdf"
}
],
"active_from": "2026-01-01T00:00:00+00:00",
"active_until": "2026-12-31T23:59:59+00:00",
"show_active_until_counter": true,
"redirect_url": "https://mysite.com/thank-you",
"redirect_time": 5,
"add_redirect_params": true,
"webhook_url": "https://mysite.com/webhook",
"terms_url": "https://mysite.com/terms",
"policy_url": "https://mysite.com/privacy",
"contact_email": "support@mysite.com",
"refund_days": 14,
"delegable": false,
"show_discount_field": true,
"hide_tax_id_field": false,
"require_tax_id": false,
"photo_zoomable": true,
"show_confetti": true,
"generate_qr_code": false,
"variants": [
{
"id": "550e8400-e29b-41d4-a716-446655440002",
"type": "one_time",
"recurring_options": null,
"name": "250g Package",
"amount": 1999
},
{
"id": "550e8400-e29b-41d4-a716-446655440003",
"type": "recurring",
"recurring_options": {
"interval": "monthly",
"interval_count": 1
},
"name": "Monthly Subscription - 250g",
"amount": 1799
}
]
}
Response Fields
Core Fields
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string | No | Unique identifier for the product (UUID) |
status | string | No | Product status ("published" or "draft") |
name | string | No | Product name |
description | string | Yes | Product description |
slug | string | Yes | URL-friendly product slug |
image_url | string | Yes | URL to the product image |
checkout_url | string | No | Direct checkout URL for the product |
currency | string | No | ISO currency code (e.g., "usd", "eur") |
file | object | Yes | First attached downloadable file (null if none). For multi-file products this reflects only the first entry of files. See File Object. |
files | array | No | All attached downloadable files (up to 5, empty if none). Each entry is a File Object. |
variants | array | No | List of product variants |
Availability Settings
| Field | Type | Nullable | Description |
|---|---|---|---|
active_from | string | Yes | Start selling date (ISO 8601 format) |
active_until | string | Yes | Stop selling date (ISO 8601 format) |
show_active_until_counter | boolean | Yes | Show countdown timer on checkout page |
Redirect Settings
| Field | Type | Nullable | Description |
|---|---|---|---|
redirect_url | string | Yes | Post-purchase redirect URL |
redirect_time | integer | Yes | Redirect delay in seconds |
add_redirect_params | boolean | Yes | Include order parameters in redirect URL |
Integration Settings
| Field | Type | Nullable | Description |
|---|---|---|---|
webhook_url | string | Yes | Webhook URL for order events |
terms_url | string | Yes | Terms & conditions URL |
policy_url | string | Yes | Privacy policy URL |
contact_email | string | Yes | Product contact email |
Checkout Options
| Field | Type | Nullable | Description |
|---|---|---|---|
refund_days | integer | Yes | Refund period in days (0 = no refunds) |
delegable | boolean | No | Allow order delegation/gifting |
show_discount_field | boolean | No | Show promo code field on checkout |
hide_tax_id_field | boolean | No | Hide tax ID field on checkout |
require_tax_id | boolean | No | Require tax ID on checkout |
photo_zoomable | boolean | No | Enable image zoom on checkout |
show_confetti | boolean | No | Show confetti animation after purchase |
generate_qr_code | boolean | No | Generate QR code for product |
File Object
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name shown in the customer portal (max 100 characters) |
url | string | Yes | External URL to download the file |
note
The singular file field is kept for backward compatibility and always mirrors the first entry of files. For products with multiple downloadable files, read files to get the complete list.
Error Responses
Bad Request (400)
{
"message": "Invalid product ID"
}
Product Not Found (404)
{
"message": "Product with ID <UUID> not found"
}