{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Set one per-identity quota for one DID, replacing the deployment default for that identity, or clear the override so the default applies again. A lowered count refuses the next creation and takes nothing away; a bandwidth change also applies to the current month.",
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "did": {
              "format": "did",
              "type": "string"
            },
            "quota": {
              "knownValues": [
                "sites",
                "tiles",
                "tileBytes",
                "spaces",
                "maxBlobBytes",
                "monthlyBandwidthBytes"
              ],
              "type": "string"
            },
            "reason": {
              "description": "Why, for whoever reads getQuota next.",
              "maxLength": 1000,
              "type": "string"
            },
            "value": {
              "description": "The new limit: a count for sites, tiles and spaces, bytes for tileBytes, maxBlobBytes and monthlyBandwidthBytes. Absent clears the override.",
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "did",
            "quota"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "did": {
              "format": "did",
              "type": "string"
            },
            "quotas": {
              "items": {
                "ref": "space.highport.admin.getQuota#quotaView",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "did",
            "quotas"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "space.highport.admin.setQuota",
  "lexicon": 1
}
