Mock simple REST API calls effortlessly. Emulate HTTP GET, POST, PUT, DELETE, PATCH, and other endpoint responses with a simple and easy-to-use interface.
🚀 Fast: Automatically mock requests as you make them.
🔁 Proxy Requests: Forward requests to your real API while mocking specific ones.
⏱️ Response Time Control: Simulate real-world API latency for better frontend testing and user experience optimization.
🤖 AI-Powered Response Generation: Automatically generate mock response bodies.
🔄 Automatic CRUD: Smartly handles dynamic endpoints for RESTful operations.
📜 OpenAPI Support: Import OpenAPI specifications to generate endpoints.
🎨 Simple UI: An intuitive interface that makes it easy to manage API mocks.
https://your-api-url.apimimic.com
Apimimic automatically logs API requests. To create a new request, simply make an actual request to the API URL. Some examples:
curl -X GET "https://your-api-url.apimimic.com/article"
curl -X POST "https://your-api-url.apimimic.com/article" -H "Content-Type: application/json" -d '{ "title": "My First Article" }'
curl -X GET "https://your-api-url.apimimic.com/customer/542"
curl -X PUT "https://your-api-url.apimimic.com/customer/542" -H "Content-Type: application/json" -d '{ "name": "John Doe" }'
curl -X DELETE "https://your-api-url.apimimic.com/customer/542"
For each endpoint, you can configure specific response behaviors:
Pro Tip: Use different response times for different endpoints to simulate realistic API behavior. For example, use shorter delays for simple GET requests and longer delays for complex operations.
You can manually edit the mocked response body or generate mock data using AI.
✅ Note: AI-powered generation only applies to response bodies, not headers.
Modify response headers for your mocked API requests:
When your frontend application makes requests to the mock API, you might need to configure CORS headers to allow cross-origin requests. Here are the important headers to consider:
access-control-allow-origin
: Set this to your frontend's URL (e.g., http://localhost:3000
) or *
for development. Using *
in production is not recommended for security reasons.access-control-allow-credentials
: Set to true
if your requests include credentialsaccess-control-allow-methods
: Specify allowed HTTP methods (e.g., GET, POST, PUT, DELETE, PATCH
)access-control-allow-headers
: List allowed headers (e.g., content-type, authorization
)Consider adding these headers to your Project Headers.
Apimimic provides automatic CRUD handling for dynamic endpoints.
/article/5
✅/article/21b24ee2-bbb5-4a73-aa77-e69de8114985
✅/article/new-entry
❌ (won't trigger automatic CRUD)/article/5/comments/2
❌ (too deep, changes only comments, not article)/article/5
✅ (valid)1️⃣ Creating a New Article (POST)
curl -X POST "https://your-api-url.apimimic.com/article" -H "Content-Type: application/json" -d '{ "title": "My First Article", "content": "Hello world!" }'
✅ Apimimic automatically adds this to the response array.
2️⃣ Retrieving an Article (GET)
curl -X GET "https://your-api-url.apimimic.com/article/5"
✅ Apimimic returns the corresponding entry from the array.
3️⃣ Updating an Article (PUT)
curl -X PUT "https://your-api-url.apimimic.com/article/5" -H "Content-Type: application/json" -d '{ "title": "Updated Article", "content": "Updated content!" }'
✅ Apimimic finds the article in the array and updates it.
4️⃣ Deleting an Article (DELETE)
curl -X DELETE "https://your-api-url.apimimic.com/article/5"
✅ Apimimic removes the entry from the array.
You can manage all endpoints at once:
You are now ready to mock APIs, forward requests, and modify responses using Apimimic! 🎉