Contributing to Core Server OpenAPI Specs
January 23, 2026 · View on GitHub
Thank you for contributing to the Calimero Network OpenAPI specifications!
How to Contribute
1. Making Changes
- Fork and clone this repository
- Create a branch for your changes:
git checkout -b update-core-server-api - Make your changes to the relevant OpenAPI spec file
- Validate your changes:
npm install npm run validate - Check for breaking changes (if updating existing spec):
# Compare against the base branch git checkout main npm run validate git checkout your-branch bash scripts/check-breaking-changes.sh \ specs/core-server/openapi.yaml \ specs/core-server/openapi.yaml
2. Submitting Changes
- Commit your changes with a clear message:
git commit -m "Add new endpoint for user management" - Push to your fork:
git push origin update-core-server-api - Open a Pull Request with:
- Clear description of changes
- Reference to related issues
- Notes on breaking vs. non-breaking changes
3. Breaking Changes
If your changes include breaking changes:
- Update the version in the spec's
info.versionfield- Major version bump for breaking changes
- Minor version bump for new features
- Patch version bump for fixes
- Document the breaking changes in the PR description
- Ensure all dependent repositories are aware of the changes
4. Validation Requirements
All PRs must pass:
- ✅ OpenAPI spec validation
- ✅ No syntax errors
- ✅ Breaking change detection (if applicable)
- ✅ CI workflow checks
5. Spec Structure Guidelines
- Use OpenAPI 3.0+ format
- Include descriptions for all endpoints and schemas
- Use tags to organize endpoints
- Include examples where helpful
- Follow RESTful conventions
- Document authentication requirements
- Include error responses
6. Testing
Before submitting:
# Validate syntax
npm run validate
# Check for common issues
npm run lint
# Test breaking change detection
bash scripts/check-breaking-changes.sh \
specs/core-server/openapi.yaml \
specs/core-server/openapi.yaml
Questions?
Open an issue or reach out to the Calimero Network team.