Single product detail
GET/products/:id
Returns the details of a specific product. If the product is not found OR is hidden from the reseller (hidden=1) OR is not sellable (Rabisu Master resellable=0), the SAME 404 product_not_found response is returned — the cases are not distinguished, to prevent inventory leakage between resellers.
config_options[].role (Rabisu Master module): Each config option group is returned with a role field from mod_rabisu_master_configgroup_meta (2 roles): resource (RAM/CPU/disk = upgradeable), fixed (locked/immutable, INCLUDING LOCATION — does not change on upgrade). For a group with no record, or if the master module is not installed, fixed (safe default) is returned. The old location value is also treated as fixed (locked). The reseller module + upgrade protection consumes this role.
config_options[].options[].stock_active (Rabisu Master module): Each sub-option (e.g. an individual location / OS version) is returned with a stock_active bool field from mod_rabisu_master_configoption_stock. If false, that sub-option is CLOSED for reseller sale — the reseller module hides it in the catalog, and if selected in an order returns 409 config_option_out_of_stock. For a sub-option with no record / if the master module is not installed, true. INDEPENDENT of the WHMCS hidden flag (it only closes reseller sale; Rabisu continues its own sale).
Request
Responses
- 200
- 401
- 404
- 429
Product returned
Authentication failed
Product not found or hidden from the reseller
Per-minute limit exceeded
Response Headers
Seconds to wait before retrying after a 429 (RFC 7231 §7.1.3)
The per-minute limit defined for this key
Unix epoch of the start of the next window (UTC seconds)