[hackerspaces] HackerSpace Status API – rel0.11

Moritz Bartl moritz at hackerbus.eu
Mon Nov 21 22:01:08 CET 2011


The HackerSpace Status API proposes a unified syntax to publish 
information about a hackerspace for consumption by javascript widgets, 
mobile apps and other scripts or programs. The API is flexible, and 
allows for custom extensions.

The API is based on JSON, and defines the properties of the space status 
JSON object. In this specification, some fields are mandatory, whereas 
others are optional. A hackerspace implementing this API should at least 
provide the mandatory fields.

http://hackerspaces.nl/spaceapi/

Space directory

The space status directory can be found on:

http://chasmcity.sonologic.nl/spacestatusdirectory.php

To be included in this directory, please email the author of this 
document with your URL.

Status object

The JSON object has these fields:

     api (string, mandatory) – ’0.11′
     space (string, mandatory) – name of the hackerspace;
     logo (string, mandatory) – url to a png, jpg or gif image;
     icon (array, mandatory) – provides url’s to 2 icons to use to 
depict ‘open’ and ‘closed’ status:
         open (string, mandatory): url to a square png file with a max 
resolution of 100×100 pixels;
         closed (string, mandatory): url to a square png file with a max 
resolution of 100×100 pixels;
     url (string, mandatory) – url to the hackerspace homepage;
     address (string, optional) – visiting address;
     contact (object, optional) – has the following subfields:
         phone (string, optional) – phone number (in the form of 
+CCNNNNNNNNN, where CC is the countrycode);
         sip (string, optional) – sip uri (eg. ‘sip:gmc at pbx.sonologic.net’
         keymaster (string or array of strings, optional) – phone 
number, or phone numbers of people able to open the space (for spaces 
where not all members can unlock the door
         irc (string, optional) – irc channel in the form of 
‘irc://freenode/#revspace’;
         twitter (string, optional) – twitter account in the form of 
‘@brenno’;
         email (string, optional) – general email address;
         ml (string, optional) – public mailing list address;
         jabber (string, optional) – jabber chatbox;
         …. – additional fields may be added if needed (but please let 
the author know, so it can be added to the spec in order to achieve 
consistency across implementations).
     lat (float, optional) – latitude
     lon (float, optional) – longitude
     cam (array of strings, optional) – webcam url(s);
     stream (array, optional) – object indexed by stream type with url 
to stream as value (eg { ‘mp4′:’http\/\/etc…’,'mjpg’:'….’})
     open (boolean, mandatory) – ‘true’ if the space is currently open, 
‘false’ if not;
     status (string, optional) – additional free-form string to specify 
the ‘open’ status (ie, ‘open for public’, ‘members only’, …)
     lastchange (long int, optional) – seconds since epoch of last 
change in the open field;
     events (array, optional) – array of recent check-in/check-outs or 
other relevant events the space wants to share (such as the fire-alarm).
         Each entry in the events array has the following fields:
             name (string, mandatory) – name or nickname of person or 
object associated with this event;
             type (string, mandatory) – ‘check-in’ or ‘check-out’ (other 
values may be specified, but receivers of the object are not obligated 
to be able to understand these)
             t (long int, mandatory) – time since the epoch for this event
             extra (string, optional) – additional information


More information about the Discuss mailing list