Skip to content


Subversion checkout URL

You can clone with
Download ZIP
API Documentation for Freckle Time Tracking
Ruby CSS HTML JavaScript

Freckle API v2 Documentation

This is the Documentation for version 2 of the Freckle API. Contributions are welcome, so please fork this repo and submit a pull request with your changes!


This site is built with nanoc.


You can install all the necessary gems by running

bundle install

You'll also want to setup Pow:

# while in repo's root dir:
ln -s `pwd` ~/.pow/freckle-apidocs

Building The site

The preferred method of building the site is to use Guard, since it will handle compilation and hooks into livereload. However, you can also build the documentation straight from nanoc.

Regardless of how you build it, you can access it from: []

With Guard

When you run Guard, the site is automatically compiled (and recompiled as you update files), and if you use the Livereload Browser Extension the page will be updated for you automatically.

Just run:


and get to writing!

Without Guard

Alternatively, you can just compile the site in nanoc without having to worry about monitoring the files or messing with Livereload:


Building JSON objects

Instead of writing JSON objects by hand, we create Ruby hashes and use the to_json method to generate the necessary JSON.

Our objects are stored in lib/resources/resources.rb, and we use special helper methods to retrieve the object and generate it as JSON:

<%= json :user %>
<%= json_array :user %>

The helper methods are located in lib/resources/helpers.rb (if you're curious about how they work).

Setting Headers

We also use a helper method to specify the HTTP headers for our responses. This method allows you:

  • set the HTTP status code
  • include pagination as part of the header and specify the name used for pagination
  • include any other HTTP headers as a key-value pair.
<%= headers 200, :pagination => true, :pagination_resource => "invoices" %>


You can test the site for bad links and other basic HTML no-nos by running:

rake test


To publish the site, run:

rake publish

This will grab the latest commit from the specified branch (defaults to alpha), compiles the site, and pushes the contents of public/ to the gh-pages branch.

Relevant Libraries:

Something went wrong with that request. Please try again.