hosting

POST /v1/sites/{siteId}/panel-sessions

Mint one single-use panel link, at the moment the customer clicks.

Све hosting крајње тачке

Сва документација за програмере →

Аутентификација

Пошаљите API кључ као bearer токен. Ова крајња тачка не наводи конкретну дозволу у спецификацији, па свом кључу доделите најмања неопходна овлашћења и проверите одговор уместо да претпостављате.

Ова крајња тачка не прихвата id организације. Ваш кључ већ идентификује организацију којој припада, а одговор је ограничен на њу.

Испробајте

Замените све што је у угластим заградама сопственим вредностима, а чувар места кључа кључем са своје контролне табле.

curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/panel-sessions \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "tool": <string<phpmyadmin, filemanager, web_ide>> }'

Пријављени сте? API конзола на вашој контролној табли попуњава ваш прави id организације и ваш сопствени кључ, и покреће захтев према живом API-ју како бисте могли да видите стварни одговор. Отворите ову крајњу тачку у API конзоли

Детаљи

Returns a freshly minted single-use SSO link into one of the site's per-site tools — phpMyAdmin or the File Manager — for the caller to open immediately. Why this exists rather than reusing getSiteDatabase. The links that endpoint returns are single-use and expire in 180 seconds, deliberately: a panel link that still works tomorrow is a credential. Rendering one into an <a href> on page load therefore hands the customer something that is dead before they have read the card — they click four minutes later and are told the token expired, which reads to them as being asked to log in. This endpoint moves the mint to the click, so the token's whole life is one redirect. Same authority as getSiteDatabase: both sites.view and sites.panel_access, RLS-scoped on the narrower key, so holding sites.panel_access in one org can never mint a link for another org's site. An out-of-scope or unknown id is a 404, never a 403, so this cannot be used to discover that a site exists. POST because it is not idempotent: every call writes a new single-use token to the hosting box. A GET would be re-issued by a prefetch, a proxy or the back button, burning a token each time. A site with no panel to open is a 409 carrying the same sentence the Tools card shows — never a 200 with a null URL.

Параметри

НазивТипОбавезноШта је ово
siteId (path)UuidДаSite ID (UUIDv7).

Тело захтева

НазивТипОбавезноШта је ово
toolstring<phpmyadmin, filemanager, web_ide>Даphpmyadmin opens the site's own database; filemanager opens the site's own home directory; web_ide opens VS Code in the browser against the site's files. A closed set on…

Одговор

НазивТипОбавезноШта је ово
urlstringДаThe HTTPS single-use SSO link. Never null on a 200 — a site with no panel to open is a 409.
reasonstringНеEmpty on success; present so one client component can render both shapes.

Грешке које ова крајња тачка може вратити

401 · 403 · 404 · 409 · 422 · 429