Recipes API
The Recipes API is hopefully pretty straightforward. It is a REST service that returns a JSON response. Currently there is read-only support available, though if you happen upon this and decide that you want something more then please let me know and I'll try and add it.
Operations
There are two operations at the moment, Get Recipes and Get Measure Types.
Get
The Get operation has several options. You can request all recipes, search through the recipes, or request a single recipe.
Get All Recipes
To request all recipes, simply call the URL "/recipes/get/" and you'll get the response.
The response has the following parts:
- count - the count of how many recipes are returned
- recipes - An array of recipes and all of their attributes. They should be pretty self-explanatory for the most part. The measure type corresponds to the results of the Measures operation below.
- messages - This is where any additional messages will be placed. This is typically for debugging, but some hopefully non-fatal error messages could also show up here.
By default the list will only show a summary of each recipe including the id, title, and category attributes. This is done to allow for better performance when using the search paramter. To retrieve the full details of all recipes add a details attribute will a value of full. Example: /recipes/get/?details=full
Search Recipes
To search through the recipes, simply call the URL with a GET parameter of "q" like this "/recipes/get/?q=root" and you'll get the response in the same format as the list of all recipes, except it will only show the recipes that match the query parameter.
Get a Single Recipe
To request a single recipe, simply call the URL with an "id" parameter like "/recipes/get/?id=3" and you'll get the response.
Because it is a single recipe there is no "count" attribute and the recipe is in the "recipe" array (as opposed to the "recipes" array in the get all operation above). The actual recipe format is the same as above.
Measures
To retrieve the Measure Types, call "/recipes/measures/" and you'll get the response in three parts, similar to above.
The response has the following parts:
- count - the count of how many measures are returned
- measures - An array of measures and their attributes. They should be pretty self-explanatory for the most part. The measure type corresponds to the results of the Measures operation below.
- messages - This is where any additional messages will be placed. This is typically for debugging, but some hopefully non-fatal error messages could also show up here.