catalog
GET /v1/catalog/app/site-hosting-lines
List the product lines a SITE can be created on.
Authentification
Envoyez une clé d'API en tant que jeton du porteur (bearer token). Cet endpoint n'indique pas de permission spécifique dans la spécification, attribuez donc à votre clé le minimum requis et vérifiez la réponse plutôt que de faire des suppositions.
Cet endpoint ne prend aucun identifiant d'organisation. Votre clé identifie déjà l'organisation à laquelle elle appartient, et la réponse y est limitée.
Essayer
Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.
curl -X GET https://api.zinndigital.com/v1/catalog/app/site-hosting-lines \
-H "Authorization: Bearer zdk_live_…"Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API
Détails
The subset of listInAppProductLines a website can actually live on, and the catalogue half of what a deploy or migrate picker needs. ⚖️ Owner, 2026-09-09, on the migration flow: "When it allows them to select a hosting type to migrate to, does it only show them the hosting types they actually own and say for other hosting plans they need to buy it first type of thing?". Measured live the same day, the migration screen offered eighteen lines — of which four sell something that is not a website: Zinn® Boards, Zinn® Managed Databases, Zinn® Vector Databases and email for an external domain. A managed database has no document root; Boards is a project board. ⛔ The predicate is derived, never enumerated. A line appears here iff some purchasable plan on it grants a positive or unlimited max_sites — which is exactly the entitlement a site create spends, so this cannot drift from what POST /v1/sites accepts. A hand-written deny list would be right on the day it was typed and would silently offer the fifth non-hosting line an operator seeds tomorrow. ⛔ It says nothing about whether the caller can afford one. "Do I already have room" is getDeployablePlans, and the two stay apart: a screen composes them — the owned half to offer, the difference to upsell. Reseller clients see only the lines their provider still sells, exactly as listInAppProductLines does, so nothing here can be bought and then refused by the cart. internal lines (the staff tariff) are excluded: they grant unlimited sites and are assigned by staff, so offering one advertises a plan the customer cannot buy. Requires authentication and nothing else. Cache-Control: private, no-store — the list carries in-app-only lines, so a shared cache would hand them to the next anonymous visitor.
Réponse
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
data | SiteHostingLine[] | Oui | — |
Erreurs que cet point de terminaison peut renvoyer
401 · 429