A general description of application/vnd.tekpub.proudctions+json.
This media type describes a Tekpub production. Tekpub is the best place on the web to get concise, professional, top-quality screencasts.
The Tekpub API makes extensive use of application/vnd.tekpub.productions+json.
You'll note that this media type is based on JSON, and so all responses MUST be valid JSON. JSON is described in RFC4627.
This media type takes a lot of inspiration from Mike Amundsen's Collection+JSON media type. Thanks Mike!
Here's a list of all valid elements.
The top level of an application/vnd.tekpub.productions+json document features two objects: productions and filters.
The productions object represents the list of individual productions. A single production will be a list with one item. A application/vnd.tekpub.productions+json document MUST contain one and only one productions object.
Productions MUST have a single items child element. This element contains one or more arrays which contain the data for that item. There are no required properties of items elements.
The filters object is used to filter the general list of productions. A application/vnd.tekpub.productions+json document MAY contain a single filters object.
It contains one or more anonymous objects, each of which has five properties: href(REQUIRED), rel (REQUIRED), name (OPTIONAL), prompt (OPTIONAL), and a data array (OPTIONAL). If present, the data array represents query parameters for the associated href property of the same object.
Here's a list of all valid attributes.
These attributes are all MAY appear in a productions object's items object's anonymous children. They are all key/value pairs, and these are the keys.
A slug element MAY exist. This element is a JSON string.
A title element MAY exist. This element is a JSON string.
A category element MAY exist. This element is a JSON string.
A price element MAY exist. This element is a JSON decimal.
A description element MAY exist. This element is a JSON string.
A released_at element MAY exist. This element is a JSON string, with a date in RFC5322 format.
Here's a list of all valid link relations.
All of these relations may exist for the purposes of the rel attribute of the filters object.
category will indiciate that the given filter will filter the list by the category attribute.
Here's a list of all valid data types.
Being JSON, any of the JSON data types are supported in application/vnd.tekpub.productions+json.
Here's are some examples of this media type.
A general sample response. This contains most of the elements.
{"productions":
{"items":[[
{"slug":"..."},
{"title":"..."},
{"category":"..."},
{"price":"..."},
{"description":"..."},
{"released_at":"..."}],[
{"slug":"..."},
{"title":"..."},
{"category":"..."},
{"price":"..."},
{"description":"..."},
{"released_at":"..."}]]},
"filters":[
{"rel":"category",
"href":"...",
"prompt":"",
"data":[
{"name":"category",
"value":"Microsoft"}]},
{"rel":"category",
"href":"...",
"prompt":"",
"data":[
{"name":"category",
"value":"Ruby"}]}]}
The history of this document.