One opensource tool for all your API needs: APIC
Tags: showdev, node, javascript, webdev
Published: 2020-08-04 18:54:54

---
title: One opensource tool for all your API needs: APIC
published: true
description: APIC - The Complete API Solution
tags: showdev,node,javascript,webdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/n0fbkrh2rru1lx0jcsbw.png
---

Yes you heard it right. One opensource tool for all your API needs. The tool is <a href="https://apic.app">APIC</a>. You might think that's a bold claim to say APIC is the tool you need for everything API, well lets see how APIC lives up to these claim.

<a href="https://apic.app">APIC</a> is a free open-source solution that can help you in API Designing, API Testing (even during designing), API Documentation, Simulating your API response for the frontent team etc. 

A typical API development cycle involves the following steps.
<ol>
<li>API design</li>
<li>API API development</li>
<li>API Testing</li>
<li>API Integration</li>
</ol>

And APIC can help you with each of these steps. Lets start with <b>API Designing</b>.

<h1>API Designing</h1>
If you are in a team that follows the <a href="https://swagger.io/resources/articles/adopting-an-api-first-approach/">Design first strategy</a> for API development then Your API life-cycle starts with API Designing. 

In this step you would first define a contract for your API with Swagger Editor (as this is the widely accepted standard). Unless you don't like writing your API design in a text editor OR you are not familiar with the Swagger Specification.

Enter APIC. With <a href="https://docs.apic.app/designer">APIC's API Designer</a>, defining your API is as simple as filling a form. The API designer can help you with 
1. Defining your API endpoints, request parameters, request headers and response schema. <a href="https://docs.apic.app/designer/create-endpoint">More here</a>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6dgmc6apdrim2vyqrf7r.png)

2. Defining reusable model definitions.<a href="https://docs.apic.app/designer/create-model">More here</a>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/69eivw0grp30ettl7lje.png)
3. You can also start writing tests for your APIs even during API designing. And the best part is you can do that even without writing a single line of code just from the UI. <a href="https://docs.apic.app/designer/write-api-tests-starting-from-design-phase">Know more here</a>.
4. Create a team and share with everyone.

Now that your API contract is defined your backend team can start the development, but what about the frontend team. Well they can immediately start using the APIs by using the <a href="https://docs.apic.app/simulator">API Simulator</a> provided by APIC. No more waiting.

<h1>API Testing</h1>
If you designed your APIs in APIC, they are automatically available for your team to test in the <b> <a href="https://docs.apic.app/tester">API Tester</a></b> section. Your developers/testers won't have to import it again to (say Postman) to start testing.

Things you can do with the API tester
1. Obviously test your APIs
2. Test Web Sockets, Socket.io, STOMP and Server Sent Events (SSE)
3. Using Environment variables to switch between environments like local, Dev, QA, Pre-prod etc.
4. Response schema validation as per your API design.
5. Add tests to your APIs <a href="https://docs.apic.app/tester/using-test-builder">directly from the response</a> or if you want to get more technical use <a href="https://docs.apic.app/tester/writing-test-cases">Chai.js to write tests</a>.
6. Create <i><b>Test Projects</b></i> and <i><b>Test Suites</b></i> to test various API scenarios and export test report.
7. Add your <i>Test Suites</i> to your CI/CD platform with <a href="https://docs.apic.app/cicd-integration">apic-cli</a>.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/yj1k4m12m8xdqbculljk.PNG)
8. Capture APIs from real user sessions using APIC <a href="https://docs.apic.app/capture-and-test-api-from-real-user-sessions#1-capturing-network-requests-with-apic-session-recorder">directly from devtools</a> or export your network requests as <a href="https://docs.apic.app/capture-and-test-api-from-real-user-sessions#2-importing-a-har-file">HAR files and import into your test suites</a>.
![Alt Text](https://gblobscdn.gitbook.com/assets%2F-M-MgBe5IAX1j1h_dV7s%2F-MCdV8qOumpY1RCqWS6k%2F-MCdZhiB7EZqtb0HO0uq%2Fimage.png?alt=media&token=a8c40f02-3dcb-4ee1-b04f-c8edd7ec3d4a)

<h1>API Documentation</h1>
Once your API design is done APIC automatically converts your APIs designs into <a href="https://docs.apic.app/docs">beautiful functional documentations</a> that will help others to get on board faster. You can even share it with the world by <a href="https://docs.apic.app/dashboard/published-docs">publishing it online</a> with APIC.

<h3>And many more exciting features</h3>
A few more worth mentioning features are
1. Free teams and sharing feature
2. Real-time update of changes made to API projects/Tests among team members.
3. Importing/Export of everything you have created in APIC.
4. No need to install anything. Available as a web app. But also available as Chrome extension, Windows exe and Mac dmg.

And the best part; its **free and opensource**. To live upto the claim that this is the only tool you will need for all your API needs I have made apic opensource and hoping to get the community excited about this and start contributing.

Sounds interesting? Head over to our <a href="https://github.com/apic-apps/apic">Github page</a> to contribute. The current version is developed in angular-js but an angular version is in the works. 

Hope you will like what I have done so far. Would love to hear your <a href="https://apic.app/identity/#!/feedback">feedback here</a>.