Solutions

Host Swagger UI / Redoc behind company SSO

One command. Your API documentation becomes a permanent authenticated URL accessible to any engineer with a company email.

Free tier available$49/month flat for TeamsGoogle + Microsoft SSOUnlimited viewers
terminal
$ display publish ./report.html
 
Uploading    47kb
Auth       Google Workspace ✓
 
✓ Published
 
→ https://view.display.dev/p/f474hfd/8f3kx9
 
Viewers    anyone at acme.com
Expires    never
Version    1
 
$ 

The command

dsp publish ./swagger-ui/ --name "api-docs"

Any @yourco.com email authenticates with one click. No GitHub account. No Vercel project.


API docs are internal. They need internal auth.

Swagger UI and Redoc generate beautiful, interactive API documentation. Your OpenAPI spec becomes a fully browsable API explorer — method by method, parameter by parameter, with live request testing.

That documentation is for internal engineers. It shouldn't be public. But every hosting option that adds auth requires significant overhead:

  • Host on Vercel with SSO: $300/month for one project's SSO add-on. Plus a git project structure.
  • Behind a VPN: Engineers outside the office network can't access it. Mobile access breaks. VPN adds latency to a tool engineers use constantly.
  • S3 + CloudFront + Cognito: 1–2 days of setup, IAM policies, ongoing maintenance. Every new API spec requires updating the same infrastructure.
  • Confluence embed: Strips the JS. The live "Try it out" functionality is gone.

Display publishes the Swagger UI or Redoc build directory behind Google + Microsoft SSO in 15 seconds. $49/month for the whole company.


Display vs. alternatives for API doc hosting

DisplayVercel + SSOBehind VPNS3 + Cognito
Interactive Swagger UI / Redoc
Google Workspace SSO✅ Included$300/mo add-onComplex setup
Microsoft 365 SSO✅ Included$300/mo add-onComplex setup
Setup time15 seconds20+ minutesHours1–2 days
Mobile access (no VPN)
Monthly price$49 flat$320+/mo$0 (VPN cost)$50+/mo + time
Non-engineer access❌ (VPN)

Generate and publish Swagger UI

Step 1: Generate the Swagger UI build

For a self-hosted Swagger UI:

git clone https://github.com/swagger-api/swagger-ui.git
cd swagger-ui
 

Or use the CDN-based single-file approach:

 
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist/swagger-ui.css">
</head>
<body>
  <div id="swagger-ui"></div>
  <script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script>
  <script>
    SwaggerUIBundle({
      url: "./openapi.json",
      dom_id: '#swagger-ui',
    })
  </script>
</body>
</html>

Step 2: Publish

dsp publish ./api-docs/ --name "api-docs"

For Redoc:

npx @redocly/cli build-docs openapi.yaml --output ./redoc-build/index.html
dsp publish ./redoc-build/ --name "api-docs-redoc"

CI/CD setup — publish on every spec change

name: Publish API Docs
 
on:
  push:
    paths:
      - 'openapi.yaml'
      - 'openapi.json'
 
jobs:
  publish-docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
 
      - name: Build Redoc
        run: |
          npm install -g @redocly/cli
          redocly build-docs openapi.yaml --output ./api-docs/index.html
 
      - name: Install Display CLI
        run: npm install -g @display-dev/cli
 
      - name: Publish API docs
        run: dsp publish ./api-docs/ --name "api-docs"
        env:
          DISPLAY_TOKEN: ${{ secrets.DISPLAY_TOKEN }}

Every merge that touches the OpenAPI spec automatically updates the published docs.


Pricing

Free — one-time password auth, 50MB, unlimited viewers
Teams ($49/month) — Google + Microsoft SSO, 25GB, custom domain, unlimited viewers

See all pricing →


Publish your API docs free →


Common questions.

Does the "Try it out" feature work in Display-hosted Swagger UI?+

Yes, if your API is accessible from the viewer's browser. Display serves the Swagger UI as intended — including the live request functionality. CORS on your API must allow requests from yourco.display.dev.

Can I host multiple API versions?+

Yes. dsp publish ./api-docs-v2/ --name "api-docs-v2". Each version gets its own URL. Link them from a changelog page or Notion.

What about private APIs that should only be accessible internally?+

Display gates the documentation page — only company emails can view the Swagger UI. The API itself remains on your internal network or behind its own auth. Display controls who can read the docs, not who can call the API.

Does Display work with AsyncAPI or GraphQL schema docs?+

Any static HTML documentation tool works. AsyncAPI Studio, GraphQL Playground (static export), Redoc, Stoplight Elements — if it builds to a dist/ directory of HTML, dsp publish serves it.

Can I keep my existing Confluence page and link to Display for interactive docs?+

Yes. Link from your Confluence doc to yourco.display.dev/api-docs. Confluence gets the searchable, structured context; Display hosts the interactive explorer.

Publish your first artifact in 15 seconds.

Free tier. No credit card. One-time password auth on free, Google + Microsoft SSO on Teams ($49/month flat).