{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "http://the-federation.info/nodeinfo2#", "description": "NodeInfo2 schema version 1.0.", "type": "object", "required": [ "version", "server", "openRegistrations" ], "properties": { "version": { "description": "The schema version, must be 1.0.", "enum": [ "1.0" ] }, "server": { "description": "Metadata about server in use.", "type": "object", "required": [ "baseUrl", "name", "software", "version" ], "properties": { "baseUrl": { "description": "Base URL of the server.", "type": "string", }, "name": { "description": "The display name of the server or service.", "type": "string" }, "software": { "description": "The name of the server software.", "type": "string" }, "version": { "description": "The version of this server software.", "type": "string" } } }, "organization": { "description": "Metadata about the owner of this server.", "type": "object", "name": { "description": "The name of the organization or person.", "type": "string" }, "contact": { "description": "Contact information for the organization or person.", "type": "string" }, "account": { "description": "URL of admin or info account on this server.", "type": "string" } }, "protocols": { "description": "The protocols supported on this server.", "type": "array", "minItems": 0, "items": { "type": "string" } }, "services": { "description": "The third party sites this server can connect to via their application API.", "type": "object", "properties": { "inbound": { "description": "The third party sites this server can retrieve messages from for combined display with regular traffic.", "type": "array", "minItems": 0, "items": { "type": "string" } }, "outbound": { "description": "The third party sites this server can publish messages to on the behalf of a user.", "type": "array", "minItems": 0, "items": { "type": "string" } } } }, "openRegistrations": { "description": "Whether this server allows open self-registration.", "type": "boolean" }, "usage": { "description": "Usage statistics for this server.", "type": "object", "properties": { "users": { "description": "statistics about the users of this server.", "type": "object", "properties": { "total": { "description": "The total amount of on this server registered users.", "type": "integer", "minimum": 0 }, "activeHalfyear": { "description": "The amount of users that signed in at least once in the last 180 days.", "type": "integer", "minimum": 0 }, "activeMonth": { "description": "The amount of users that signed in at least once in the last 30 days.", "type": "integer", "minimum": 0 }, "activeWeek": { "description": "The amount of users that signed in at least once in the last 7 days.", "type": "integer", "minimum": 0 } } }, "localPosts": { "description": "The amount of posts that were made by users that are registered on this server.", "type": "integer", "minimum": 0 }, "localComments": { "description": "The amount of comments that were made by users that are registered on this server.", "type": "integer", "minimum": 0 } } }, "relay": { "description": "State of relay integration, see https://github.com/jaywink/social-relay/blob/master/docs/relays.md", "enum": [ "", "all", "tags" ] }, "otherFeatures": { "description": "Other features of the server.", "type": "array", "minItems": 0, "items": { "type": "object", "properties": { "name": { "description": "The name of the feature", "type": "string" }, "version": { "description": "The version of the feature.", "type": "string" } } } } } }