Media Type: application/vnd.tekpub.productions+json

Description

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!

Elements

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.

Productions

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.

Filters

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.

Attributes

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.

Data Types

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.

Example Responses

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"}]}]}

History

The history of this document.

  • 2012-03-07: First published.