Shared previews
These two take no API key. The slug in https://app.kosuke.ai/share/{slug} is the whole
credential, so anyone holding the link can open the preview behind it. An unknown slug and
a malformed one return the same 404, so the answer never confirms that a link ever existed.
| Method | Path | Description |
|---|---|---|
| GET | /api/shared-previews/{slug} | What the link resolves to. Unauthenticated, 60 requests a minute. Returns { projectName, sessionTitle, status, reason?, frontends }, where status is ready, starting or unavailable, reason appears only when unavailable, as session_ended, not_running or no_frontends, and each frontend is { name, url, isServing }, name being its route key. sessionTitle is null for a main preview. Wakes a paused sandbox when a health check says it is not up. |
| GET | /api/shared-previews/{slug}/auth-token | The short-lived preview-proxy credential behind the link, good for 15 minutes. Unauthenticated, 30 requests a minute. The visitor's twin of /api/projects/{id}/preview/auth-token. A revoked link stops minting at once, so an open tab loses access when its token expires. |