Skip to content
Leadtime
English
Esc
navigateopen⌘Jpreview

Get product details

What is returned: Returns complete details for a single catalog product, including all variants, options, and pricing information. Product and variant descriptions are automatically converted from internal format (IDoc) to HTML for easy display.

Product structure: A product consists of three main sections:

  1. Product details: Name, category, logo, description, and base pricing
  2. Variants: Different performance levels or configurations (e.g., Standard, Pro, Enterprise) with their own prices and descriptions
  3. Options: Extra services or add-ons that customers can optionally book (e.g., “Add workshop” or “Enable premium support”)

Pricing models:

  • Fixed price: One-time payment amount
  • Subscription price: Recurring amount at set intervals (monthly, quarterly, yearly)
  • Price per unit: Flexible billing by quantity (e.g., per user, per hour)

Response format:

  • All descriptions are returned as HTML (converted from internal format)
  • Logo URL is included if a logo is set (points to public file endpoint)
  • Variants include their activation status
  • Options include their configuration (required, multiple selection)

Note: This endpoint only returns catalog products (products without projectId or taskId). Products assigned to specific projects or tasks are not accessible through this endpoint.

GET/administration/product-catalog/{id}
Authorization
AuthorizationOAuth2 access token · headerrequired
Scopes:api:read
or
AuthorizationBearer token (JWT) · headerrequired
Path parameters
idstringrequired
Responses
200
categoryIdstringrequired
UUID of the product category this product belongs to
descriptionHtmlstringrequired
Product description converted to HTML format for easy display
idstringrequired
Unique identifier of the product
logoIdobject | nullrequired
File ID of the product logo. Null if no logo is set.
logoUrlobject | nullrequired
Public URL to access the product logo image. Constructed from logoId if a logo is set. Null if no logo is available.
namestringrequired
Name of the product or service
optionsstring[]required
List of all product options with their values and configurations. Structure matches ProductOptionApiDto but with additional internal fields.
priceFixednumberrequired
One-time fixed price for the product
priceFrequencyobject | nullrequired
Billing frequency in months (1, 3, 6, or 12). Null if subscription or per-unit pricing is not used.
pricePerUnitnumberrequired
Price per unit for quantity-based billing
priceSubscriptionnumberrequired
Recurring subscription price for the product
priceUnitNameobject | nullrequired
Name of the unit for per-unit pricing (e.g., "user", "hour"). Null if per-unit pricing is not used.
variantsIProductVariantApiResponse[]required
List of all product variants with their pricing and descriptions
Show properties
Array of IProductVariantApiResponse
descriptionHtmlobject | nullrequired
Variant description converted to HTML format. Null if no description is set.
idstringrequired
Unique identifier of the variant
isActivatedbooleanrequired
Whether this variant is currently activated and available for selection
namestringrequired
Name of the variant (e.g., "Standard", "Pro", "Enterprise")
priceFixednumberrequired
One-time fixed price for this variant
pricePerUnitnumberrequired
Price per unit for this variant
priceSubscriptionnumberrequired
Recurring subscription price for this variant
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X GET "https://leadtime.app/api/public/administration/product-catalog/string" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
{
  "categoryId": "string",
  "descriptionHtml": "string",
  "id": "string",
  "logoId": {},
  "logoUrl": {},
  "name": "string",
  "options": [
    "string"
  ],
  "priceFixed": 0,
  "priceFrequency": {},
  "pricePerUnit": 0,
  "priceSubscription": 0,
  "priceUnitName": {},
  "variants": [
    {
      "descriptionHtml": {},
      "id": "string",
      "isActivated": true,
      "name": "string",
      "priceFixed": 0,
      "pricePerUnit": 0,
      "priceSubscription": 0
    }
  ]
}