catalog
GET /v1/catalog/product-lines/owned
List the product lines this organization actually has.
Autentizace
Odešlete klíč API jako bearer token. Tento koncový bod ve specifikaci uvádí specifické oprávnění, takže svému klíči udělte to nejmenší možné a místo předpokladů zkontrolujte odpověď.
Tento koncový bod nevyžaduje žádné ID organizace. Váš klíč již identifikuje organizaci, ke které patří, a odpověď je na ni omezena.
Vyzvednout
Nahraďte cokoli v závorkách vlastními hodnotami a zástupný symbol klíče klíčem z vašeho řídicího panelu.
curl -X GET https://api.zinndigital.com/v1/catalog/product-lines/owned \
-H "Authorization: Bearer zdk_live_…"Přihlášeni? Konzole API ve vašem dashboardu automaticky doplní vaše skutečné ID organizace i váš vlastní klíč a odešle požadavek na živé API, abyste viděli reálnou odpověď. Otevřete tento koncový bod v konzoli API
Podrobnosti
The product lines the caller's organization has, or has ever had, something on — for narrowing a list of what they already own, never for choosing what to buy. ⚖️ **Owner, 2026-09-08:** *"in the filters it shows all product lines, even when they do not have any products in that line or never brought it, it should only show the hosting types they actually own or used so to speak."* Measured that morning on a real account with seven sites across **two** lines, the sites filter offered **sixteen**; fourteen of them could only narrow the list to nothing. A line is returned when the organization has a **site** on it — including `deleted` sites, so the deleted-sites screen stays filterable — **or** a **subscription** to a plan in it, in **any** status, cancelled included. A line paid for does not stop being theirs. An abandoned cart is not ownership and is excluded: it minted neither a site nor a subscription. ⛔ **Not the list to offer when somebody is BUYING.** Restricting a purchase flow to lines already owned means a customer can never buy their first line. Use `listProductLines` (or `listInAppProductLines`) for that. ⛔ **Authenticated and tenant-scoped**, unlike the other `/v1/catalog` reads: it is a fact about one organization's estate, computed over exactly the scope `listSites` reads (`sites.view`), so the filter and the rows it filters cannot disagree. Served `Cache-Control: no-store` — a shared cache in front of it would serve one organization's lines to the next caller. ⛔ Retired, internal and in-app-only lines are **not** filtered out here, unlike the public catalogue. Every code in the response is present because a row of theirs names it, so there is nothing to leak — and a retired line whose sites still exist must stay filterable, or those sites become unreachable by filter with nothing to tell the customer why.
Odpověď
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
data | OwnedProductLine[] | Ano | — |
Chyby, které může tento koncový bod vrátit
401 · 403 · 429