Skip to content

Find API quality and security issues via your OpenAPI spec

License

Notifications You must be signed in to change notification settings

zuplo/rate-my-openapi

Repository files navigation

Rate My OpenAPI

OpenAPI - Introduction

OpenAPI is an industry standard to describe HTTP APIs. When using OpenAPI in your project, you can leverage other tools to help you generate documentation, code, tests, mock results, or even deploy your API. It's what's commonly known as the OpenAPI lifecycle, which looks like this:

Rate My OpenAPI

At Zuplo we believe that the better the quality of an OpenAPI document, the better the developer experience will be for the consumers of that API. This experience is important for the success of an API.

Rate My OpenAPI is a suite of tools designed to help software developers who are using OpenAPI to design and implement their APIs.

Our tools include a website, a CLI, a GitHub Action and an API, all aimed at ensuring your APIs meet high standards of quality and usability.

Categories of Evaluation

Our tools evaluate your OpenAPI definition files and provide a comprehensive score based on four key categories:

  • Documentation: Ensure your API is well-documented, making it easy for users to understand and use.
  • SDK Generation: Verify that your API definition supports SDK generation, facilitating integration and usage in different programming languages.
  • Security: Check for best practices and standards to ensure your API is secure and protected against common vulnerabilities.
  • Completeness Ensure your API definition is complete, with all necessary endpoints, parameters, and responses accurately defined.

Website

https://ratemyopenapi.com offers a user-friendly interface for developers to upload and analyze their OpenAPI definition files.

Key features include:

  • Linting: Upload & lint your OpenAPI files to receive detailed feedback.
  • Comprehensive Scoring: Get a clear, actionable score rating your API's documentation, SDK generation, security, and completeness.
  • Detailed Reports: Access in-depth reports that highlight areas of improvement and provide recommendations.
  • Visualization: Easily visualize the structure and quality of your API with in-line feedback.

Getting Started

To get started visit https://ratemyopenapi.com, upload your OpenAPI definition file and review the detailed reports to identify areas for improvement.

CLI

The CLI tool is perfect for developers who prefer working from the command line or need to integrate quality checks into their development workflow.

Key features include:

  • <Automated Checks: Integrate the CLI into your CI/CD pipeline for automated quality checks on every commit.
  • Detailed Output: Get detailed feedback directly in your terminal, with options to further integrate these results into your development flow.

Getting Started

To get started install the CLI and start integrating it into your development workflow.

npm install rmoa

rmoa lint --filename <openapi-filename> --api-key <API_KEY>

CLI source code and documentation can be found at packages/cli.

To get an API_KEY sign up for free at https://api.ratemyopenapi.com/docs.

GitHub Action

Our GitHub Action seamlessly integrates with your repository to ensure your APIs are consistently of high quality.

Key features include:

  • Automated Linting: Automatically lint OpenAPI definition files on every pull request and push to ensure code quality.
  • Inline Feedback: Receive feedback directly in your pull requests with comments highlighting issues and areas for improvement.
  • Continuous Improvement: Maintain a high standard of API quality with continuous monitoring and feedback.

Getting Started

To get started add our GitHub action to your repository and configure it to run on Pull Requests and Pushes to ensure continuous quality monitoring.

steps:
  - uses: actions/checkout@v4
  - uses: zuplo/rmoa-action@v1
    with:
      filepath: "./my-api.json"
      apikey: ${{ secrets.RMOA_API_KEY }}

GitHub Action source code and documentation can be found at rmoa-action.

Getting an API key

To get an API_KEY you can sign up for free at https://api.ratemyopenapi.com/docs.

APIs

All our tools make use of our APIs to analyze and provide detailed results.

You can also make direct use of these APIs, which is a great option for those developers that want to build their own tools or integrate the Rate My OpenAPI linting capabilities in a way that's not covered the existing tools.

Getting Started

To get started, go to https://api.ratemyopenapi.com/docs to get the detailed documentation on every endpoint available for use.

Getting an API key

To get an API_KEY you can sign up for free at https://api.ratemyopenapi.com/docs.

License

MIT License