place.wisp.v2.domains

wisp.place

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "customRegistration": {
      "description": "Registration metadata for a custom domain.",
      "properties": {
        "challengeId": {
          "description": "Challenge identifier used to derive DNS setup instructions.",
          "maxLength": 64,
          "minLength": 8,
          "type": "string"
        },
        "kind": {
          "const": "custom",
          "type": "string"
        },
        "verification": {
          "ref": "#verification",
          "type": "ref"
        }
      },
      "required": [
        "kind",
        "challengeId",
        "verification"
      ],
      "type": "object"
    },
    "main": {
      "description": "Domain registration metadata for wisp.place subdomains and custom domains.",
      "key": "any",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "domain": {
            "description": "Lowercase FQDN for this registration (for example, alice.wisp.place or example.com).",
            "maxLength": 253,
            "minLength": 3,
            "type": "string"
          },
          "registration": {
            "refs": [
              "#wispRegistration",
              "#customRegistration"
            ],
            "type": "union"
          },
          "siteRkey": {
            "description": "Optional place.wisp.fs record key currently mapped to this domain.",
            "format": "record-key",
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "domain",
          "registration",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "verification": {
      "description": "Latest verification state for a custom domain.",
      "properties": {
        "lastCheckedAt": {
          "format": "datetime",
          "type": "string"
        },
        "lastError": {
          "maxLength": 1000,
          "type": "string"
        },
        "method": {
          "enum": [
            "txt-did-v1"
          ],
          "type": "string"
        },
        "status": {
          "enum": [
            "pending",
            "verified",
            "failed"
          ],
          "type": "string"
        },
        "verifiedAt": {
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "status",
        "method"
      ],
      "type": "object"
    },
    "wispRegistration": {
      "description": "Registration for a first-party subdomain under the wisp.place base host.",
      "properties": {
        "handle": {
          "description": "Subdomain label only (for example, alice).",
          "maxLength": 63,
          "minLength": 3,
          "type": "string"
        },
        "kind": {
          "const": "wisp",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "handle"
      ],
      "type": "object"
    }
  },
  "id": "place.wisp.v2.domains",
  "lexicon": 1
}

Validate Record

Validate a record against place.wisp.v2.domains

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:7puq73yz2hkvbcpdhnsze2qw
CID
bafyreihqts5qqsq3kg5rnkdqqbuehamlfzqb3xfzgswzinrkudgcg6d5q4
Indexed At
2026-05-24 05:17 UTC
AT-URI
at://did:plc:7puq73yz2hkvbcpdhnsze2qw/com.atproto.lexicon.schema/place.wisp.v2.domains

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • place.wisp.v2.domain.getList querynot from the namespace authority

    List domains for the authenticated DID (wisp subdomains + custom).

  • place.wisp.v2.domain.claim procedurenot from the namespace authority

    Claim a custom domain for the authenticated DID. Returns DNS setup instructions.

  • place.wisp.v2.domain.verify procedurenot from the namespace authority

    Run DNS verification for a custom domain owned by the authenticated DID and update its verified status.

  • A domain registration managed by Marque. Stored in the user's repository.

  • place.wisp.v2.site.getDomains querynot from the namespace authority

    List domains currently mapped to a specific site.

Lexicon Garden

@