Skip to content
Leadtime
English
Esc
↑↓navigate↵open⌘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

401

Unauthorized - Invalid or missing authentication token

403

Forbidden - Insufficient API scopes or permissions

Try it
Server
Authorization
Parameters
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
    }
  ]
}