{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/sitey-my/json-schema/sitey-my-subdomain-schema.json",
  "title": "Subdomain",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sitey-my-openapi.json#/components/schemas/Subdomain",
  "type": "object",
  "properties": {
    "subdomain": {
      "type": "string"
    },
    "domain": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "enum": [
        "A",
        "CNAME",
        "REDIRECT"
      ],
      "description": "A for an IP address, CNAME for a hostname, REDIRECT for an https:// URL — every visit to the name is answered 301 to that URL, so it needs no server of your own. Nothing else is written. The limit, the lease and the TXT rules apply to a REDIRECT exactly as to an A or CNAME."
    },
    "value": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "hits": {
      "type": "object",
      "description": "REDIRECT records only. A and CNAME name a destination the visitor reaches straight from DNS, so no request of theirs passes through this service and there is nothing here to count — the field is absent rather than zero, because zero would read as nobody having come. Counts are batched in memory for a few seconds before being written, so the newest visits may not be in the number yet.",
      "properties": {
        "total": {
          "type": "integer",
          "description": "Every visit since counting began."
        },
        "this_month": {
          "type": "integer",
          "description": "Visits since the 1st of the current calendar month in Asia/Seoul, which is the timezone every day here is counted in."
        },
        "last_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "description": "The most recent visit, or null if there has not been one."
        }
      }
    }
  }
}