Mokapi is an open-source tool that helps Agile, DevOps, and Continuous Deployment teams design, test, and validate APIs before implementation. It enables rapid prototyping of scenarios—like delayed responses, failures, or edge cases—without needing a live backend. By simulating real-world conditions early, Mokapi improves API quality and reduces the risk of bugs in production.
- Multiple Protocol support: HTTP, HTTPS, Apache Kafka, SMTP, LDAP
- Everything as Code: Reusing, version control, consistency and integrate mocks with your CI/CD.
- An embedded JavaScript engine to control everything - status, headers, delays, errors or other edge cases.
- Patch Configuration changes for mocking needs, rather than changing the original contract
- Multiple Provider support: File, HTTP, GIT, NPM to gather configurations and scripts.
- Dashboard to see what's going on.
Mokapi supports mocking REST APIs using OpenAPI 2.0 / 3.0 / 3.1 and event-driven systems using AsyncAPI.
Install and start Mokapi using one of the following methods. Replace the URL with your own OpenAPI or AsyncAPI specification.
Windows
choco install mokapi
mokapi https://petstore31.swagger.io/api/v31/openapi.jsonMacOS
brew tap marle3003/tap brew install mokapi
mokapi https://petstore31.swagger.io/api/v31/openapi.jsonDocker
docker run -p 80:80 -p 8080:8080 mokapi/mokapi:latest https://petstore31.swagger.io/api/v31/openapi.jsonOnce Mokapi is running, you can make requests to your mocked API like so:
curl http://localhost/api/v31/pet/2 -H 'Accept: application/json'Mokapi makes it simple to control responses using embedded JavaScript.
For example, you can dynamically change the response based on query parameters:
import{on}from'mokapi';exportdefaultfunction(){on('http',(request,response)=>{switch(request.path.petId){case2:
response.data.name='Betty';case9:
response.statusCode=404;}});}Mokapi’s dashboard lets you visualize your mock APIs. View requests and responses in real-time, generate and validate sample data for testing.
Explore tutorials that walk you through mocking different protocols and scenarios:
🌍 Get started with REST API
This tutorial will show you how to mock a REST API using an OpenAPI specification.⚡ Mocking Kafka with AsyncAPI
Mocking a Kafka topic using Mokapi and verifying that a producer generates valid messages.👨💻 Mocking LDAP Authentication
Simulate LDAP-based login flows, including group-based permissions.📧 Mocking SMTP Mail Servers
Use Mokapi to simulate sending and receiving emails in Node.js apps.🖥️ End-to-End Testing with Jest and GitHub Actions
Integrate Mokapi into your CI pipeline for full-stack E2E testing.
More examples are available on mokapi.io/docs/resources
Show your love for Mokapi and support the project by grabbing some cool merch!
Visit the Mokapi Merchandise Store 🔥
If you like Mokapi, consider buying me a coffee:
This project is licensed under the MIT License. See the LICENSE file for details.

