[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