diff --git a/assets/schemas.json b/assets/schemas.json
index 3891cee7..ec0b51e9 100644
--- a/assets/schemas.json
+++ b/assets/schemas.json
@@ -4467,6 +4467,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -8672,6 +8695,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -12877,6 +12923,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -17077,6 +17146,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -21313,6 +21405,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -25518,6 +25633,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -29714,6 +29852,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -33913,6 +34074,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -38121,6 +38305,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -42317,6 +42524,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -46513,6 +46743,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -50728,6 +50981,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -54927,6 +55203,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -59186,6 +59485,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -63404,6 +63726,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -67763,6 +68108,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -71980,6 +72348,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -76207,6 +76598,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -80416,6 +80830,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -84631,6 +85068,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -88836,6 +89296,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -93029,6 +93512,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -97333,6 +97839,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -101634,6 +102163,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -105830,6 +106382,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -110034,6 +110609,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -114231,6 +114829,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -118428,6 +119049,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -122660,6 +123304,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -126857,6 +127524,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -131053,6 +131743,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -135264,6 +135977,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -139464,6 +140200,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -143738,6 +144497,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -147934,6 +148716,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -152130,6 +152935,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -156323,6 +157151,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -160522,6 +161373,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -164731,6 +165605,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -168924,6 +169821,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -173166,6 +174086,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -177394,6 +178337,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -181587,6 +182553,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -185805,6 +186794,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -190112,6 +191124,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -194304,6 +195339,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -198535,6 +199593,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -202754,6 +203835,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -207025,6 +208129,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -211218,6 +212345,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -215419,6 +216569,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -219610,6 +220783,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -223807,6 +225003,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -228004,6 +229223,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -232201,6 +233443,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -236430,6 +237695,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -240631,6 +241919,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -244822,6 +246133,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -249019,6 +250353,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -253227,6 +254584,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -257449,6 +258829,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -261642,6 +263045,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -265838,6 +267264,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -270063,6 +271512,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -274256,6 +275728,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -278528,6 +280023,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -282728,6 +284246,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -286921,6 +288462,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -291114,6 +292678,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -295314,6 +296901,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -299511,6 +301121,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -303704,6 +305337,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -307972,6 +309628,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -312176,6 +313855,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -316381,6 +318083,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -320636,6 +322361,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -324850,6 +326598,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -329070,6 +330841,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -333284,6 +335078,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -337477,6 +339294,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -341698,6 +343538,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -345931,6 +347794,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -350118,6 +352004,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -354315,6 +356224,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -358508,6 +360440,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -362708,6 +364663,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -367105,6 +369083,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -371289,6 +373290,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -375567,6 +377591,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -379754,6 +381801,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -383941,6 +386011,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -388128,6 +390221,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -392409,6 +394525,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -396594,6 +398733,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -400779,6 +402941,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -404964,6 +407149,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -409151,6 +411359,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -413338,6 +415569,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -417525,6 +419779,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -421712,6 +423989,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -425899,6 +428199,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -430150,6 +432473,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -434337,6 +436683,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -438524,6 +440893,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -442711,6 +445103,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -446942,6 +449357,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -451358,6 +453796,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -455545,6 +458006,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -459732,6 +462216,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -463919,6 +466426,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -468106,6 +470636,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -472319,6 +474872,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -476506,6 +479082,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -480714,6 +483313,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -484915,6 +487537,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -489225,6 +491870,4263 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
+ "TokenResponse": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string"
+ },
+ "settings": {
+ "$ref": "#/definitions/UserSettings"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "settings",
+ "token"
+ ]
+ },
+ "MFAResponse": {
+ "type": "object",
+ "properties": {
+ "ticket": {
+ "type": "string"
+ },
+ "mfa": {
+ "type": "boolean",
+ "enum": [
+ true
+ ]
+ },
+ "sms": {
+ "type": "boolean",
+ "enum": [
+ false
+ ]
+ },
+ "token": {
+ "type": "null"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "mfa",
+ "sms",
+ "ticket",
+ "token"
+ ]
+ },
+ "WebAuthnResponse": {
+ "type": "object",
+ "properties": {
+ "webauthn": {
+ "type": "string"
+ },
+ "ticket": {
+ "type": "string"
+ },
+ "mfa": {
+ "type": "boolean",
+ "enum": [
+ true
+ ]
+ },
+ "sms": {
+ "type": "boolean",
+ "enum": [
+ false
+ ]
+ },
+ "token": {
+ "type": "null"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "mfa",
+ "sms",
+ "ticket",
+ "token",
+ "webauthn"
+ ]
+ }
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "UserRelationsResponse": {
+ "type": "array",
+ "items": {
+ "additionalProperties": false,
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "public_flags": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "discriminator",
+ "id",
+ "public_flags",
+ "username"
+ ]
+ },
+ "definitions": {
+ "ChannelPermissionOverwriteType": {
+ "enum": [
+ 0,
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "ConnectedAccountTokenData": {
+ "type": "object",
+ "properties": {
+ "access_token": {
+ "type": "string"
+ },
+ "token_type": {
+ "type": "string"
+ },
+ "scope": {
+ "type": "string"
+ },
+ "refresh_token": {
+ "type": "string"
+ },
+ "expires_in": {
+ "type": "integer"
+ },
+ "expires_at": {
+ "type": "integer"
+ },
+ "fetched_at": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "access_token",
+ "fetched_at"
+ ]
+ },
+ "ChannelModifySchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 2,
+ 255,
+ 3,
+ 33,
+ 34,
+ 35,
+ 4,
+ 5,
+ 6,
+ 64,
+ 7,
+ 8,
+ 9
+ ],
+ "type": "number"
+ },
+ "topic": {
+ "type": "string"
+ },
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "bitrate": {
+ "type": "integer"
+ },
+ "user_limit": {
+ "type": "integer"
+ },
+ "rate_limit_per_user": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "permission_overwrites": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/ChannelPermissionOverwriteType"
+ },
+ "allow": {
+ "type": "string"
+ },
+ "deny": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "allow",
+ "deny",
+ "id",
+ "type"
+ ]
+ }
+ },
+ "parent_id": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "nsfw": {
+ "type": "boolean"
+ },
+ "rtc_region": {
+ "type": "string"
+ },
+ "default_auto_archive_duration": {
+ "type": "integer"
+ },
+ "default_reaction_emoji": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "default_thread_rate_limit_per_user": {
+ "type": "integer"
+ },
+ "video_quality_mode": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ActivitySchema": {
+ "type": "object",
+ "properties": {
+ "afk": {
+ "type": "boolean"
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Activity"
+ }
+ },
+ "since": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "status"
+ ]
+ },
+ "Status": {
+ "enum": [
+ "dnd",
+ "idle",
+ "invisible",
+ "offline",
+ "online"
+ ],
+ "type": "string"
+ },
+ "Activity": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/ActivityType"
+ },
+ "url": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "integer"
+ },
+ "timestamps": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "integer"
+ },
+ "end": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "end",
+ "start"
+ ]
+ },
+ "application_id": {
+ "type": "string"
+ },
+ "details": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "emoji": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "animated": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "animated",
+ "name"
+ ]
+ },
+ "party": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "size": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "assets": {
+ "type": "object",
+ "properties": {
+ "large_image": {
+ "type": "string"
+ },
+ "large_text": {
+ "type": "string"
+ },
+ "small_image": {
+ "type": "string"
+ },
+ "small_text": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "secrets": {
+ "type": "object",
+ "properties": {
+ "join": {
+ "type": "string"
+ },
+ "spectate": {
+ "type": "string"
+ },
+ "match": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "instance": {
+ "type": "boolean"
+ },
+ "flags": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "sync_id": {
+ "type": "string"
+ },
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "context_uri": {
+ "type": "string"
+ },
+ "album_id": {
+ "type": "string"
+ },
+ "artist_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "album_id",
+ "artist_ids"
+ ]
+ },
+ "session_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "flags",
+ "name",
+ "session_id",
+ "type"
+ ]
+ },
+ "ActivityType": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 4,
+ 5
+ ],
+ "type": "number"
+ },
+ "Embed": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "article",
+ "gifv",
+ "image",
+ "link",
+ "rich",
+ "video"
+ ],
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "color": {
+ "type": "integer"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "proxy_icon_url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "thumbnail": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "video": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "author": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "proxy_icon_url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "EmbedImage": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "proxy_url": {
+ "type": "string"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "width": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ChannelOverride": {
+ "type": "object",
+ "properties": {
+ "message_notifications": {
+ "type": "integer"
+ },
+ "mute_config": {
+ "$ref": "#/definitions/MuteConfig"
+ },
+ "muted": {
+ "type": "boolean"
+ },
+ "channel_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id",
+ "message_notifications",
+ "mute_config",
+ "muted"
+ ]
+ },
+ "MuteConfig": {
+ "type": "object",
+ "properties": {
+ "end_time": {
+ "type": "integer"
+ },
+ "selected_time_window": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "end_time",
+ "selected_time_window"
+ ]
+ },
+ "CustomStatus": {
+ "type": "object",
+ "properties": {
+ "emoji_id": {
+ "type": "string"
+ },
+ "emoji_name": {
+ "type": "string"
+ },
+ "expires_at": {
+ "type": "integer"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "FriendSourceFlags": {
+ "type": "object",
+ "properties": {
+ "all": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "all"
+ ]
+ },
+ "GuildFolder": {
+ "type": "object",
+ "properties": {
+ "color": {
+ "type": "integer"
+ },
+ "guild_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "color",
+ "guild_ids",
+ "id",
+ "name"
+ ]
+ },
+ "GenerateWebAuthnCredentialsSchema": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "password"
+ ]
+ },
+ "CreateWebAuthnCredentialSchema": {
+ "type": "object",
+ "properties": {
+ "credential": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "ticket": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "credential",
+ "name",
+ "ticket"
+ ]
+ },
+ "APIErrorResponse": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer"
+ },
+ "message": {
+ "type": "string"
+ },
+ "errors": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "_errors": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "message"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "_errors"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "errors",
+ "message"
+ ]
+ },
+ "CaptchaRequiredResponse": {
+ "type": "object",
+ "properties": {
+ "captcha_key": {
+ "type": "string"
+ },
+ "captcha_sitekey": {
+ "type": "string"
+ },
+ "captcha_service": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "captcha_key",
+ "captcha_service",
+ "captcha_sitekey"
+ ]
+ },
+ "Guild": {
+ "type": "object",
+ "properties": {
+ "afk_channel_id": {
+ "type": "string"
+ },
+ "afk_channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "afk_timeout": {
+ "type": "integer"
+ },
+ "bans": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Ban"
+ }
+ },
+ "banner": {
+ "type": "string"
+ },
+ "default_message_notifications": {
+ "type": "integer"
+ },
+ "description": {
+ "type": "string"
+ },
+ "discovery_splash": {
+ "type": "string"
+ },
+ "explicit_content_filter": {
+ "type": "integer"
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "primary_category_id": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "large": {
+ "type": "boolean",
+ "default": false
+ },
+ "max_members": {
+ "type": "integer"
+ },
+ "max_presences": {
+ "type": "integer"
+ },
+ "max_video_channel_users": {
+ "type": "integer"
+ },
+ "member_count": {
+ "type": "integer"
+ },
+ "presence_count": {
+ "type": "integer"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Member"
+ }
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "channels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Channel"
+ }
+ },
+ "template_id": {
+ "type": "string"
+ },
+ "template": {
+ "$ref": "#/definitions/Template"
+ },
+ "emojis": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Emoji"
+ }
+ },
+ "stickers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sticker"
+ }
+ },
+ "invites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Invite"
+ }
+ },
+ "voice_states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VoiceState"
+ }
+ },
+ "webhooks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "mfa_level": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "owner": {
+ "$ref": "#/definitions/User"
+ },
+ "preferred_locale": {
+ "type": "string"
+ },
+ "premium_subscription_count": {
+ "type": "integer"
+ },
+ "premium_tier": {
+ "type": "integer"
+ },
+ "public_updates_channel_id": {
+ "type": "string"
+ },
+ "public_updates_channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "rules_channel_id": {
+ "type": "string"
+ },
+ "rules_channel": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "splash": {
+ "type": "string"
+ },
+ "system_channel_id": {
+ "type": "string"
+ },
+ "system_channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "system_channel_flags": {
+ "type": "integer"
+ },
+ "unavailable": {
+ "type": "boolean",
+ "default": false
+ },
+ "verification_level": {
+ "type": "integer"
+ },
+ "welcome_screen": {
+ "$ref": "#/definitions/GuildWelcomeScreen"
+ },
+ "widget_channel_id": {
+ "type": "string"
+ },
+ "widget_channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "widget_enabled": {
+ "type": "boolean",
+ "default": true
+ },
+ "nsfw_level": {
+ "type": "integer"
+ },
+ "nsfw": {
+ "type": "boolean",
+ "default": false
+ },
+ "parent": {
+ "type": "string"
+ },
+ "permissions": {
+ "type": "integer"
+ },
+ "premium_progress_bar_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bans",
+ "channels",
+ "emojis",
+ "features",
+ "id",
+ "invites",
+ "members",
+ "name",
+ "nsfw",
+ "premium_progress_bar_enabled",
+ "public_updates_channel_id",
+ "roles",
+ "stickers",
+ "template",
+ "unavailable",
+ "voice_states",
+ "webhooks",
+ "welcome_screen",
+ "widget_enabled"
+ ]
+ },
+ "Channel": {
+ "type": "object",
+ "properties": {
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string"
+ },
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "type": {
+ "$ref": "#/definitions/ChannelType"
+ },
+ "recipients": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Recipient"
+ }
+ },
+ "last_message_id": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "parent_id": {
+ "type": "string"
+ },
+ "parent": {
+ "$ref": "#/definitions/Channel"
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "owner": {
+ "$ref": "#/definitions/User"
+ },
+ "last_pin_timestamp": {
+ "type": "integer"
+ },
+ "default_auto_archive_duration": {
+ "type": "integer"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "permission_overwrites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChannelPermissionOverwrite"
+ }
+ },
+ "video_quality_mode": {
+ "type": "integer"
+ },
+ "bitrate": {
+ "type": "integer"
+ },
+ "user_limit": {
+ "type": "integer"
+ },
+ "nsfw": {
+ "type": "boolean",
+ "default": false
+ },
+ "rate_limit_per_user": {
+ "type": "integer"
+ },
+ "topic": {
+ "type": "string"
+ },
+ "invites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Invite"
+ }
+ },
+ "retention_policy_id": {
+ "type": "string"
+ },
+ "messages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Message"
+ }
+ },
+ "voice_states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VoiceState"
+ }
+ },
+ "read_states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadState"
+ }
+ },
+ "webhooks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "default_thread_rate_limit_per_user": {
+ "type": "integer",
+ "default": 0
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "created_at",
+ "default_thread_rate_limit_per_user",
+ "flags",
+ "guild",
+ "id",
+ "nsfw",
+ "owner",
+ "parent_id",
+ "type"
+ ]
+ },
+ "ChannelType": {
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 2,
+ 255,
+ 3,
+ 33,
+ 34,
+ 35,
+ 4,
+ 5,
+ 6,
+ 64,
+ 7,
+ 8,
+ 9
+ ],
+ "type": "number"
+ },
+ "Recipient": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "closed": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "channel_id",
+ "closed",
+ "id",
+ "user",
+ "user_id"
+ ]
+ },
+ "User": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "pronouns": {
+ "type": "string"
+ },
+ "phone": {
+ "type": "string"
+ },
+ "desktop": {
+ "type": "boolean",
+ "default": false
+ },
+ "mobile": {
+ "type": "boolean",
+ "default": false
+ },
+ "premium": {
+ "type": "boolean"
+ },
+ "premium_type": {
+ "type": "integer"
+ },
+ "bot": {
+ "type": "boolean",
+ "default": false
+ },
+ "bio": {
+ "type": "string",
+ "default": ""
+ },
+ "system": {
+ "type": "boolean",
+ "default": false
+ },
+ "nsfw_allowed": {
+ "type": "boolean",
+ "default": true
+ },
+ "mfa_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "webauthn_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "totp_secret": {
+ "type": "string",
+ "default": ""
+ },
+ "totp_last_ticket": {
+ "type": "string",
+ "default": ""
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "premium_since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "verified": {
+ "type": "boolean"
+ },
+ "disabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "deleted": {
+ "type": "boolean",
+ "default": false
+ },
+ "email": {
+ "type": "string"
+ },
+ "flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "public_flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "purchased_flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "premium_usage_flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "rights": {
+ "type": "string"
+ },
+ "sessions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Session"
+ }
+ },
+ "relationships": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Relationship"
+ }
+ },
+ "connected_accounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectedAccount"
+ }
+ },
+ "data": {
+ "type": "object",
+ "properties": {
+ "valid_tokens_since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "hash": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "valid_tokens_since"
+ ]
+ },
+ "fingerprints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "settings": {
+ "$ref": "#/definitions/UserSettings"
+ },
+ "extended_settings": {
+ "type": "string",
+ "default": "{}"
+ },
+ "security_keys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityKey"
+ }
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bio",
+ "bot",
+ "connected_accounts",
+ "created_at",
+ "data",
+ "deleted",
+ "desktop",
+ "disabled",
+ "discriminator",
+ "extended_settings",
+ "fingerprints",
+ "flags",
+ "id",
+ "mfa_enabled",
+ "mobile",
+ "nsfw_allowed",
+ "premium",
+ "premium_since",
+ "premium_type",
+ "premium_usage_flags",
+ "public_flags",
+ "purchased_flags",
+ "relationships",
+ "rights",
+ "security_keys",
+ "sessions",
+ "settings",
+ "system",
+ "username",
+ "verified",
+ "webauthn_enabled"
+ ]
+ },
+ "Session": {
+ "type": "object",
+ "properties": {
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "session_id": {
+ "type": "string"
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Activity"
+ }
+ },
+ "client_info": {
+ "type": "object",
+ "properties": {
+ "client": {
+ "type": "string"
+ },
+ "os": {
+ "type": "string"
+ },
+ "version": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "client",
+ "os",
+ "version"
+ ]
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "activities",
+ "client_info",
+ "id",
+ "session_id",
+ "status",
+ "user",
+ "user_id"
+ ]
+ },
+ "Relationship": {
+ "type": "object",
+ "properties": {
+ "from_id": {
+ "type": "string"
+ },
+ "from": {
+ "$ref": "#/definitions/User"
+ },
+ "to_id": {
+ "type": "string"
+ },
+ "to": {
+ "$ref": "#/definitions/User"
+ },
+ "nickname": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/RelationshipType"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "from",
+ "from_id",
+ "id",
+ "to",
+ "to_id",
+ "type"
+ ]
+ },
+ "RelationshipType": {
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "type": "number"
+ },
+ "ConnectedAccount": {
+ "type": "object",
+ "properties": {
+ "external_id": {
+ "type": "string"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "friend_sync": {
+ "type": "boolean",
+ "default": false
+ },
+ "name": {
+ "type": "string"
+ },
+ "revoked": {
+ "type": "boolean",
+ "default": false
+ },
+ "show_activity": {
+ "type": "integer",
+ "default": 0
+ },
+ "type": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean",
+ "default": true
+ },
+ "visibility": {
+ "type": "integer",
+ "default": 0
+ },
+ "integrations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "metadata_": {},
+ "metadata_visibility": {
+ "type": "integer",
+ "default": 0
+ },
+ "two_way_link": {
+ "type": "boolean",
+ "default": false
+ },
+ "token_data": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ConnectedAccountTokenData"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "external_id",
+ "id",
+ "name",
+ "type",
+ "user",
+ "user_id"
+ ]
+ },
+ "UserSettings": {
+ "type": "object",
+ "properties": {
+ "index": {
+ "type": "string"
+ },
+ "afk_timeout": {
+ "type": "integer",
+ "default": 3600
+ },
+ "allow_accessibility_detection": {
+ "type": "boolean",
+ "default": true
+ },
+ "animate_emoji": {
+ "type": "boolean",
+ "default": true
+ },
+ "animate_stickers": {
+ "type": "integer",
+ "default": 0
+ },
+ "contact_sync_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "convert_emoticons": {
+ "type": "boolean",
+ "default": false
+ },
+ "custom_status": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/CustomStatus"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null
+ },
+ "default_guilds_restricted": {
+ "type": "boolean",
+ "default": false
+ },
+ "detect_platform_accounts": {
+ "type": "boolean",
+ "default": false
+ },
+ "developer_mode": {
+ "type": "boolean",
+ "default": true
+ },
+ "disable_games_tab": {
+ "type": "boolean",
+ "default": true
+ },
+ "enable_tts_command": {
+ "type": "boolean",
+ "default": false
+ },
+ "explicit_content_filter": {
+ "type": "integer",
+ "default": 0
+ },
+ "friend_source_flags": {
+ "$ref": "#/definitions/FriendSourceFlags"
+ },
+ "gateway_connected": {
+ "type": "boolean",
+ "default": false
+ },
+ "gif_auto_play": {
+ "type": "boolean",
+ "default": false
+ },
+ "guild_folders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuildFolder"
+ },
+ "default": []
+ },
+ "guild_positions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "inline_attachment_media": {
+ "type": "boolean",
+ "default": true
+ },
+ "inline_embed_media": {
+ "type": "boolean",
+ "default": true
+ },
+ "locale": {
+ "type": "string",
+ "default": "en-US"
+ },
+ "message_display_compact": {
+ "type": "boolean",
+ "default": false
+ },
+ "native_phone_integration_enabled": {
+ "type": "boolean",
+ "default": true
+ },
+ "render_embeds": {
+ "type": "boolean",
+ "default": true
+ },
+ "render_reactions": {
+ "type": "boolean",
+ "default": true
+ },
+ "restricted_guilds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "show_current_game": {
+ "type": "boolean",
+ "default": true
+ },
+ "status": {
+ "enum": [
+ "dnd",
+ "idle",
+ "invisible",
+ "offline",
+ "online"
+ ],
+ "type": "string",
+ "default": "online"
+ },
+ "stream_notifications_enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "theme": {
+ "enum": [
+ "dark",
+ "light"
+ ],
+ "type": "string",
+ "default": "dark"
+ },
+ "timezone_offset": {
+ "type": "integer",
+ "default": 0
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "afk_timeout",
+ "allow_accessibility_detection",
+ "animate_emoji",
+ "animate_stickers",
+ "contact_sync_enabled",
+ "convert_emoticons",
+ "custom_status",
+ "default_guilds_restricted",
+ "detect_platform_accounts",
+ "developer_mode",
+ "disable_games_tab",
+ "enable_tts_command",
+ "explicit_content_filter",
+ "friend_source_flags",
+ "gateway_connected",
+ "gif_auto_play",
+ "guild_folders",
+ "guild_positions",
+ "index",
+ "inline_attachment_media",
+ "inline_embed_media",
+ "locale",
+ "message_display_compact",
+ "native_phone_integration_enabled",
+ "render_embeds",
+ "render_reactions",
+ "restricted_guilds",
+ "show_current_game",
+ "status",
+ "stream_notifications_enabled",
+ "theme",
+ "timezone_offset"
+ ]
+ },
+ "SecurityKey": {
+ "type": "object",
+ "properties": {
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "key_id": {
+ "type": "string"
+ },
+ "public_key": {
+ "type": "string"
+ },
+ "counter": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "counter",
+ "id",
+ "key_id",
+ "name",
+ "public_key",
+ "user",
+ "user_id"
+ ]
+ },
+ "ChannelPermissionOverwrite": {
+ "type": "object",
+ "properties": {
+ "allow": {
+ "type": "string"
+ },
+ "deny": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/ChannelPermissionOverwriteType"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "allow",
+ "deny",
+ "id",
+ "type"
+ ]
+ },
+ "Invite": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "temporary": {
+ "type": "boolean"
+ },
+ "uses": {
+ "type": "integer"
+ },
+ "max_uses": {
+ "type": "integer"
+ },
+ "max_age": {
+ "type": "integer"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "expires_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "inviter_id": {
+ "type": "string"
+ },
+ "inviter": {
+ "$ref": "#/definitions/User"
+ },
+ "target_user_id": {
+ "type": "string"
+ },
+ "target_user": {
+ "type": "string"
+ },
+ "target_user_type": {
+ "type": "integer"
+ },
+ "vanity_url": {
+ "type": "boolean"
+ },
+ "flags": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "channel_id",
+ "code",
+ "created_at",
+ "flags",
+ "guild",
+ "guild_id",
+ "inviter",
+ "max_age",
+ "max_uses",
+ "target_user_id",
+ "temporary",
+ "uses"
+ ]
+ },
+ "Message": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "author_id": {
+ "type": "string"
+ },
+ "author": {
+ "$ref": "#/definitions/User"
+ },
+ "member_id": {
+ "type": "string"
+ },
+ "member": {
+ "$ref": "#/definitions/Member"
+ },
+ "webhook_id": {
+ "type": "string"
+ },
+ "webhook": {
+ "$ref": "#/definitions/Webhook"
+ },
+ "application_id": {
+ "type": "string"
+ },
+ "application": {
+ "$ref": "#/definitions/Application"
+ },
+ "content": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "edited_timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "mention_everyone": {
+ "type": "boolean"
+ },
+ "mentions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "mention_roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "mention_channels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Channel"
+ }
+ },
+ "sticker_items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sticker"
+ }
+ },
+ "attachments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Attachment_1"
+ }
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Embed"
+ }
+ },
+ "reactions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Reaction"
+ }
+ },
+ "nonce": {
+ "type": "string"
+ },
+ "pinned": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/definitions/MessageType"
+ },
+ "activity": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "integer"
+ },
+ "party_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "party_id",
+ "type"
+ ]
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "message_reference": {
+ "type": "object",
+ "properties": {
+ "message_id": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message_id"
+ ]
+ },
+ "referenced_message": {
+ "$ref": "#/definitions/Message"
+ },
+ "interaction": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/InteractionType"
+ },
+ "name": {
+ "type": "string"
+ },
+ "user_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name",
+ "type",
+ "user_id"
+ ]
+ },
+ "components": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MessageComponent"
+ }
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "embeds",
+ "id",
+ "mention_channels",
+ "mention_roles",
+ "mentions",
+ "reactions",
+ "timestamp",
+ "type"
+ ]
+ },
+ "Member": {
+ "type": "object",
+ "properties": {
+ "index": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "nick": {
+ "type": "string"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "joined_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "premium_since": {
+ "type": "integer"
+ },
+ "deaf": {
+ "type": "boolean"
+ },
+ "mute": {
+ "type": "boolean"
+ },
+ "pending": {
+ "type": "boolean"
+ },
+ "settings": {
+ "$ref": "#/definitions/UserGuildSettings"
+ },
+ "last_message_id": {
+ "type": "string"
+ },
+ "joined_by": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "pronouns": {
+ "type": "string"
+ },
+ "communication_disabled_until": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "avatar",
+ "banner",
+ "bio",
+ "communication_disabled_until",
+ "deaf",
+ "guild",
+ "guild_id",
+ "id",
+ "index",
+ "joined_at",
+ "joined_by",
+ "mute",
+ "pending",
+ "roles",
+ "settings",
+ "user"
+ ]
+ },
+ "Role": {
+ "type": "object",
+ "properties": {
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "color": {
+ "type": "integer"
+ },
+ "hoist": {
+ "type": "boolean"
+ },
+ "managed": {
+ "type": "boolean"
+ },
+ "mentionable": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "permissions": {
+ "type": "string"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "unicode_emoji": {
+ "type": "string"
+ },
+ "tags": {
+ "type": "object",
+ "properties": {
+ "bot_id": {
+ "type": "string"
+ },
+ "integration_id": {
+ "type": "string"
+ },
+ "premium_subscriber": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "color",
+ "flags",
+ "guild",
+ "guild_id",
+ "hoist",
+ "id",
+ "managed",
+ "mentionable",
+ "name",
+ "permissions",
+ "position"
+ ]
+ },
+ "UserGuildSettings": {
+ "type": "object",
+ "properties": {
+ "channel_overrides": {
+ "anyOf": [
+ {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ChannelOverride"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "message_notifications": {
+ "type": "integer"
+ },
+ "mobile_push": {
+ "type": "boolean"
+ },
+ "mute_config": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/MuteConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "muted": {
+ "type": "boolean"
+ },
+ "suppress_everyone": {
+ "type": "boolean"
+ },
+ "suppress_roles": {
+ "type": "boolean"
+ },
+ "version": {
+ "type": "integer"
+ },
+ "guild_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "mute_scheduled_events": {
+ "type": "boolean"
+ },
+ "hide_muted_channels": {
+ "type": "boolean"
+ },
+ "notify_highlights": {
+ "type": "number",
+ "enum": [
+ 0
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_overrides",
+ "flags",
+ "guild_id",
+ "hide_muted_channels",
+ "message_notifications",
+ "mobile_push",
+ "mute_config",
+ "mute_scheduled_events",
+ "muted",
+ "notify_highlights",
+ "suppress_everyone",
+ "suppress_roles",
+ "version"
+ ]
+ },
+ "Webhook": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WebhookType"
+ },
+ "name": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "application_id": {
+ "type": "string"
+ },
+ "application": {
+ "$ref": "#/definitions/Application"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "source_guild_id": {
+ "type": "string"
+ },
+ "source_guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "application",
+ "application_id",
+ "channel",
+ "channel_id",
+ "guild",
+ "guild_id",
+ "id",
+ "source_guild",
+ "source_guild_id",
+ "type",
+ "user",
+ "user_id"
+ ]
+ },
+ "WebhookType": {
+ "enum": [
+ 1,
+ 2,
+ 3
+ ],
+ "type": "number"
+ },
+ "Application": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "string",
+ "default": ""
+ },
+ "type": {
+ "type": "object",
+ "properties": {},
+ "additionalProperties": true
+ },
+ "hook": {
+ "type": "boolean",
+ "default": true
+ },
+ "bot_public": {
+ "type": "boolean",
+ "default": true
+ },
+ "bot_require_code_grant": {
+ "type": "boolean",
+ "default": false
+ },
+ "verify_key": {
+ "type": "string"
+ },
+ "owner": {
+ "$ref": "#/definitions/User"
+ },
+ "flags": {
+ "type": "integer",
+ "default": 0
+ },
+ "redirect_uris": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "default": []
+ },
+ "rpc_application_state": {
+ "type": "integer",
+ "default": 0
+ },
+ "store_application_state": {
+ "type": "integer",
+ "default": 1
+ },
+ "verification_state": {
+ "type": "integer",
+ "default": 1
+ },
+ "interactions_endpoint_url": {
+ "type": "string"
+ },
+ "integration_public": {
+ "type": "boolean",
+ "default": true
+ },
+ "integration_require_code_grant": {
+ "type": "boolean",
+ "default": false
+ },
+ "discoverability_state": {
+ "type": "integer",
+ "default": 1
+ },
+ "discovery_eligibility_flags": {
+ "type": "integer",
+ "default": 2240
+ },
+ "bot": {
+ "$ref": "#/definitions/User"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cover_image": {
+ "type": "string"
+ },
+ "install_params": {
+ "type": "object",
+ "properties": {
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "permissions": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "permissions",
+ "scopes"
+ ]
+ },
+ "terms_of_service_url": {
+ "type": "string"
+ },
+ "privacy_policy_url": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/Team"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "description",
+ "discoverability_state",
+ "discovery_eligibility_flags",
+ "flags",
+ "hook",
+ "id",
+ "integration_public",
+ "integration_require_code_grant",
+ "name",
+ "owner",
+ "redirect_uris",
+ "rpc_application_state",
+ "store_application_state",
+ "summary",
+ "verification_state",
+ "verify_key"
+ ]
+ },
+ "Team": {
+ "type": "object",
+ "properties": {
+ "icon": {
+ "type": "string"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TeamMember"
+ }
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner_user_id": {
+ "type": "string"
+ },
+ "owner_user": {
+ "$ref": "#/definitions/User"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "members",
+ "name",
+ "owner_user",
+ "owner_user_id"
+ ]
+ },
+ "TeamMember": {
+ "type": "object",
+ "properties": {
+ "membership_state": {
+ "$ref": "#/definitions/TeamMemberState"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "team_id": {
+ "type": "string"
+ },
+ "team": {
+ "$ref": "#/definitions/Team"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "membership_state",
+ "permissions",
+ "team",
+ "team_id",
+ "user",
+ "user_id"
+ ]
+ },
+ "TeamMemberState": {
+ "enum": [
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "Sticker": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "available": {
+ "type": "boolean"
+ },
+ "tags": {
+ "type": "string"
+ },
+ "pack_id": {
+ "type": "string"
+ },
+ "pack": {
+ "$ref": "#/definitions/StickerPack"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "type": {
+ "$ref": "#/definitions/StickerType"
+ },
+ "format_type": {
+ "$ref": "#/definitions/StickerFormatType"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "format_type",
+ "id",
+ "name",
+ "pack",
+ "type"
+ ]
+ },
+ "StickerPack": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "banner_asset_id": {
+ "type": "string"
+ },
+ "stickers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sticker"
+ }
+ },
+ "cover_sticker_id": {
+ "type": "string"
+ },
+ "cover_sticker": {
+ "$ref": "#/definitions/Sticker"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name",
+ "stickers"
+ ]
+ },
+ "StickerType": {
+ "enum": [
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "StickerFormatType": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3
+ ],
+ "type": "number"
+ },
+ "Attachment_1": {
+ "type": "object",
+ "properties": {
+ "filename": {
+ "type": "string"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "proxy_url": {
+ "type": "string"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "width": {
+ "type": "integer"
+ },
+ "content_type": {
+ "type": "string"
+ },
+ "message_id": {
+ "type": "string"
+ },
+ "message": {
+ "$ref": "#/definitions/Message"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "filename",
+ "id",
+ "message",
+ "message_id",
+ "proxy_url",
+ "size",
+ "url"
+ ]
+ },
+ "Reaction": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "emoji": {
+ "$ref": "#/definitions/PartialEmoji"
+ },
+ "user_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "count",
+ "emoji",
+ "user_ids"
+ ]
+ },
+ "PartialEmoji": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "animated": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name"
+ ]
+ },
+ "MessageType": {
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 19,
+ 2,
+ 20,
+ 255,
+ 3,
+ 4,
+ 41,
+ 42,
+ 43,
+ 5,
+ 50,
+ 6,
+ 63,
+ 7,
+ 8,
+ 9
+ ],
+ "type": "number"
+ },
+ "InteractionType": {
+ "enum": [
+ 0,
+ 1,
+ 2
+ ],
+ "type": "number"
+ },
+ "MessageComponent": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "integer"
+ },
+ "style": {
+ "type": "integer"
+ },
+ "label": {
+ "type": "string"
+ },
+ "emoji": {
+ "$ref": "#/definitions/PartialEmoji"
+ },
+ "custom_id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "disabled": {
+ "type": "boolean"
+ },
+ "components": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MessageComponent"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "components",
+ "type"
+ ]
+ },
+ "VoiceState": {
+ "type": "object",
+ "properties": {
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "member": {
+ "$ref": "#/definitions/Member"
+ },
+ "session_id": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ },
+ "deaf": {
+ "type": "boolean"
+ },
+ "mute": {
+ "type": "boolean"
+ },
+ "self_deaf": {
+ "type": "boolean"
+ },
+ "self_mute": {
+ "type": "boolean"
+ },
+ "self_stream": {
+ "type": "boolean"
+ },
+ "self_video": {
+ "type": "boolean"
+ },
+ "suppress": {
+ "type": "boolean"
+ },
+ "request_to_speak_timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "channel_id",
+ "deaf",
+ "guild_id",
+ "id",
+ "member",
+ "mute",
+ "self_deaf",
+ "self_mute",
+ "self_video",
+ "session_id",
+ "suppress",
+ "token",
+ "user",
+ "user_id"
+ ]
+ },
+ "ReadState": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "channel": {
+ "$ref": "#/definitions/Channel"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "last_message_id": {
+ "type": "string"
+ },
+ "public_ack": {
+ "type": "string"
+ },
+ "notifications_cursor": {
+ "type": "string"
+ },
+ "last_pin_timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "mention_count": {
+ "type": "integer"
+ },
+ "manual": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel",
+ "channel_id",
+ "id",
+ "last_message_id",
+ "manual",
+ "mention_count",
+ "notifications_cursor",
+ "public_ack",
+ "user",
+ "user_id"
+ ]
+ },
+ "Ban": {
+ "type": "object",
+ "properties": {
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "executor_id": {
+ "type": "string"
+ },
+ "executor": {
+ "$ref": "#/definitions/User"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "executor",
+ "executor_id",
+ "guild",
+ "guild_id",
+ "id",
+ "ip",
+ "user",
+ "user_id"
+ ]
+ },
+ "Template": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "usage_count": {
+ "type": "integer"
+ },
+ "creator_id": {
+ "type": "string"
+ },
+ "creator": {
+ "$ref": "#/definitions/User"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "source_guild_id": {
+ "type": "string"
+ },
+ "source_guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "serialized_source_guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "created_at",
+ "creator",
+ "creator_id",
+ "id",
+ "name",
+ "serialized_source_guild",
+ "source_guild",
+ "source_guild_id",
+ "updated_at"
+ ]
+ },
+ "Emoji": {
+ "type": "object",
+ "properties": {
+ "animated": {
+ "type": "boolean"
+ },
+ "available": {
+ "type": "boolean"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "guild": {
+ "$ref": "#/definitions/Guild"
+ },
+ "user_id": {
+ "type": "string"
+ },
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "managed": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "require_colons": {
+ "type": "boolean"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "animated",
+ "available",
+ "groups",
+ "guild",
+ "guild_id",
+ "id",
+ "managed",
+ "name",
+ "require_colons",
+ "roles",
+ "user",
+ "user_id"
+ ]
+ },
+ "GuildWelcomeScreen": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "description": {
+ "type": "string"
+ },
+ "welcome_channels": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "emoji_id": {
+ "type": "string"
+ },
+ "emoji_name": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id",
+ "description"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "description",
+ "enabled",
+ "welcome_channels"
+ ]
+ },
+ "GuildMessagesSearchMessage": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/MessageType"
+ },
+ "content": {
+ "type": "string"
+ },
+ "channel_id": {
+ "type": "string"
+ },
+ "author": {
+ "$ref": "#/definitions/PublicUser"
+ },
+ "attachments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Attachment_1"
+ }
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Embed"
+ }
+ },
+ "mentions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicUser"
+ }
+ },
+ "mention_roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "pinned": {
+ "type": "boolean"
+ },
+ "mention_everyone": {
+ "type": "boolean"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "edited_timestamp": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "flags": {
+ "type": "integer"
+ },
+ "components": {
+ "type": "array",
+ "items": {}
+ },
+ "hit": {
+ "type": "boolean",
+ "enum": [
+ true
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "attachments",
+ "author",
+ "channel_id",
+ "components",
+ "edited_timestamp",
+ "embeds",
+ "flags",
+ "hit",
+ "id",
+ "mention_roles",
+ "mentions",
+ "pinned",
+ "timestamp",
+ "tts",
+ "type"
+ ]
+ },
+ "PublicUser": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "premium_since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "username": {
+ "type": "string"
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "public_flags": {
+ "type": "integer"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "bot": {
+ "type": "boolean"
+ },
+ "premium_type": {
+ "type": "integer"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "pronouns": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bio",
+ "bot",
+ "discriminator",
+ "id",
+ "premium_since",
+ "premium_type",
+ "public_flags",
+ "username"
+ ]
+ },
+ "GuildVanityUrl": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "uses": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "uses"
+ ]
+ },
+ "GuildVanityUrlNoInvite": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "null"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code"
+ ]
+ },
+ "ClientStatus": {
+ "type": "object",
+ "properties": {
+ "desktop": {
+ "type": "string"
+ },
+ "mobile": {
+ "type": "string"
+ },
+ "web": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Snowflake": {
+ "description": "A container for useful snowflake-related methods.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "TenorGifResponse": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "src": {
+ "type": "string"
+ },
+ "gif_src": {
+ "type": "string"
+ },
+ "width": {
+ "type": "integer"
+ },
+ "height": {
+ "type": "integer"
+ },
+ "preview": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "gif_src",
+ "height",
+ "id",
+ "preview",
+ "src",
+ "title",
+ "url",
+ "width"
+ ]
+ },
+ "BackupCode": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "$ref": "#/definitions/User"
+ },
+ "code": {
+ "type": "string"
+ },
+ "consumed": {
+ "type": "boolean"
+ },
+ "expired": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "consumed",
+ "expired",
+ "id",
+ "user"
+ ]
+ },
+ "APIGuild": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "reload": {
+ "description": "Reloads entity data from the database.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "id": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "parent": {
+ "type": "string"
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "nsfw": {
+ "type": "boolean"
+ },
+ "invites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Invite"
+ }
+ },
+ "voice_states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VoiceState"
+ }
+ },
+ "webhooks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "toJSON": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "_do_validate": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "assign": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "hasId": {
+ "description": "Checks if entity has an id.\nIf entity composite compose ids, it will check them all.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "save": {
+ "description": "Saves current entity in the database.\nIf entity does not exist in the database then inserts, otherwise updates.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "remove": {
+ "description": "Removes current entity from the database.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "softRemove": {
+ "description": "Records the delete date of current entity.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "recover": {
+ "description": "Recovers a given entity in the database.",
+ "type": "object",
+ "additionalProperties": false
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "banner": {
+ "type": "string"
+ },
+ "unavailable": {
+ "type": "boolean"
+ },
+ "channels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Channel"
+ }
+ },
+ "region": {
+ "type": "string"
+ },
+ "system_channel_id": {
+ "type": "string"
+ },
+ "rules_channel_id": {
+ "type": "string"
+ },
+ "afk_timeout": {
+ "type": "integer"
+ },
+ "explicit_content_filter": {
+ "type": "integer"
+ },
+ "afk_channel_id": {
+ "type": "string"
+ },
+ "bans": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Ban"
+ }
+ },
+ "default_message_notifications": {
+ "type": "integer"
+ },
+ "description": {
+ "type": "string"
+ },
+ "discovery_splash": {
+ "type": "string"
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "primary_category_id": {
+ "type": "string"
+ },
+ "large": {
+ "type": "boolean"
+ },
+ "max_members": {
+ "type": "integer"
+ },
+ "max_presences": {
+ "type": "integer"
+ },
+ "max_video_channel_users": {
+ "type": "integer"
+ },
+ "member_count": {
+ "type": "integer"
+ },
+ "presence_count": {
+ "type": "integer"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Member"
+ }
+ },
+ "template_id": {
+ "type": "string"
+ },
+ "emojis": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Emoji"
+ }
+ },
+ "stickers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sticker"
+ }
+ },
+ "mfa_level": {
+ "type": "integer"
+ },
+ "preferred_locale": {
+ "type": "string"
+ },
+ "premium_subscription_count": {
+ "type": "integer"
+ },
+ "premium_tier": {
+ "type": "integer"
+ },
+ "public_updates_channel_id": {
+ "type": "string"
+ },
+ "splash": {
+ "type": "string"
+ },
+ "system_channel_flags": {
+ "type": "integer"
+ },
+ "verification_level": {
+ "type": "integer"
+ },
+ "welcome_screen": {
+ "$ref": "#/definitions/GuildWelcomeScreen"
+ },
+ "widget_channel_id": {
+ "type": "string"
+ },
+ "widget_enabled": {
+ "type": "boolean"
+ },
+ "nsfw_level": {
+ "type": "integer"
+ },
+ "permissions": {
+ "type": "integer"
+ },
+ "premium_progress_bar_enabled": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "_do_validate",
+ "assign",
+ "bans",
+ "channels",
+ "emojis",
+ "features",
+ "hasId",
+ "id",
+ "invites",
+ "members",
+ "name",
+ "nsfw",
+ "premium_progress_bar_enabled",
+ "public_updates_channel_id",
+ "recover",
+ "reload",
+ "remove",
+ "roles",
+ "save",
+ "softRemove",
+ "stickers",
+ "toJSON",
+ "unavailable",
+ "voice_states",
+ "webhooks",
+ "welcome_screen",
+ "widget_enabled"
+ ]
+ },
+ "DmChannelDTO": {
+ "type": "object",
+ "properties": {
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "last_message_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "name": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "origin_channel_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "recipients": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MinimalPublicUserDTO"
+ }
+ },
+ "type": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "icon",
+ "id",
+ "last_message_id",
+ "name",
+ "origin_channel_id",
+ "recipients",
+ "type"
+ ]
+ },
+ "MinimalPublicUserDTO": {
+ "type": "object",
+ "properties": {
+ "avatar": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "public_flags": {
+ "type": "integer"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "discriminator",
+ "id",
+ "public_flags",
+ "username"
+ ]
+ },
+ "Categories": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "localizations": {
+ "type": "string"
+ },
+ "is_primary": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "is_primary",
+ "localizations",
+ "name"
+ ]
+ },
+ "GuildVoiceRegion": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "custom": {
+ "type": "boolean"
+ },
+ "deprecated": {
+ "type": "boolean"
+ },
+ "optimal": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "custom",
+ "deprecated",
+ "id",
+ "name",
+ "optimal"
+ ]
+ },
+ "UserLimits": {
+ "type": "object",
+ "properties": {
+ "maxGuilds": {
+ "type": "integer",
+ "default": 1048576
+ },
+ "maxUsername": {
+ "type": "integer",
+ "default": 32
+ },
+ "maxFriends": {
+ "type": "integer",
+ "default": 5000
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "maxFriends",
+ "maxGuilds",
+ "maxUsername"
+ ]
+ },
+ "GuildLimits": {
+ "type": "object",
+ "properties": {
+ "maxRoles": {
+ "type": "integer",
+ "default": 1000
+ },
+ "maxEmojis": {
+ "type": "integer",
+ "default": 2000
+ },
+ "maxMembers": {
+ "type": "integer",
+ "default": 25000000
+ },
+ "maxChannels": {
+ "type": "integer",
+ "default": 65535
+ },
+ "maxChannelsInCategory": {
+ "type": "integer",
+ "default": 65535
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "maxChannels",
+ "maxChannelsInCategory",
+ "maxEmojis",
+ "maxMembers",
+ "maxRoles"
+ ]
+ },
+ "MessageLimits": {
+ "type": "object",
+ "properties": {
+ "maxCharacters": {
+ "type": "integer",
+ "default": 1048576
+ },
+ "maxTTSCharacters": {
+ "type": "integer",
+ "default": 160
+ },
+ "maxReactions": {
+ "type": "integer",
+ "default": 2048
+ },
+ "maxAttachmentSize": {
+ "type": "integer",
+ "default": 1073741824
+ },
+ "maxBulkDelete": {
+ "type": "integer",
+ "default": 1000
+ },
+ "maxEmbedDownloadSize": {
+ "type": "integer",
+ "default": 5242880
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "maxAttachmentSize",
+ "maxBulkDelete",
+ "maxCharacters",
+ "maxEmbedDownloadSize",
+ "maxReactions",
+ "maxTTSCharacters"
+ ]
+ },
+ "ChannelLimits": {
+ "type": "object",
+ "properties": {
+ "maxPins": {
+ "type": "integer",
+ "default": 500
+ },
+ "maxTopic": {
+ "type": "integer",
+ "default": 1024
+ },
+ "maxWebhooks": {
+ "type": "integer",
+ "default": 100
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "maxPins",
+ "maxTopic",
+ "maxWebhooks"
+ ]
+ },
+ "RateLimits": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": false
+ },
+ "ip": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "global": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "error": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "routes": {
+ "$ref": "#/definitions/RouteRateLimit"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "enabled",
+ "error",
+ "global",
+ "ip",
+ "routes"
+ ]
+ },
+ "RateLimitOptions": {
+ "type": "object",
+ "properties": {
+ "bot": {
+ "type": "integer"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "window": {
+ "type": "integer"
+ },
+ "onyIp": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "count",
+ "window"
+ ]
+ },
+ "RouteRateLimit": {
+ "type": "object",
+ "properties": {
+ "guild": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "webhook": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "channel": {
+ "$ref": "#/definitions/RateLimitOptions"
+ },
+ "auth": {}
+ },
+ "additionalProperties": false,
+ "required": [
+ "auth",
+ "channel",
+ "guild",
+ "webhook"
+ ]
+ },
+ "GlobalRateLimits": {
+ "type": "object",
+ "properties": {
+ "register": {
+ "$ref": "#/definitions/GlobalRateLimit"
+ },
+ "sendMessage": {
+ "$ref": "#/definitions/GlobalRateLimit"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "register",
+ "sendMessage"
+ ]
+ },
+ "GlobalRateLimit": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "default": 100
+ },
+ "window": {
+ "type": "integer",
+ "default": 3600000
+ },
+ "enabled": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "enabled",
+ "limit",
+ "window"
+ ]
+ },
+ "PublicConnectedAccount": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "type"
+ ]
+ },
+ "UserProfile": {
+ "type": "object",
+ "properties": {
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "theme_colors": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "pronouns": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bio"
+ ]
+ },
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -493430,6 +500332,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -493513,35 +500438,21 @@
},
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "UserRelationsResponse": {
- "type": "array",
- "items": {
- "additionalProperties": false,
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
- },
- "avatar": {
- "type": "string"
- },
- "public_flags": {
- "type": "integer"
- }
+ "WebAuthnCreateResponse": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
},
- "required": [
- "discriminator",
- "id",
- "public_flags",
- "username"
- ]
+ "id": {
+ "type": "string"
+ }
},
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name"
+ ],
"definitions": {
"ChannelPermissionOverwriteType": {
"enum": [
@@ -497641,6 +504552,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -497724,20 +504658,30 @@
},
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "WebAuthnCreateResponse": {
+ "WebfingerResponse": {
"type": "object",
"properties": {
- "name": {
+ "subject": {
"type": "string"
},
- "id": {
- "type": "string"
+ "aliases": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WebfingerLink"
+ }
}
},
"additionalProperties": false,
"required": [
- "id",
- "name"
+ "aliases",
+ "links",
+ "subject"
],
"definitions": {
"ChannelPermissionOverwriteType": {
@@ -501838,6 +508782,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -506035,6 +513002,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -510219,6 +517209,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -514415,6 +521428,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -518626,6 +525662,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -522841,6 +529900,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -527035,6 +534117,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -531228,6 +538333,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -535421,6 +542549,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
@@ -539620,6 +546771,29 @@
"bio"
]
},
+ "WebfingerLink": {
+ "type": "object",
+ "properties": {
+ "rel": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "href": {
+ "type": "string"
+ },
+ "template": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "href",
+ "rel",
+ "type"
+ ]
+ },
"TokenResponse": {
"type": "object",
"properties": {
diff --git a/package.json b/package.json
index 70e4ae84..d2c68a77 100644
--- a/package.json
+++ b/package.json
@@ -113,7 +113,8 @@
"@spacebar/api": "dist/api",
"@spacebar/cdn": "dist/cdn",
"@spacebar/gateway": "dist/gateway",
- "@spacebar/util": "dist/util"
+ "@spacebar/util": "dist/util",
+ "@spacebar/ap": "dist/activitypub"
},
"optionalDependencies": {
"erlpack": "^0.1.4",
@@ -122,4 +123,4 @@
"nodemailer-sendgrid-transport": "github:Maria-Golomb/nodemailer-sendgrid-transport",
"sqlite3": "^5.1.6"
}
-}
+}
\ No newline at end of file
diff --git a/src/activitypub/Server.ts b/src/activitypub/Server.ts
new file mode 100644
index 00000000..492d43b6
--- /dev/null
+++ b/src/activitypub/Server.ts
@@ -0,0 +1,64 @@
+import { BodyParser, CORS, ErrorHandler } from "@spacebar/api";
+import {
+ Config,
+ JSONReplacer,
+ initDatabase,
+ registerRoutes,
+} from "@spacebar/util";
+import { Request, Response, Router } from "express";
+import { Server, ServerOptions } from "lambert-server";
+import path from "path";
+import webfinger from "./webfinger";
+
+export class APServer extends Server {
+ public declare options: ServerOptions;
+
+ constructor(opts?: Partial<ServerOptions>) {
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
+ super({ ...opts, errorHandler: false, jsonBody: false });
+ }
+
+ async start() {
+ await initDatabase();
+ await Config.init();
+
+ this.app.set("json replacer", JSONReplacer);
+
+ this.app.use(CORS);
+ this.app.use(BodyParser({ inflate: true, limit: "10mb" }));
+
+ const api = Router();
+ const app = this.app;
+
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
+ // lambert server is lame
+ this.app = api;
+
+ this.routes = await registerRoutes(
+ this,
+ path.join(__dirname, "routes", "/"),
+ );
+
+ api.use("*", (req: Request, res: Response) => {
+ res.status(404).json({
+ message: "404 endpoint not found",
+ code: 0,
+ });
+ });
+
+ this.app = app;
+
+ this.app.use("/fed", api);
+ this.app.get("/fed", (req, res) => {
+ res.json({ ping: "pong" });
+ });
+
+ this.app.use("/.well-known/webfinger", webfinger);
+
+ this.app.use(ErrorHandler);
+
+ return super.start();
+ }
+}
diff --git a/src/activitypub/index.ts b/src/activitypub/index.ts
new file mode 100644
index 00000000..7513bd2f
--- /dev/null
+++ b/src/activitypub/index.ts
@@ -0,0 +1 @@
+export * from "./Server";
diff --git a/src/activitypub/routes/channel/#channel_id/index.ts b/src/activitypub/routes/channel/#channel_id/index.ts
new file mode 100644
index 00000000..95495ffe
--- /dev/null
+++ b/src/activitypub/routes/channel/#channel_id/index.ts
@@ -0,0 +1,30 @@
+import { route } from "@spacebar/api";
+import { Channel, Config } from "@spacebar/util";
+import { Request, Response, Router } from "express";
+
+const router = Router();
+export default router;
+
+router.get("/", route({}), async (req: Request, res: Response) => {
+ const id = req.params.id;
+
+ const channel = await Channel.findOneOrFail({ where: { id } });
+
+ const { webDomain } = Config.get().federation;
+
+ return res.json({
+ "@context": "https://www.w3.org/ns/activitystreams",
+ type: "Group",
+ id: `https://${webDomain}/fed/channel/${channel.id}`,
+ name: channel.name,
+ preferredUsername: channel.name,
+ summary: channel.topic,
+ icon: undefined,
+
+ inbox: `https://${webDomain}/fed/channel/${channel.id}/inbox`,
+ outbox: `https://${webDomain}/fed/channel/${channel.id}/outbox`,
+ followers: `https://${webDomain}/fed/channel/${channel.id}/followers`,
+ following: `https://${webDomain}/fed/channel/${channel.id}/following`,
+ linked: `https://${webDomain}/fed/channel/${channel.id}/likeds`,
+ });
+});
diff --git a/src/activitypub/routes/channel/#channel_id/messages/#message_id/index.ts b/src/activitypub/routes/channel/#channel_id/messages/#message_id/index.ts
new file mode 100644
index 00000000..6b806087
--- /dev/null
+++ b/src/activitypub/routes/channel/#channel_id/messages/#message_id/index.ts
@@ -0,0 +1,50 @@
+import { route } from "@spacebar/api";
+import { Config, Message } from "@spacebar/util";
+import { Request, Response, Router } from "express";
+
+const router = Router();
+export default router;
+
+router.get("/", route({}), async (req: Request, res: Response) => {
+ const { channel_id, message_id } = req.params;
+
+ const message = await Message.findOneOrFail({
+ where: { id: message_id, channel_id },
+ relations: { author: true, guild: true },
+ });
+ const { webDomain } = Config.get().federation;
+
+ return res.json({
+ "@context": "https://www.w3.org/ns/activitystreams",
+ id: "Announce",
+ actor: `https://${webDomain}/fed/user/${message.author!.id}`,
+ published: message.timestamp,
+ to: ["https://www.w3.org/ns/activitystreams#Public"],
+ cc: [
+ message.author?.id
+ ? `https://${webDomain}/fed/users/${message.author.id}`
+ : undefined,
+ `https://${webDomain}/fed/channel/${channel_id}/followers`,
+ ],
+ object: {
+ id: `https://${webDomain}/fed/channel/${channel_id}/mesages/${message.id}`,
+ type: "Note",
+ summary: null,
+ inReplyTo: undefined, // TODO
+ published: message.timestamp,
+ url: `https://app.spacebar.chat/channels${
+ message.guild?.id ? `/${message.guild.id}` : ""
+ }/${channel_id}/${message.id}`,
+ attributedTo: `https://${webDomain}/fed/user/${message.author!.id}`,
+ to: ["https://www.w3.org/ns/activitystreams#Public"],
+ cc: [
+ message.author?.id
+ ? `https://${webDomain}/fed/users/${message.author.id}`
+ : undefined,
+ `https://${webDomain}/fed/channel/${channel_id}/followers`,
+ ],
+ sensitive: false,
+ content: message.content,
+ },
+ });
+});
diff --git a/src/activitypub/routes/channel/#channel_id/outbox.ts b/src/activitypub/routes/channel/#channel_id/outbox.ts
new file mode 100644
index 00000000..03a31253
--- /dev/null
+++ b/src/activitypub/routes/channel/#channel_id/outbox.ts
@@ -0,0 +1,76 @@
+import { route } from "@spacebar/api";
+import { Config, Message, Snowflake } from "@spacebar/util";
+import { Router } from "express";
+import { FindManyOptions, FindOperator, LessThan, MoreThan } from "typeorm";
+
+const router = Router();
+export default router;
+
+router.get("/", route({}), async (req, res) => {
+ // TODO: authentication
+
+ const { channel_id } = req.params;
+ const { page, min_id, max_id } = req.query;
+
+ const { webDomain } = Config.get().federation;
+
+ if (!page)
+ return res.json({
+ "@context": "https://www.w3.org/ns/activitystreams",
+ id: `https://${webDomain}/fed/users/${channel_id}/outbox`,
+ type: "OrderedCollection",
+ first: `https://${webDomain}/fed/users/${channel_id}/outbox?page=true`,
+ last: `https://${webDomain}/fed/users/${channel_id}/outbox?page=true&min_id=0`,
+ });
+
+ const after = min_id ? `${min_id}` : undefined;
+ const before = max_id ? `${max_id}` : undefined;
+
+ const query: FindManyOptions<Message> & {
+ where: { id?: FindOperator<string> | FindOperator<string>[] };
+ } = {
+ order: { timestamp: "DESC" },
+ take: 20,
+ where: { channel_id: channel_id },
+ relations: ["author"],
+ };
+
+ if (after) {
+ if (BigInt(after) > BigInt(Snowflake.generate()))
+ return res.status(422);
+ query.where.id = MoreThan(after);
+ } else if (before) {
+ if (BigInt(before) > BigInt(Snowflake.generate()))
+ return res.status(422);
+ query.where.id = LessThan(before);
+ }
+
+ const messages = await Message.find(query);
+
+ return res.json({
+ "@context": "https://www.w3.org/ns/activitystreams",
+ id: `https://${webDomain}/fed/channel/${channel_id}/outbox?page=true`,
+ type: "OrderedCollection",
+ next: `https://${webDomain}/fed/channel/${channel_id}/outbox?page=true&max_id=${
+ messages[0]?.id || "0"
+ }`,
+ prev: `https://${webDomain}/fed/channel/${channel_id}/outbox?page=true&max_id=${
+ messages[messages.length - 1]?.id || "0"
+ }`,
+ partOf: `https://${webDomain}/fed/channel/${channel_id}/outbox`,
+ orderedItems: messages.map((message) => ({
+ id: `https://${webDomain}/fed/channel/${channel_id}/message/${message.id}`,
+ type: "Announce", // hmm
+ actor: `https://${webDomain}/fed/channel/${channel_id}`,
+ published: message.timestamp,
+ to: ["https://www.w3.org/ns/activitystreams#Public"],
+ cc: [
+ message.author?.id
+ ? `https://${webDomain}/fed/users/${message.author.id}`
+ : undefined,
+ `https://${webDomain}/fed/channel/${channel_id}/followers`,
+ ],
+ object: `https://${webDomain}/fed/channel/${channel_id}/messages/${message.id}`,
+ })),
+ });
+});
diff --git a/src/activitypub/routes/user.ts b/src/activitypub/routes/user.ts
new file mode 100644
index 00000000..838d14b7
--- /dev/null
+++ b/src/activitypub/routes/user.ts
@@ -0,0 +1,36 @@
+import { route } from "@spacebar/api";
+import { Config, User } from "@spacebar/util";
+import { Request, Response, Router } from "express";
+
+const router = Router();
+export default router;
+
+router.get("/:id", route({}), async (req: Request, res: Response) => {
+ const id = req.params.name;
+
+ const user = await User.findOneOrFail({ where: { id } });
+
+ const { webDomain } = Config.get().federation;
+
+ return res.json({
+ "@context": "https://www.w3.org/ns/activitystreams",
+ type: "Person",
+ id: `https://${webDomain}/fed/user/${user.id}`,
+ name: user.username,
+ preferredUsername: user.username,
+ summary: user.bio,
+ icon: user.avatar
+ ? [
+ `${Config.get().cdn.endpointPublic}/avatars/${user.id}/${
+ user.avatar
+ }`,
+ ]
+ : undefined,
+
+ inbox: `https://${webDomain}/fed/user/${user.id}/inbox`,
+ outbox: `https://${webDomain}/fed/user/${user.id}/outbox`,
+ followers: `https://${webDomain}/fed/user/${user.id}/followers`,
+ following: `https://${webDomain}/fed/user/${user.id}/following`,
+ linked: `https://${webDomain}/fed/user/${user.id}/likeds`,
+ });
+});
diff --git a/src/activitypub/start.ts b/src/activitypub/start.ts
new file mode 100644
index 00000000..3f28fa42
--- /dev/null
+++ b/src/activitypub/start.ts
@@ -0,0 +1,7 @@
+require("module-alias/register");
+import "dotenv/config";
+import { APServer } from "./Server";
+
+const port = Number(process.env.PORT) || 3005;
+const server = new APServer({ port });
+server.start().catch(console.error);
diff --git a/src/activitypub/util/actor.ts b/src/activitypub/util/actor.ts
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/activitypub/util/actor.ts
diff --git a/src/activitypub/webfinger/index.ts b/src/activitypub/webfinger/index.ts
new file mode 100644
index 00000000..0b82e103
--- /dev/null
+++ b/src/activitypub/webfinger/index.ts
@@ -0,0 +1,63 @@
+import { route } from "@spacebar/api";
+import { Channel, Config, User, WebfingerResponse } from "@spacebar/util";
+import { Request, Response, Router } from "express";
+import { HTTPError } from "lambert-server";
+
+const router = Router();
+export default router;
+
+router.get(
+ "/",
+ route({
+ query: {
+ resource: {
+ type: "string",
+ description: "Resource to locate",
+ },
+ },
+ responses: {
+ 200: {
+ body: "WebfingerResponse",
+ },
+ },
+ }),
+ async (req: Request, res: Response<WebfingerResponse>) => {
+ let resource = req.query.resource as string | undefined;
+ if (!resource) throw new HTTPError("Must specify resource");
+
+ // we know what you mean, bro
+ resource = resource.replace("acct:", "");
+
+ const [resourceId, resourceDomain] = resource.split("@");
+
+ const { webDomain } = Config.get().federation;
+ if (resourceDomain != webDomain)
+ throw new HTTPError("Resource could not be found", 404);
+
+ const found =
+ (await User.findOne({
+ where: { id: resourceId },
+ select: ["id"],
+ })) ||
+ (await Channel.findOne({
+ where: { id: resourceId },
+ select: ["id"],
+ }));
+
+ if (!found) throw new HTTPError("Resource could not be found", 404);
+
+ const type = found instanceof Channel ? "channel" : "user";
+
+ return res.json({
+ subject: `acct:${resourceId}@${webDomain}`, // mastodon always returns acct so might as well
+ aliases: [`https://${webDomain}/fed/${type}/${resourceId}`],
+ links: [
+ {
+ rel: "self",
+ type: "application/activity+json",
+ href: `https://${webDomain}/fed/${type}/${resourceId}`,
+ },
+ ],
+ });
+ },
+);
diff --git a/src/bundle/Server.ts b/src/bundle/Server.ts
index d281120d..d5e2d6de 100644
--- a/src/bundle/Server.ts
+++ b/src/bundle/Server.ts
@@ -19,13 +19,14 @@
process.on("unhandledRejection", console.error);
process.on("uncaughtException", console.error);
-import http from "http";
+import { APServer } from "@spacebar/ap";
import * as Api from "@spacebar/api";
-import * as Gateway from "@spacebar/gateway";
import { CDNServer } from "@spacebar/cdn";
+import * as Gateway from "@spacebar/gateway";
+import { Config, Sentry, initDatabase } from "@spacebar/util";
import express from "express";
-import { green, bold } from "picocolors";
-import { Config, initDatabase, Sentry } from "@spacebar/util";
+import http from "http";
+import { bold, green } from "picocolors";
const app = express();
const server = http.createServer();
@@ -36,12 +37,14 @@ server.on("request", app);
const api = new Api.SpacebarServer({ server, port, production, app });
const cdn = new CDNServer({ server, port, production, app });
const gateway = new Gateway.Server({ server, port, production });
+const activitypub = new APServer({ server, port, production, app });
process.on("SIGTERM", async () => {
console.log("Shutting down due to SIGTERM");
await gateway.stop();
await cdn.stop();
await api.stop();
+ activitypub.stop();
server.close();
Sentry.close();
});
@@ -54,7 +57,12 @@ async function main() {
await new Promise((resolve) =>
server.listen({ port }, () => resolve(undefined)),
);
- await Promise.all([api.start(), cdn.start(), gateway.start()]);
+ await Promise.all([
+ api.start(),
+ cdn.start(),
+ gateway.start(),
+ activitypub.start(),
+ ]);
Sentry.errorHandler(app);
diff --git a/src/util/config/Config.ts b/src/util/config/Config.ts
index 90b98b7a..0b3a4152 100644
--- a/src/util/config/Config.ts
+++ b/src/util/config/Config.ts
@@ -38,6 +38,7 @@ import {
SentryConfiguration,
TemplateConfiguration,
} from "../config";
+import { FederationConfiguration } from "./types/FederationConfiguration";
export class ConfigValue {
gateway: EndpointConfiguration = new EndpointConfiguration();
@@ -61,4 +62,5 @@ export class ConfigValue {
email: EmailConfiguration = new EmailConfiguration();
passwordReset: PasswordResetConfiguration =
new PasswordResetConfiguration();
+ federation = new FederationConfiguration();
}
diff --git a/src/util/config/types/FederationConfiguration.ts b/src/util/config/types/FederationConfiguration.ts
new file mode 100644
index 00000000..b04388fd
--- /dev/null
+++ b/src/util/config/types/FederationConfiguration.ts
@@ -0,0 +1,5 @@
+export class FederationConfiguration {
+ enabled: boolean = false;
+ localDomain: string | null = null;
+ webDomain: string | null = null;
+}
diff --git a/src/util/schemas/responses/WebfingerResponse.ts b/src/util/schemas/responses/WebfingerResponse.ts
new file mode 100644
index 00000000..a3186a03
--- /dev/null
+++ b/src/util/schemas/responses/WebfingerResponse.ts
@@ -0,0 +1,12 @@
+interface WebfingerLink {
+ rel: string;
+ type: string;
+ href: string;
+ template?: string;
+}
+
+export interface WebfingerResponse {
+ subject: string;
+ aliases: string[];
+ links: WebfingerLink[];
+}
diff --git a/src/util/schemas/responses/index.ts b/src/util/schemas/responses/index.ts
index d8b7fd57..66b9986b 100644
--- a/src/util/schemas/responses/index.ts
+++ b/src/util/schemas/responses/index.ts
@@ -28,7 +28,8 @@ export * from "./TypedResponses";
export * from "./UpdatesResponse";
export * from "./UserNoteResponse";
export * from "./UserProfileResponse";
-export * from "./UserRelationshipsResponse";
export * from "./UserRelationsResponse";
+export * from "./UserRelationshipsResponse";
export * from "./WebAuthnCreateResponse";
+export * from "./WebfingerResponse";
export * from "./WebhookCreateResponse";
diff --git a/tsconfig.json b/tsconfig.json
index 63b5e96c..1ced0e3c 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -37,7 +37,8 @@
"@spacebar/api*": ["./api"],
"@spacebar/gateway*": ["./gateway"],
"@spacebar/cdn*": ["./cdn"],
- "@spacebar/util*": ["./util"]
+ "@spacebar/util*": ["./util"],
+ "@spacebar/ap*": ["./activitypub"]
} /* Specify a set of entries that re-map imports to additional lookup locations. */,
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
|