{
"$id": "https://schema.spaceapi.io/14.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "SpaceAPI v14",
"type": "object",
"properties": {
"api_compatibility": {
"description": "The versions your SpaceAPI endpoint supports",
"type": "array",
"items": {
"type": "string"
},
"contains": {
"const": "14"
}
},
"space": {
"description": "The name of your space",
"type": "string"
},
"logo": {
"description": "URL to your space logo",
"type": "string"
},
"url": {
"description": "URL to your space website",
"type": "string"
},
"location": {
"description": "Position data such as a postal address or geographic coordinates",
"type": "object",
"properties": {
"address": {
"description": "The postal address of your space (street, block, housenumber, zip code, city, whatever you usually need in your country, and the country itself).
Examples:
@
",
"type": "string",
"examples": [
"@space_api"
]
},
"xmpp": {
"description": "XMPP (Jabber) ID",
"type": "string"
},
"mastodon": {
"description": "Mastodon username",
"type": "string",
"examples": [
"@ordnung@chaos.social"
]
},
"matrix": {
"description": "Matrix username (including domain)",
"type": "string",
"examples": [
"@user:example.org"
]
}
}
}
},
"irc": {
"description": "URL of the IRC channel",
"type": "string",
"examples": [
"irc://example.org/#channelname"
]
},
"twitter": {
"description": "Twitter username with leading @
",
"type": "string",
"examples": [
"@space_api"
]
},
"mastodon": {
"description": "Mastodon username",
"type": "string",
"examples": [
"@ordnung@chaos.social"
]
},
"facebook": {
"description": "Facebook account URL",
"type": "string"
},
"identica": {
"description": "Identi.ca or StatusNet account, in the form yourspace@example.org",
"type": "string"
},
"foursquare": {
"description": "Foursquare ID, in the form 4d8a9114d85f3704eab301dc",
"type": "string"
},
"email": {
"description": "E-mail address for contacting your space. If this is a mailing list consider to use the contact/ml field.",
"type": "string"
},
"ml": {
"description": "The e-mail address of your mailing list. If you use Google Groups then the e-mail looks like your-group@googlegroups.com.",
"type": "string"
},
"xmpp": {
"description": "A public Jabber/XMPP multi-user chatroom in the form chatroom@conference.example.net",
"type": "string"
},
"issue_mail": {
"description": "A separate email address for issue reports. This value can be Base64-encoded.",
"type": "string"
},
"gopher": {
"description": "A URL to find information about the Space in the Gopherspace",
"type": "string",
"examples": [
"gopher://gopher.binary-kitchen.de"
]
},
"matrix": {
"description": "Matrix channel/community for the Hackerspace",
"type": "string",
"examples": [
"#spaceroom:example.org",
"+spacecommunity:example.org"
]
},
"mumble": {
"description": "URL to a Mumble server/channel, as specified in https://wiki.mumble.info/wiki/Mumble_URL",
"type": "string",
"examples": [
"mumble://mumble.example.org/spaceroom?version=1.2.0"
]
}
}
},
"sensors": {
"description": "Data of various sensors in your space (e.g. temperature, humidity, amount of Club-Mate left, …). The only canonical property is the temp property, additional sensor types may be defined by you. In this case, you are requested to share your definition for inclusion in this specification.",
"type": "object",
"properties": {
"temperature": {
"description": "Temperature sensor. To convert from one unit of temperature to another consider Wikipedia.",
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"description": "The sensor value",
"type": "number"
},
"unit": {
"description": "The unit of the sensor value",
"type": "string",
"enum": [
"°C",
"°F",
"K",
"°De",
"°N",
"°R",
"°Ré",
"°Rø"
]
},
"location": {
"description": "The location of your sensor",
"type": "string",
"examples": [
"Outside",
"Inside",
"Ceiling",
"Room 1"
]
},
"name": {
"description": "This field is an additional field to give your sensor a name. This can be useful if you have multiple sensors in the same location.",
"type": "string"
},
"description": {
"description": "An extra field that you can use to attach some additional information to this sensor instance",
"type": "string"
}
},
"required": [
"value",
"unit",
"location"
]
}
},
"door_locked": {
"description": "Sensor type to indicate if a certain door is locked",
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"description": "The sensor value",
"type": "boolean"
},
"location": {
"description": "The location of your sensor",
"type": "string",
"examples": [
"Front door",
"Chill room",
"Lab"
]
},
"name": {
"description": "This field is an additional field to give your sensor a name. This can be useful if you have multiple sensors in the same location.",
"type": "string"
},
"description": {
"description": "An extra field that you can use to attach some additional information to this sensor instance",
"type": "string"
}
},
"required": [
"value",
"location"
]
}
},
"barometer": {
"description": "Barometer sensor",
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"description": "The sensor value",
"type": "number"
},
"unit": {
"description": "The unit of pressure used by your sensorhPA
unit is deprecated and should not be used anymore. Use the correct hPa
unit instead.",
"type": "string",
"enum": [
"hPa",
"hPA"
]
},
"location": {
"description": "The location of your sensor",
"type": "string",
"examples": [
"Outside",
"Inside",
"Lab"
]
},
"name": {
"description": "This field is an additional field to give your sensor a name. This can be useful if you have multiple sensors in the same location.",
"type": "string"
},
"description": {
"description": "An extra field that you can use to attach some additional information to this sensor instance",
"type": "string"
}
},
"required": [
"value",
"unit",
"location"
]
}
},
"radiation": {
"description": "Compound radiation sensor. Check this resource.",
"type": "object",
"properties": {
"alpha": {
"description": "An alpha sensor",
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"description": "Observed counts per minute (ocpm) or actual radiation value. If the value are the observed counts then the dead_time and conversion_factor fields must be defined as well. CPM formula: