hosting

POST /v1/sites/{siteId}/redirects

Add a redirect to a site.

Alle hosting-eindpunten

Authenticatie

Stuur een API-sleutel mee als bearer token. De sleutel moet over de permissie sites.view beschikken; een sleutel zonder deze permissie wordt geweigerd met een 403 in plaats van een 404.

Dit eindpunt vereist geen organisatie-id. Uw sleutel identificeert al de organisatie waartoe deze behoort, en het antwoord is hierop afgestemd.

Probeer het

Vervang alles tussen punthaakjes door uw eigen waarden en de sleutelplaatsvervanger door een sleutel uit uw dashboard.

curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/redirects \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "domain": <string>, "path": <string>, "destination": <string> }'

Ingelogd? De API-console in je dashboard vult je echte organisatie-id en je eigen sleutel in, en voert het verzoek uit tegen de live API zodat je de daadwerkelijke respons kunt zien. Open dit eindpunt in de API-console

Details

Adds one rule. ⛔ **The vendor endpoint behind this is a whole-set write**, so the engine reads the existing rules, appends, and sends the set back — last writer wins. Two people adding a redirect at the same moment is the one case where one of the two additions is lost, and there is no vendor primitive that would prevent it. `destination` is checked before anything is written to the customer's `.htaccess`: a protocol-relative `//evil.example/` passes a naive "starts with a slash" test and redirects the site's visitors to somebody else's server, so it is refused `422` here. `type` is a closed set (`301`, `302`) checked in this layer **and** in the driver, because the platform types it as a free string and an unreviewed token would be written straight into the file. `404` for a site with no managed hosting package. Requires `sites.view` and `sites.panel_access`.

Parameters

NaamTypeVerplichtWat dit is
siteId (path)UuidJaSite ID (UUIDv7).

Aanvraaglichaam

NaamTypeVerplichtWat dit is
domainstringJaThe domain or alias on the package the rule applies to.
pathstringJaThe path being redirected. ⛔ Named `path` and never `source` — `source` is a reserved attribute on every serializer field one layer down, and a field of that name silently reads…
destinationstringJaWhere the visitor is sent. A protocol-relative value is refused: it hands the customer's visitors to another server while looking like a local path.
typestring<301, 302>NeeThe redirect status. `301` is permanent and is cached by browsers and search engines; `302` is temporary. Nothing else is accepted.

Reactie

NaamTypeVerplichtWat dit is
idstringJa⛔ **Ours, not the vendor's** — this platform mints no identifier for a redirect, so this encodes the domain/type/path triple that addresses one. Opaque, stable across reads, and…
domainstringJaThe domain or alias the rule applies to.
pathstringJaThe path being redirected. ⛔ Named `path` and never `source`, which is a reserved attribute one layer down and would silently read the wrong value.
destinationstringJaWhere the visitor is sent.
typestring<301, 302>JaThe redirect status — permanent or temporary.

Fouten die dit eindpunt kan retourneren

401 · 403 · 404 · 409 · 422 · 429 · 503