{
"id": "space.highport.manage.register",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"domain"
],
"properties": {
"space": {
"type": "string",
"format": "at-uri",
"description": "Register the domain to this space instead of the caller's public repo. Bard must be connected to the space, and the caller must be its authority."
},
"domain": {
"type": "string",
"maxLength": 253
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "InvalidDomain",
"description": "Not a valid, non-reserved, public-suffix-safe domain."
},
{
"name": "DomainTaken",
"description": "The domain is taken: registered to a different DID and verified, active or suspended; reserved under a base for a different DID; or released while its wildcard grant is still being retired, which blocks everyone, the previous holder included."
},
{
"name": "DomainDenied",
"description": "The domain is on the operator denylist."
},
{
"name": "QuotaExceeded",
"description": "This DID has reached its domain limit."
},
{
"name": "AlreadyRegistered",
"description": "Already registered to this DID. Use getDomain to get the instructions again."
},
{
"name": "SpaceNotFound",
"description": "Bard is not connected to that space. Call connectSpace first."
},
{
"name": "NotSpaceAuthority",
"description": "Only the space's authority may register a domain to it."
},
{
"name": "SpaceNotSynced",
"description": "Registered, but bard cannot read the space right now, so the domain will not serve until it can."
},
{
"name": "DomainDelegated",
"description": "The domain is under a delegation base. Only the base's owner can hand out names there, with reserveDomain."
}
],
"output": {
"schema": {
"type": "object",
"required": [
"domain",
"status",
"records",
"expiresAt"
],
"properties": {
"space": {
"type": "string",
"format": "at-uri"
},
"domain": {
"type": "string"
},
"status": {
"ref": "space.highport.defs#domainStatus",
"type": "ref"
},
"records": {
"type": "array",
"items": {
"ref": "space.highport.defs#dnsInstruction",
"type": "ref"
}
},
"expiresAt": {
"type": "string",
"format": "datetime",
"description": "An unverified registration is released after this time."
}
}
},
"encoding": "application/json"
},
"description": "Register a domain to the caller, or to a space the caller is the authority of, and get the DNS records needed to prove ownership and route traffic."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}