space.highport.manage.register
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Register a domain to the calling identity — or, with space, to a space the caller is the authority of — and obtain the DNS records needed to prove ownership and route traffic.",
"errors": [
{
"description": "Not a syntactically valid, non-reserved, public-suffix-safe domain.",
"name": "InvalidDomain"
},
{
"description": "The domain is held and cannot be taken: registered to a different DID and proven (verified or active) or suspended; reserved under a base for a different DID and not released; or released with its wildcard certificate grant still being retired, which refuses every DID, the previous holder included, until the retirement finishes.",
"name": "DomainTaken"
},
{
"description": "On the operator denylist.",
"name": "DomainDenied"
},
{
"description": "This DID has reached its domain limit.",
"name": "QuotaExceeded"
},
{
"description": "Already registered to this DID; use getDomain to retrieve instructions.",
"name": "AlreadyRegistered"
},
{
"description": "Bard is not connected to that space; call connectSpace first.",
"name": "SpaceNotFound"
},
{
"description": "Only the space's authority may register a domain to it.",
"name": "NotSpaceAuthority"
},
{
"description": "Registered, but bard cannot currently read the space, so the domain will not serve until it can.",
"name": "SpaceNotSynced"
},
{
"description": "The domain is under a delegation base, whose names only the base's owner may register; the base's owner reserves them for other identities with reserveDomain.",
"name": "DomainDelegated"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"domain": {
"maxLength": 253,
"type": "string"
},
"space": {
"description": "Register the domain to a space bard is connected to rather than to the caller's public repo. The caller must be the space's authority.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"domain": {
"type": "string"
},
"expiresAt": {
"description": "After this time an unverified registration is released.",
"format": "datetime",
"type": "string"
},
"records": {
"items": {
"ref": "space.highport.defs#dnsInstruction",
"type": "ref"
},
"type": "array"
},
"space": {
"format": "at-uri",
"type": "string"
},
"status": {
"ref": "space.highport.defs#domainStatus",
"type": "ref"
}
},
"required": [
"domain",
"status",
"records",
"expiresAt"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "space.highport.manage.register",
"lexicon": 1
}
Metadata
- DID
-
did:plc:ciygg5hma4q7ah2kxaszkyob - CID
-
bafyreibmapgjglr6q24to4m2idlank52zwtg2sy6i7ilzxdlldgqfh2oy4 - Indexed At
- 2026-09-17 13:00 UTC
- AT-URI
-
at://did:plc:ciygg5hma4q7ah2kxaszkyob/com.atproto.lexicon.schema/space.highport.manage.register
Version History (4 versions)
Referenced Schemas (2)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
space.highport.manage.reserveDomain procedure
Reserve a name directly under a delegation base for another identity. The name answers /.well-known/atproto-did with the subject right away, and the subject can then publish a site there. The caller must own the base. A…
-
Everything a client needs to onboard one domain: registration state, DNS records to publish, last verification result, and certificate state. This is the endpoint to poll.
-
space.highport.manage.enableDelegation procedure
Make a registered domain a delegation base, so its owner can reserve names directly under it for other identities. Returns the wildcard record that routes those names. The caller must own the base, and it must be verifi…
-
Look up which identity and record serve a domain. Useful for checking who owns a site.
-
Claim a custom domain for the authenticated DID. Returns DNS setup instructions.