Migrating from Swagger UI for Confluence (Tech Labs) to OpenAPI Viewer
If your Confluence Cloud pages show an OpenAPI or Swagger spec with Swagger UI for Confluence by Tech Labs, this guide moves them to OpenAPI Viewer, an app built on Atlassian Forge and designed to be Runs on Atlassian: no outbound traffic, no stored credentials. The old app is small and simple, so most sites finish in one sitting.
Facts about the old app were checked on 13 October 2026 against its Marketplace listing and vendor documentation.
Why migrate now
Atlassian ends support for the Connect framework on 31 January 2027, and warns that breakages will increase afterwards. Since July 2026, Confluence admins have seen a banner on apps that still run on Connect, saying the platform will be unsupported after that date.
Swagger UI for Confluence is a Connect app (version 1.0.15-AC). Its latest release is dated 24 April 2025, which upgraded the bundled Swagger UI to 5.21.0, and its listing shows no Forge version.
Feature map
The vendor's public documentation is a single "Getting Started" page, so several rows below are unconfirmed rather than known to be missing.
| Swagger UI for Confluence | OpenAPI Viewer | Status |
|---|---|---|
| Open source Swagger UI (5.21.0 in the last release) | Swagger UI-compatible renderer bundled in the app | Same |
| OpenAPI 3.x (per listing) | OpenAPI 2.0, 3.0.x, 3.1 | Same or wider |
| Spec pasted in macro body | Paste source, up to about 150 KB | Same |
| Spec from a hosted URL (the guide uses the Petstore JSON as a test) | Not supported | Not in v1. Workaround: CI push |
| Spec as page attachment | Attachment source: pick from a list, "always latest" or pinned | Same or new |
| Git repository sources | Not supported | Different. Ours: CI push |
| "Try it out" | Not supported | Not stated on the listing; the standard Swagger UI includes it. Not in v1. Workaround: Postman, curl or your gateway console |
| Editor | None | Same (none documented) |
| Search, expand/collapse, deep links, full-screen, auto-height, dark mode | Included | Same or better |
| Price: from USD 10/year at 10 users; USD 100 at 100; USD 300 at 500 | Free up to 10 users, then paid by user tier | Different |
Five steps
- Export each spec. Open the page in the editor, open the Swagger UI macro, and copy the body into a file such as
openapi.yaml. If the macro points at a URL, download the file from that URL, or note which repository path it comes from. - Attach it, or set up CI push. A spec under about 150 KB can be pasted into the new macro. A larger one, or one that used to be loaded from a URL, is attached to the page. To keep it current after every merge, add the pipeline from Push your spec from CI; ready-made pipelines are on that page.
- Install OpenAPI Viewer and replace the macro. Install it beside the old app (30-day trial). On each page add the new macro, choose Paste or Attachment, then delete the old macro. See the quick start and attachment mode.
- Verify. Reload each page as a normal reader. Check that all paths and schemas render, deep links to operations work, and dark mode looks right. Start with your most visited page.
- Delete the old app. After every page is checked, uninstall Swagger UI for Confluence well before 31 January 2027. Keep your page list as a record.
What you lose, and why
- Loading from a URL. If your spec lived at a URL, that is outbound traffic from the page, which Runs on Atlassian does not allow. Put the file on the page as an attachment instead.
- Try it out. If your old setup let readers send live requests, that capability needs external permissions on Forge, and an app with external permissions cannot be Runs on Atlassian. See the FAQ. Test requests from Postman, curl or your gateway console.
- Private specs. Rather than give an app a token for your repository, your pipeline uploads the spec as a page attachment using your own Confluence token, kept in your CI secret store. The app never reaches your repository and never holds a credential.