Skip to content


Subversion checkout URL

You can clone with
Download ZIP
UI for creating and editing I/O Docs configuration files
JavaScript CSS Ruby
Latest commit dbdd89b @brandonmwest Merge pull request #7 from darrylkuhn/master
Resolve the Internal Server Error (500)
Failed to load latest commit information.
public add google analytics
views bugfix: new change wouldnt render any parameters
Gemfile fix parameter name, update gems, parameters doesnt choke on empty par…
Gemfile.lock fix parameter name, update gems, parameters doesnt choke on empty par…
LICENSE Add and LICENSE fix wrong input name for parameter name
index.rb fix email attachment issue
iodoctor.yml track missing files, more UI tweaks
partials.rb add partials.rb for more robust partial view support

I/O Doctor

You can now use I/O Doctor as a hosted application via

I/O Doctor is a GUI for creating and editing JSON config files that are used with I/O Docs, an interactive API documentation system from Mashery.


How It Works

Select an existing I/O Docs config to upload, or create a new config and start adding Endpoints, Methods, and Parameters. When an existing config is used, it is parsed and forms for editing each Endpoint, Method, and Parameter will be created.

Click an item from the menu on the left to begin editing. View the JSON output at any time by hitting the "output" tab. When finished, click "Save File" to download the JSON file. I/O Doctor does not store any data. Make sure you save your JSON output.


I/O Doctor is built on Sinatra, Twitter Bootstrap 2.0, and jQuery, and uses form2js for structured, hierarchical HTML form data.


  • Refactor to use a Javascript MVC framework
  • Highlight selected Endpoint in the menu
  • Wire up the Method links in the menu
  • Add validation on form fields
  • Ability to reorder nodes
  • Ability to edit JSON directly on output tab - GUI v Source view
  • Ability to copy a node
  • Add Parameter buttons both above and below the list of parameters
  • Default the paramater data type to be custom: string
Something went wrong with that request. Please try again.