Skip to content

Add OpenAPI 3.0 specification for hoist-core HTTP API#512

Draft
amcclain wants to merge 1 commit intodevelopfrom
claude/openapi-spec-hoist-core-fmpfo
Draft

Add OpenAPI 3.0 specification for hoist-core HTTP API#512
amcclain wants to merge 1 commit intodevelopfrom
claude/openapi-spec-hoist-core-fmpfo

Conversation

@amcclain
Copy link
Member

Summary

Adds a comprehensive OpenAPI 3.0.3 specification documenting the full public HTTP API surface of hoist-core, along with validation tooling and maintenance documentation.

  • 122 path entries covering all 26 controllers (core, admin REST CRUD, admin non-REST, cluster admin)
  • Python-based validation script that cross-references controller source files against the spec (99/99 endpoints covered)
  • Maintenance README with guides for Swagger UI, Prism mock server, and SDK generation

What's Included

File Description
openapi/openapi.yaml Complete OpenAPI 3.0.3 spec (~3,500 lines)
openapi/validate-openapi.py Validation script — checks every controller action has a spec entry
openapi/validate-openapi.sh Shell wrapper for the validator
openapi/README.md Usage guide and maintenance instructions

Endpoint Coverage

Category Controllers Endpoints
Core (XhController) 1 27
Views (XhViewController) 1 7
Proxy 1 1
Admin REST CRUD 6 48
Admin Non-REST 10 ~30
Admin Cluster 7 ~9

Keeping It Current

  • Run ./openapi/validate-openapi.sh to verify all controller actions are covered
  • The README documents how to add entries when new endpoints are introduced
  • Full schema validation available via npx @redocly/cli lint openapi/openapi.yaml

Test plan

  • validate-openapi.py passes with 99/99 endpoints matched, 0 missing
  • YAML syntax validates successfully
  • Verify spec renders correctly in Swagger UI
  • Run npx @redocly/cli lint openapi/openapi.yaml for full OpenAPI 3.0 schema validation
  • Spot-check request/response schemas against actual API behavior

https://claude.ai/code/session_01D4r2yEC4SheNSLAKbEQWat

Comprehensive spec covering all 122 public endpoints across 26 controllers:
- Core client endpoints (auth, config, prefs, JSON blobs, views, tracking, env)
- Admin REST CRUD (AppConfig, Preference, UserPreference, JsonBlob, Monitor, LogLevel)
- Admin non-REST (roles, users, alert banners, track logs, diff, JSON search)
- Admin cluster (services, logs, memory, connection pool, WebSocket, env)

Includes domain model schemas, reusable components, and role documentation.

Also adds:
- validate-openapi.py: cross-references spec paths against controller source
- validate-openapi.sh: shell wrapper for validation
- openapi/README.md: usage, maintenance, and code generation instructions

https://claude.ai/code/session_01D4r2yEC4SheNSLAKbEQWat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants