Sharing via hotlinks
Public URLs that serve your spec as JSON or YAML, edge-cached.
A hotlink is a public URL that serves your spec to anyone — no account needed. The response is JSON or YAML, edge-cached on Cloudflare’s network, so it’s fast wherever it’s fetched from.
Use cases
- Point a Swagger UI / Redoc / Stoplight Elements instance at the latest spec.
- Feed an SDK codegen step in CI.
- Hand a partner a single URL instead of an attachment they’ll lose.
- Embed live in a marketing or status page.
Enabling a hotlink
Open the spec, click Share in the export panel:
- Visibility —
Private(default) orPublic. Public is required for hotlinks. - Slug — the URL path. Defaults to a stable identifier; you can pick a friendly slug.
- Title — used in the public spec viewer header.
- Save.
You’ll get two URLs:
https://openapistudio.app/v1/specs/<slug>.json
https://openapistudio.app/v1/specs/<slug>.yaml
Both serve the same content in different formats. Append ?download=1 to force a download dialog.
How freshness works
Hotlinks are edge-cached for 5 minutes. Saving an edit invalidates the cache so changes propagate within a few seconds — but downstream tools that poll less than every few minutes will see stable content.
For absolute freshness (e.g. a CI step), append ?bust=<timestamp> to bypass the edge cache.
Public spec viewer
The plain URL https://openapistudio.app/v1/specs/<slug> (no extension) renders a public, read-only viewer with:
- Sidebar of operations.
- Per-operation parameters, request, responses.
- Try-it-out button (uses the same
/api/executeproxy when the visitor is signed in). - Copy as cURL.
- JSON / YAML download buttons.
This is what you share with non-technical stakeholders.
Access tokens (private hotlinks)
If you need a stable URL but don’t want it fully public, generate an access token under spec settings. The hotlink then requires ?token=<token> to resolve. Tokens can be revoked and rotated independently of the slug.
Removing a hotlink
Flip the spec back to Private in spec settings. The next request returns a 404 immediately; the cache invalidates within 5 minutes globally.