{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "labelSetting": {
      "description": "How the viewer sees content carrying one label.",
      "properties": {
        "label": {
          "enum": [
            "nsfw-suggestive",
            "nsfw-explicit",
            "content-warning"
          ],
          "type": "string"
        },
        "mode": {
          "enum": [
            "show",
            "conceal",
            "hide"
          ],
          "type": "string"
        }
      },
      "required": [
        "label",
        "mode"
      ],
      "type": "object"
    },
    "main": {
      "description": "The viewer's own setting for each content label; a label never set is conceal (D91).",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "settings": {
              "items": {
                "ref": "#labelSetting",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "settings"
          ],
          "type": "object"
        }
      },
      "type": "query"
    }
  },
  "id": "us.off-the-clock.getLabelSettings",
  "lexicon": 1
}
