Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Welcome to Mimo

Mimo is a HTTP/API Mocking Platform that enables you to Mock APIs. Emulations can be simple responses with a JSON body and headers, or they can be dynamically changed using JavaScript functions.

The purpose of creating Mimo was to enable a single user or a group of users to emulate their own APIs or HTTP requests. This could be for testing positive and negative scenarios, mocking an external API locally or as testing environment for other developers to use while the full API is being developed.

The name Mimo was choosen for it's Italian translation meaning Mocking Bird.

Users and Applications

Once a user creates a login all of their APIs will be available at {host}/{username}/{appName}/{resource}. Each user can have multiple applications and each application can have multiple endpoints/resources.

Dynamic APIs

Using JavaScript helper functions request and response the incoming request data can be accessed and the response can be modified. For example if the request is a POST and the API being mocked should not accept POST calls the following dynamic API response can be used:

if (request.getMethod() == "post")  {
    var body = {'error': 'POST Method not supported'};
} else {
    var body = {'success': 'true'};

Other request and response functions available:

  • request.getHeader()
  • request.getPath()
  • request.getQueryParam()
  • request.getBody()
  • request.getParsedBody() - supports XML and JSON Parsing
  • response.setHeader()
  • responsesetBody()
  • responsesetStatusCode()
  • responsesetPause()
  • responsesetRedirect()

A full list of available functions can be found here.

Getting Started

  1. Clone git repo
  2. cd into mimo folder
  3. Type: npm install
  4. Start node: npm start or node app.js
  5. Open: http://localhost:3000 in your browser
  6. Either sign up at http://localhost:3000 or login as demo:passw0rd
  7. Docs can be viewed at http://localhost:3000/docs

Note: you must have node.js binaries installed and in your PATH to work

Data Storage

All Mimo data is stored in a SQLite Database allowing the package to be portable, sharable and only require Node.js to be installed on the host system.


Mimo was created as part of Shutterfly's Hack Day 2013 and a collaboration between Brad Vernon, Sarah Pugliaresi and Vasu Jain.

Mimo is built using Express.js, Angular.js and Bootstrap.


Please use the GitHub Issues to report any problems.


No description, website, or topics provided.







No releases published


No packages published