Commit 161f1f36 authored by jaywink's avatar jaywink

Lots of rewriting of schema.json

parent 60c99667
......@@ -6,8 +6,9 @@
"type": "object",
"required": [
"version",
"server",
"publicRegistrations"
"id",
"software",
"signups"
],
"properties": {
"version": {
......@@ -16,52 +17,76 @@
"1.0"
]
},
"server": {
"title": "Metadata about server in use.",
"id": {
"title": "URL ID of the service. This should be the full base URL to the service, including protocol.",
"type": "string",
"examples": [
"https://domain.tld",
"https://domain.tld/social"
]
},
"name": {
"title": "Name of the service.",
"type": "string",
"examples": [
"Awesome Social Network",
"Chat for techies"
]
},
"software": {
"title": "Metadata about software in use.",
"type": "object",
"required": [
"id",
"name",
"software",
"version"
],
"properties": {
"id": {
"title": "URI ID of the server.",
"type": "string"
},
"name": {
"title": "The display name of the server or service.",
"type": "string"
},
"software": {
"title": "The name of the server software.",
"type": "string"
"title": "Name of the software used.",
"type": "string",
"examples": [
"Mastodon",
"Synapse",
"diaspora*",
"Socialhome"
]
},
"version": {
"title": "The version of this server software.",
"type": "string"
"title": "The version of the software.",
"type": "string",
"examples": [
"1.0.0",
"0.0.1-dev.1"
]
}
}
},
"organization": {
"title": "Metadata about the owner of this server.",
"title": "Metadata about the owner of this service.",
"type": "object",
"name": {
"title": "The name of the organization or person.",
"type": "string"
},
"contact": {
"title": "Contact information for the organization or person.",
"type": "string"
},
"account": {
"title": "URL of admin or info account on this server.",
"type": "string"
"properties": {
"name": {
"title": "The name of the organization or person.",
"type": "string",
"examples": [
"Monty Python",
"Acme Inc."
]
},
"contact": {
"title": "Preferred contact information for the organization or person. Should include protocol where necessary.",
"type": "string",
"examples": [
"mailto:admin@domain.tld",
"https://domain.tld/contact",
"mxid:@admin:domain.tld",
"Phone +358123456789"
]
}
}
},
"protocols": {
"title": "The protocols supported on this server.",
"title": "The protocols supported by this service.",
"type": "array",
"minItems": 0,
"items": {
......@@ -70,61 +95,106 @@
"required": [
"name"
],
"name": {
"title": "Name of the protocol",
"type": "string",
"examples": [
"activitypub",
"diaspora",
"dfrn",
"libertree",
"matrix",
"ostatus",
"pumpio",
"webmention",
"zot"
]
},
"capabilities": {
"title": "List of capabilities offered by this server",
"type": "array",
"minItems": 0,
"items": {
"title": "Information about the capability",
"type": "object"
"properties": {
"name": {
"title": "Name of the protocol",
"type": "string",
"examples": [
"activitypub",
"diaspora",
"dfrn",
"libertree",
"matrix",
"ostatus",
"pumpio",
"webmention",
"xmpp",
"zot"
]
},
"capabilities": {
"title": "List of capabilities offered by this server",
"type": "array",
"minItems": 0,
"items": {
"title": "Information about the capability",
"type": "object"
}
},
"version": {
"title": "Version of the protocol implemented",
"type": "string",
"examples": [
"1.0",
"0.0.1-dev.1"
]
}
},
"version": {
"title": "Version of the protocol implemented",
"type": "string"
}
"examples": [
{
"name": "activitypub",
"capabilities": {
"contexts": [
"http://joinmastodon.org/ns#",
"https://forgefed.peers.community"
]
}
},
{
"name": "matrix",
"version": "0.1.2",
"capabilities": {
"presence": true
}
},
{
"name": "diaspora",
"version": "0.2.6",
"capabilities": {
"events": false
}
}
]
}
},
"externalServices": {
"title": "The third party sites this server can connect to via their application API.",
"otherServices": {
"title": "Other services this service can connect to via their application API.",
"type": "object",
"properties": {
"inbound": {
"title": "The third party sites this server can retrieve messages from on behalf of a user.",
"title": "Other service this service can retrieve messages from on behalf of a user.",
"type": "array",
"minItems": 0,
"items": {
"type": "string"
"type": "string",
"examples": [
"twitter",
"tumbrl"
]
}
},
"outbound": {
"title": "The third party sites this server can publish messages to on the behalf of a user.",
"title": "Other services this service can publish messages to on the behalf of a user.",
"type": "array",
"minItems": 0,
"items": {
"type": "string"
"type": "string",
"examples": [
"twitter",
"tumbrl"
]
}
}
}
},
"publicRegistrations": {
"title": "Whether this server has public registrations.",
"type": "boolean"
"signups": {
"title": "Information about signups status for this service.",
"type": "string",
"enum": [
"open",
"inviteonly",
"closed"
]
},
"metrics": {
"title": "Metrics for this server.",
......@@ -133,23 +203,10 @@
"title": "Information about the metric.",
"type": "object",
"required": [
"periodLength",
"type",
"value"
],
"properties": {
"periodLength": {
"title": "Period length for the metric in seconds.",
"description": "Common good values are for example a day (86400), a week (604800) or a month (2592000).",
"type": "integer",
"examples": [
60,
3600,
86400,
604800,
2592000
]
},
"type": {
"title": "Type of metric.",
"type": "string",
......@@ -164,6 +221,18 @@
"type": "integer",
"default": 0
},
"periodLength": {
"title": "Period length for the metric in seconds.",
"description": "Common good values are for example a day (86400), a week (604800) or a month (2592000).",
"type": "integer",
"examples": [
60,
3600,
86400,
604800,
2592000
]
},
"startTime": {
"title": "Start time of the period ISO-8601 UTC time",
"type": "string",
......@@ -176,7 +245,7 @@
},
"features": {
"title": "Other features of the server.",
"description": "Free form object for describing other features of the server which might only be relevant within the same software stack.",
"description": "Free form object for describing other features of the service which might only be relevant within the same software stack.",
"type": "array",
"minItems": 0,
"items": {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment