hosting
POST /v1/sites/{siteId}/hosting/applications
Install a one-click application onto a live site.
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 POST https://api.zinndigital.com/v1/sites/{siteId}/hosting/applications \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "application": <string> }'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
Installs `application` onto the site's hosting package. The submit is instant and the work runs as a durable workflow (§2.16), so this answers `202` with the install row — poll `GET` on this path and read `current` for its state. ⛔ **This is destructive**: a one-click install unpacks a whole application over the site's document root and creates a database, so it is gated on `hosting.applications.manage` rather than on `hosting.deploy.manage`, and only one install may run per site at a time (`409` otherwise). `404` for a site whose platform has no application catalogue at all — a site on our own fleet simply does not have this resource, and naming the platform it is *not* on would disclose which vendor a site runs on. `422` when the catalogue exists but that application is not offered: either the product line does not sell it, or the vendor no longer carries it. The application list is per **product line** — the footprint-free line deliberately offers a narrower set than mainstream — and it is read live, so a page left open can offer something that has since gone.
Paramètres
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
siteId (path) | Uuid | Oui | Site ID (UUIDv7). |
Corps de la requête
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
application | string | Oui | The `key` of an application from this site's own list. Validated against the **live** catalogue rather than a fixed enum, because the range changes without a release on our side. |
locale | string | Non | The language to install the site in, as a platform language code (`de`, `pt-BR`). Applies to `wordpress` only, and is saved to the site so a later reinstall keeps it. Omit to us… |
Réponse
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
id | string | Oui | — |
application_key | string | Oui | — |
application_name | string | Oui | The display name captured at the moment of installing — a snapshot, so history still reads correctly after the platform renames or retires an application. |
status | string<queued, installing, installed, failed> | Oui | — |
message | string | Oui | Customer-facing English. Only meaningful when `failed`. |
requested_by | string | Non | The actor who asked for it, for the audit trail. |
started_at | string | Non | — |
finished_at | string | Non | — |
created_at | string | Oui | — |
Erreurs que cet point de terminaison peut renvoyer
401 · 403 · 404 · 409 · 422 · 429 · 503