The native Git way for API management

APIGit

2023-01-15

Background

What is API ?

An API, or application programming interface, is a set of predefined protocols and standards that allow different software applications to communicate and exchange information with each other. It acts as a bridge between different applications and enables them to interact and share data, without requiring them to have knowledge of each other's internal workings. API's can be designed and implemented in various ways, such as REST, SOAP, and GraphQL. Each has its own set of pros and cons, and the choice of which to use will depend on the specific requirements of the application and the needs of the developer. As the underlying code of an application changes, the API may also require updates to maintain compatibility and ensure that it continues to function as intended. This is why the management of an API is crucial, as it often involves coordination between multiple teams, including developers, QA, and external partners. API management includes tasks such as creating, publishing, and maintaining documentation, testing API, monitoring usage, and enforcing security and access controls. It's also important to ensure that the API is scalable, reliable, and performant to handle the traffic and maintain the good user experience.

How is the API managed in the current industry ?

The 2021 Developer Survey by Stack Overflow revealed that nearly 95% of developers worldwide are using Git to manage and track changes to their application code, due to its flexibility, efficiency, and powerful team collaboration capabilities. Despite this widespread adoption of Git for application code management, API management is still largely done using traditional methods such as private database-based version control. Even though many API tool providers have started to add so-called "Git integration" with popular Git service providers like GitHub and Bitbucket, these integrations are limited in their capabilities and do not fully leverage the power of Git. This is because they mainly focus on backing up data to the Git providers, and do not fully utilize the features that Git provides, such as powerful branching, merging capabilities, history tracking and the ability to easily collaborate with other developers.

What is APIGit ?

Overview

APIGit is a collaboration platform that integrates native Git support to provide an efficient and streamlined API development experience. With APIGit, developers can easily visualize and manage their API development using the platform's user-friendly tool suite, while also leveraging the full power of Git to track and manage all changes to the API. This allows for efficient collaboration, streamlined development, and better control over the API lifecycle.

api management main

API assets are managed in native git repository

APIGit allows you to manage your API Spec, design documents, mock scripts, and test cases in a single, native Git repository. The repository stores all files and tracks full change history, making it easy to clone to your local machine or push to any other Git hosting service. With APIGit, you have complete control and ownership over your API assets, and can easily track and collaborate on API development using Git branching, merging, and other capabilities.

Other API platforms typically store API and changes in their own databases, limiting access to only the latest version of the API. If you stop using the platform, all change histories are lost. This is a major disadvantage. APIGit, on the other hand, allows you to fully own and control your API assets by using a native Git repository. You can easily clone the repository to your local machine or push it to another Git hosting service. Even if you choose to discontinue using APIGit, you will not lose any piece of change history as it is stored in your local git repository. This makes APIGit a more flexible and reliable option for managing API assets.

api management main

Review changes in history commits or branches

APIGit uses Git to track changes, providing a complete commit history. This allows you to easily review the specification or files at any point in time by clicking on the desired commit in the history. This is more user-friendly than simply displaying non-user-friendly diffs.

api changes

In addition to reviewing specific commits, APIGit also allows for the traditional method of reviewing changes through diffs, providing the flexibility to review changes in both text and specific commits.

diff

Branching and pull request support

APIGit offers powerful team collaboration functions from Git, including the ability to create branches at any time and merge changes through pull requests. This allows for efficient and streamlined collaboration, as well as easy management of multiple versions of an API.

api branching

APIGit supports the use of pull requests to merge changes between different branches. pull request detail

Monitor activities through webhooks

APIGit allows you to set up webhooks for each API repository to send out notifications of activities to any desired location. This is a useful feature for monitoring and auditing purposes.

web hook

Team collaboration and access control

APIGit TEAM and Enterprise plans allow for the creation of teams with varying permissions (READ, WRITE, ADMIN), and repositories are created for these teams to facilitate efficient collaboration.

team collaboration