space.highport.manage.reserveDomain

lexicons.highport.space

{
  "id": "space.highport.manage.reserveDomain",
  "defs": {
    "main": {
      "type": "procedure",
      "input": {
        "schema": {
          "type": "object",
          "required": [
            "hostname",
            "subject"
          ],
          "properties": {
            "subject": {
              "type": "string",
              "format": "did",
              "description": "The identity the name is reserved for. Without genesisOp it is checked for syntax only: it need not resolve, and its DID document need not name the hostname yet."
            },
            "hostname": {
              "type": "string",
              "maxLength": 253,
              "description": "A name exactly one label under a delegation-enabled base the caller owns."
            },
            "genesisOp": {
              "type": "unknown",
              "description": "Optional proof for a did:plc subject: its signed genesis operation, as submitted to a PLC directory. Verified offline, without resolving anything. The call is refused with InvalidSubject unless the operation is a genesis operation (prev is null) that hashes to the subject, is signed by one of its own rotation keys, and lists at://<hostname> in alsoKnownAs. A subject that is not a did:plc cannot carry one."
            }
          }
        },
        "encoding": "application/json"
      },
      "errors": [
        {
          "name": "InvalidDomain",
          "description": "Not a syntactically valid, non-reserved domain."
        },
        {
          "name": "DomainDenied",
          "description": "The hostname or the subject is on the operator denylist."
        },
        {
          "name": "NotBaseOwner",
          "description": "The name is not under a delegation-enabled base whose verified or active registration belongs to the caller."
        },
        {
          "name": "DomainTaken",
          "description": "A proven registration of this name exists, including one the base owner made the ordinary way; release it first."
        },
        {
          "name": "DelegationNotVerified",
          "description": "The base's wildcard has not been shown to route to this service: its delegation probe has not passed yet, or the base's routing has lapsed. The message names the probe hostname and the *.<base> record to publish or restore. The name being reserved is never resolved."
        },
        {
          "name": "InvalidSubject",
          "description": "The subject is not a well-formed did:plc or did:web, or is a did:web rooted at the hostname being reserved, or a genesisOp was given that does not prove the subject. The message says which rule failed."
        },
        {
          "name": "DelegatedNameTooDeep",
          "description": "The name is more than one label under the base. A wildcard covers exactly one label, so a deeper name could never complete a handshake."
        },
        {
          "name": "DelegationQuotaExceeded",
          "description": "The base already holds its maxNames reservations."
        }
      ],
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "hostname",
            "status",
            "subject"
          ],
          "properties": {
            "status": {
              "ref": "space.highport.defs#domainStatus",
              "type": "ref"
            },
            "subject": {
              "type": "string",
              "format": "did"
            },
            "hostname": {
              "type": "string"
            }
          }
        },
        "encoding": "application/json"
      },
      "description": "Reserve a name directly under a delegation-enabled base for another identity. The name answers /.well-known/atproto-did with the subject before the subject has published anything, and the subject may then publish a site there. The caller must be the base's registered identity. An unproven claim on the name, held by any identity, is replaced. A reservation has no expiry: it is held for as long as the base is."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against space.highport.manage.reserveDomain

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:ciygg5hma4q7ah2kxaszkyob
CID
bafyreid6coiwyxef2lg6ti2xg74gmbeucpx5f3kh5ljilimalg6ualxvna
Indexed At
2026-09-15 17:46 UTC
AT-URI
at://did:plc:ciygg5hma4q7ah2kxaszkyob/com.atproto.lexicon.schema/space.highport.manage.reserveDomain

Version History (4 versions)

Referenced Schemas (1)

Lexicon Garden

@