OpenAPI Specifications
OpenAPI Specifications
This directory contains OpenAPI (Swagger) 3.0 specifications for HeliosDB APIs.
Files
heliosdb-api.yaml
Main HeliosDB API specification covering:
- Query endpoints
- Health and status endpoints
- Database management
- Authentication
Usage
Interactive Documentation
Generate interactive Swagger UI documentation:
# Using Dockerdocker run -p 8081:8080 -e SWAGGER_JSON=/api/heliosdb-api.yaml \ -v $(pwd):/api swaggerapi/swagger-ui
# Or use the helper script./scripts/api/serve-swagger.shAccess at: http://localhost:8081
Generate Client SDKs
Use OpenAPI Generator to create client libraries:
# Python clientopenapi-generator generate -i heliosdb-api.yaml -g python -o ../../../sdks/python
# TypeScript clientopenapi-generator generate -i heliosdb-api.yaml -g typescript-fetch -o ../../../sdks/typescript
# Java clientopenapi-generator generate -i heliosdb-api.yaml -g java -o ../../../sdks/javaValidate Specification
# Using OpenAPI CLIopenapi-cli validate heliosdb-api.yaml
# Using spectralspectral lint heliosdb-api.yamlGenerate Static Documentation
# Using redoc-cliredoc-cli bundle heliosdb-api.yaml -o ../../../docs/html/api-reference.html
# Using swagger-codegenswagger-codegen generate -i heliosdb-api.yaml -l html2 -o ../../../docs/html/apiSpecification Guidelines
When modifying OpenAPI specifications:
- Follow OpenAPI 3.0.x conventions
- Include comprehensive descriptions
- Provide example requests/responses
- Document all error codes
- Use semantic versioning for API version
- Run validation before committing