1
0

nodeinfo_2.0.json 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. {
  2. "$schema": "http://json-schema.org/draft-04/schema#",
  3. "id": "http://nodeinfo.diaspora.software/ns/schema/2.0#",
  4. "description": "NodeInfo schema version 2.0.",
  5. "type": "object",
  6. "additionalProperties": false,
  7. "required": [
  8. "version",
  9. "software",
  10. "protocols",
  11. "services",
  12. "openRegistrations",
  13. "usage",
  14. "metadata"
  15. ],
  16. "properties": {
  17. "version": {
  18. "description": "The schema version, must be 2.0.",
  19. "enum": ["2.0"]
  20. },
  21. "software": {
  22. "description": "Metadata about server software in use.",
  23. "type": "object",
  24. "additionalProperties": false,
  25. "required": ["name", "version"],
  26. "properties": {
  27. "name": {
  28. "description": "The canonical name of this server software.",
  29. "type": "string",
  30. "pattern": "^[a-z0-9-]+$"
  31. },
  32. "version": {
  33. "description": "The version of this server software.",
  34. "type": "string"
  35. }
  36. }
  37. },
  38. "protocols": {
  39. "description": "The protocols supported on this server.",
  40. "type": "array",
  41. "minItems": 1,
  42. "items": {
  43. "enum": [
  44. "activitypub",
  45. "buddycloud",
  46. "dfrn",
  47. "diaspora",
  48. "libertree",
  49. "ostatus",
  50. "pumpio",
  51. "tent",
  52. "xmpp",
  53. "zot"
  54. ]
  55. }
  56. },
  57. "services": {
  58. "description": "The third party sites this server can connect to via their application API.",
  59. "type": "object",
  60. "additionalProperties": false,
  61. "required": ["inbound", "outbound"],
  62. "properties": {
  63. "inbound": {
  64. "description": "The third party sites this server can retrieve messages from for combined display with regular traffic.",
  65. "type": "array",
  66. "minItems": 0,
  67. "items": {
  68. "enum": [
  69. "atom1.0",
  70. "gnusocial",
  71. "imap",
  72. "pnut",
  73. "pop3",
  74. "pumpio",
  75. "rss2.0",
  76. "twitter"
  77. ]
  78. }
  79. },
  80. "outbound": {
  81. "description": "The third party sites this server can publish messages to on the behalf of a user.",
  82. "type": "array",
  83. "minItems": 0,
  84. "items": {
  85. "enum": [
  86. "atom1.0",
  87. "blogger",
  88. "buddycloud",
  89. "diaspora",
  90. "dreamwidth",
  91. "drupal",
  92. "facebook",
  93. "friendica",
  94. "gnusocial",
  95. "google",
  96. "insanejournal",
  97. "libertree",
  98. "linkedin",
  99. "livejournal",
  100. "mediagoblin",
  101. "myspace",
  102. "pinterest",
  103. "pnut",
  104. "posterous",
  105. "pumpio",
  106. "redmatrix",
  107. "rss2.0",
  108. "smtp",
  109. "tent",
  110. "tumblr",
  111. "twitter",
  112. "wordpress",
  113. "xmpp"
  114. ]
  115. }
  116. }
  117. }
  118. },
  119. "openRegistrations": {
  120. "description": "Whether this server allows open self-registration.",
  121. "type": "boolean"
  122. },
  123. "usage": {
  124. "description": "Usage statistics for this server.",
  125. "type": "object",
  126. "additionalProperties": false,
  127. "required": ["users"],
  128. "properties": {
  129. "users": {
  130. "description": "statistics about the users of this server.",
  131. "type": "object",
  132. "additionalProperties": false,
  133. "properties": {
  134. "total": {
  135. "description": "The total amount of on this server registered users.",
  136. "type": "integer",
  137. "minimum": 0
  138. },
  139. "activeHalfyear": {
  140. "description": "The amount of users that signed in at least once in the last 180 days.",
  141. "type": "integer",
  142. "minimum": 0
  143. },
  144. "activeMonth": {
  145. "description": "The amount of users that signed in at least once in the last 30 days.",
  146. "type": "integer",
  147. "minimum": 0
  148. }
  149. }
  150. },
  151. "localPosts": {
  152. "description": "The amount of posts that were made by users that are registered on this server.",
  153. "type": "integer",
  154. "minimum": 0
  155. },
  156. "localComments": {
  157. "description": "The amount of comments that were made by users that are registered on this server.",
  158. "type": "integer",
  159. "minimum": 0
  160. }
  161. }
  162. },
  163. "metadata": {
  164. "description": "Free form key value pairs for software specific values. Clients should not rely on any specific key present.",
  165. "type": "object",
  166. "minProperties": 0,
  167. "additionalProperties": true
  168. }
  169. }
  170. }