# RAML API Spec

## Why RAML?
The language is based off of YAML which is machine-parseable, but adds enough structure to allow you to specify an API. This means both our API code as well as humans can both make use of this documentation. 

### Example responses
During development, the example HTTP responses can be sent back through the handler while the logic and other layers are being worked out so as to not impede development of a frontend.

### Validation
Since POST body schemas can be defined in the JSON Draft3 Specification, we can take the JSON validation schema parsed right from the RAML document itself and run it through any number of libraries honoring the Draft3 Spec. 

## API Designer

An [API designer tool](https://github.com/mulesoft/api-designer) is available for use if you have node installed. 

```bash
npm install -g api-designer
api-designer
```

You get a nice GUI and an editor which gives syntax warnings and code completion for the RAML language.
