DEV: Add site.json to api docs (#14249)

DEV: Add site.json to api docs (#14249)

Documenting the site.json api endpoint. This endpoint is often used as a way to get all of the categories and subcategories in a single api call.

diff --git a/spec/requests/api/schemas/json/site_response.json b/spec/requests/api/schemas/json/site_response.json
new file mode 100644
index 0000000..2781ff6
--- /dev/null
+++ b/spec/requests/api/schemas/json/site_response.json
@@ -0,0 +1,714 @@
+{
+  "additionalProperties": false,
+  "properties": {
+    "default_archetype": {
+      "type": "string"
+    },
+    "notification_types": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "mentioned": {
+          "type": "integer"
+        },
+        "replied": {
+          "type": "integer"
+        },
+        "quoted": {
+          "type": "integer"
+        },
+        "edited": {
+          "type": "integer"
+        },
+        "liked": {
+          "type": "integer"
+        },
+        "private_message": {
+          "type": "integer"
+        },
+        "invited_to_private_message": {
+          "type": "integer"
+        },
+        "invitee_accepted": {
+          "type": "integer"
+        },
+        "posted": {
+          "type": "integer"
+        },
+        "moved_post": {
+          "type": "integer"
+        },
+        "linked": {
+          "type": "integer"
+        },
+        "granted_badge": {
+          "type": "integer"
+        },
+        "invited_to_topic": {
+          "type": "integer"
+        },
+        "custom": {
+          "type": "integer"
+        },
+        "group_mentioned": {
+          "type": "integer"
+        },
+        "group_message_summary": {
+          "type": "integer"
+        },
+        "watching_first_post": {
+          "type": "integer"
+        },
+        "topic_reminder": {
+          "type": "integer"
+        },
+        "liked_consolidated": {
+          "type": "integer"
+        },
+        "post_approved": {
+          "type": "integer"
+        },
+        "code_review_commit_approved": {
+          "type": "integer"
+        },
+        "membership_request_accepted": {
+          "type": "integer"
+        },
+        "membership_request_consolidated": {
+          "type": "integer"
+        },
+        "bookmark_reminder": {
+          "type": "integer"
+        },
+        "reaction": {
+          "type": "integer"
+        },
+        "votes_released": {
+          "type": "integer"
+        },
+        "event_reminder": {
+          "type": "integer"
+        },
+        "event_invitation": {
+          "type": "integer"
+        },
+        "chat_mention": {
+          "type": "integer"
+        }
+      },
+      "required": [
+        "mentioned",
+        "replied",
+        "quoted",
+        "edited",
+        "liked",
+        "private_message",
+        "invited_to_private_message",
+        "invitee_accepted",
+        "posted",
+        "moved_post",
+        "linked",
+        "granted_badge",
+        "invited_to_topic",
+        "custom",
+        "group_mentioned",
+        "group_message_summary",
+        "watching_first_post",
+        "topic_reminder",
+        "liked_consolidated",
+        "post_approved",
+        "code_review_commit_approved",
+        "membership_request_accepted",
+        "membership_request_consolidated",
+        "bookmark_reminder",
+        "reaction",
+        "votes_released",
+        "event_reminder",
+        "event_invitation",
+        "chat_mention"
+      ]
+    },
+    "post_types": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "regular": {
+          "type": "integer"
+        },
+        "moderator_action": {
+          "type": "integer"
+        },
+        "small_action": {
+          "type": "integer"
+        },
+        "whisper": {
+          "type": "integer"
+        }
+      },
+      "required": [
+        "regular",
+        "moderator_action",
+        "small_action",
+        "whisper"
+      ]
+    },
+    "trust_levels": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "newuser": {
+          "type": "integer"
+        },
+        "basic": {
+          "type": "integer"
+        },
+        "member": {
+          "type": "integer"
+        },
+        "regular": {
+          "type": "integer"
+        },
+        "leader": {
+          "type": "integer"
+        }
+      },
+      "required": [
+        "newuser",
+        "basic",
+        "member",
+        "regular",
+        "leader"
+      ]
+    },
+    "groups": {
+      "type": "array",
+      "items": [
+        {
+          "type": "object",
+          "additionalProperties": false,
+          "properties": {
+            "id": {
+              "type": "integer"
+            },
+            "name": {
+              "type": "string"
+            },
+            "flair_url": {
+              "type": [
+                "string",
+                "null"
+              ]
+            },
+            "flair_bg_color": {
+              "type": [
+                "string",
+                "null"
+              ]
+            },
+            "flair_color": {
+              "type": [
+                "string",
+                "null"
+              ]
+            }
+          },
+          "required": [
+            "id",
+            "name",
+            "flair_url",
+            "flair_bg_color",
+            "flair_color"
+          ]
+        }
+      ]
+    },
+    "filters": {
+      "type": "array",
+      "items": [
+
+      ]
+    },
+    "periods": {
+      "type": "array",
+      "items": [
+
+      ]
+    },
+    "top_menu_items": {
+      "type": "array",
+      "items": [
+
+      ]
+    },
+    "anonymous_top_menu_items": {
+      "type": "array",
+      "items": [
+
+      ]
+    },
+    "uncategorized_category_id": {
+      "type": "integer"
+    },
+    "user_field_max_length": {
+      "type": "integer"
+    },
+    "post_action_types": {
+      "type": "array",
+      "items": [
+        {
+          "type": "object",
+          "additionalProperties": false,
+          "properties": {
+            "id": {
+              "type": "integer"
+            },
+            "name_key": {
+              "type": "string"
+            },
+            "name": {
+              "type": "string"
+            },
+            "description": {
+              "type": "string"
+            },
+            "short_description": {
+              "type": "string"
+            },
+            "is_flag": {
+              "type": "boolean"
+            },
+            "is_custom_flag": {
+              "type": "boolean"
+            }
+          },
+          "required": [
+            "id",
+            "name_key",
+            "name",
+            "description",
+            "short_description",
+            "is_flag",
+            "is_custom_flag"
+          ]
+        }
+      ]
+    },
+    "topic_flag_types": {
+      "type": "array",
+      "items": [
+        {
+          "type": "object",
+          "additionalProperties": false,
+          "properties": {
+            "id": {
+              "type": "integer"
+            },
+            "name_key": {
+              "type": "string"
+            },
+            "name": {
+              "type": "string"
+            },
+            "description": {
+              "type": "string"
+            },
+            "short_description": {
+              "type": "string"
+            },
+            "is_flag": {
+              "type": "boolean"
+            },
+            "is_custom_flag": {
+              "type": "boolean"
+            }
+          },
+          "required": [
+            "id",
+            "name_key",
+            "name",
+            "description",
+            "short_description",
+            "is_flag",
+            "is_custom_flag"
+          ]
+        }
+      ]
+    },
+    "can_create_tag": {
+      "type": "boolean"
+    },
+    "can_tag_topics": {
+      "type": "boolean"
+    },
+    "can_tag_pms": {
+      "type": "boolean"
+    },
+    "tags_filter_regexp": {

[... diff too long, it was truncated ...]

GitHub sha: c6bcf1f06c724e3c1ab2aeca2146d00e21f2db1a

This commit appears in #14249 which was approved by CvX. It was merged by blake.