Swagger UI mounts cleanly at /openapi/ — handy for sharing the API.
Umbral OpenAPI
Official by Umbral contributorsOpenAPI schema, Swagger UI, auth metadata, playground feed
About
An API nobody can read is an API nobody adopts. Umbral OpenAPI reads your registered REST resources and emits an OpenAPI 3 schema — FK targets, enums, nullable and read-only fields and all — then mounts an interactive explorer so a frontend teammate can try endpoints in the browser instead of guessing from a wiki page. The docs are generated from the resources themselves, so they can't drift from the API.
Install
Wire it up
Add it after RestPlugin; it introspects whatever resources REST registered.
use *;
use RestPlugin;
use OpenApiPlugin;
let app = builder
.database
.plugin
.plugin
.build?;
The generated spec is served for tooling, and the Swagger explorer mounts alongside it.
Target: share a live API with a frontend dev
Point them at the explorer — they get every route, its parameters, and a "try it" button, no Postman collection to maintain.
What you get
- OpenAPI 3 schema generated from registered resources
- FK targets, enums, and nullable / read-only surfaced in the schema
- Interactive Swagger UI for click-to-try requests
securitySchemespublished so the playground can auto-detect auth- Pairs with umbral-playground for an in-app request console
Usage
Add `OpenApiPlugin::new()` after `RestPlugin` — it introspects the resources REST already registered, so there's nothing to annotate by hand. The schema and Swagger UI update themselves as you add resources.
cargo add umbral-openapi
Feature tracker
Per-feature shipping status, recorded in the directory.
Auto-generated spec from registered resources.
Interactive browser documentation for the generated schema.
Mini-Postman request/response surface (umbral-playground).
FK targets, enums, nullable/readOnly fields surfaced in the schema.
Auth requirements per endpoint for auto-detect in the playground.
Custom REST actions appear with request and response shapes.
Docs UI can stay disabled in production unless explicitly allowed.
Compatibility
Declared support per Umbral version and database backend.
No compatibility rows declared yet.
Community notes
1 note in the discussion thread.
Reported issues
Bugs and abuse reports filed against this plugin.
No open issues
No issues have been reported against this plugin. Track upstream bugs on the maintainer's tracker, or report a directory problem to the Umbral team.