GitHub

What is the project about?

OpenAPI DevTools is a browser extension that automatically generates OpenAPI specifications (version 3.1) in real-time by inspecting network requests made by any website or web application.

What problem does it solve?

It simplifies the process of understanding and documenting APIs. Instead of manually analyzing network traffic and writing OpenAPI specifications, the extension does this automatically, saving developers time and effort. It helps discover the API behavior of any website, even those without public documentation.

What are the features of the project?

  • Automatic OpenAPI 3.1 Generation: Creates OpenAPI specifications from live network traffic.
  • Request Merging: Combines requests to the same endpoint, handling variations in headers, bodies, and query parameters.
  • Path Parameterization: Allows users to identify and merge requests with path parameters.
  • Specification Viewing: Integrates Redoc for viewing the generated specification within the DevTools panel.
  • Download Specification: Enables downloading the generated OpenAPI specification.
  • Export/Import/Share: Allows users to export, save, share, and import the current state of the generated specification.
  • Filtering: Filter the requests by host.
  • Real Examples: Option to include real examples in the specification.

What are the technologies used in the project?

  • JavaScript: The core language for the browser extension.
  • OpenAPI 3.1: The specification format used.
  • Redoc: Used for rendering the OpenAPI specification within the extension.
  • Chrome/Firefox Extension APIs: Used to interact with the browser's DevTools and network requests.
  • npm: Used for package management.

What are the benefits of the project?

  • Time Savings: Automates the tedious process of creating OpenAPI specifications.
  • API Discovery: Helps understand the API behavior of any website, even undocumented ones.
  • Improved Documentation: Facilitates the creation of accurate and up-to-date API documentation.
  • Simplified Integration: Makes it easier to integrate with APIs by providing a clear understanding of their structure.
  • Easy to use: Just browse the web and the specification will be generated.

What are the use cases of the project?

  • Reverse Engineering APIs: Understanding how a website or application's API works.
  • API Documentation: Generating documentation for existing APIs that lack it.
  • API Integration: Simplifying the process of integrating with third-party APIs.
  • API Testing: Providing a basis for generating test cases.
  • Learning: Understanding how APIs are structured and used.
  • Debugging: Assisting in debugging API-related issues.
openapi-devtools screenshot