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.
Input
application/jsondomain
string
Required
No description available.
maxLength: 253 bytesspace
stringat-uri
Optional
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.
Output
application/jsondomain
string
Required
No description available.
expiresAt
stringdatetime
Required
An unverified registration is released after this time.
records
array
Required
No description available.
space
stringat-uri
Optional
An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).
status
refspace.highport.defs#domainStatus
Required
No description available.
Errors
InvalidDomain
Not a valid, non-reserved, public-suffix-safe domain. DomainTaken
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. DomainDenied
The domain is on the operator denylist. QuotaExceeded
This DID has reached its domain limit. AlreadyRegistered
Already registered to this DID. Use getDomain to get the instructions again. SpaceNotFound
Bard is not connected to that space. Call connectSpace first. NotSpaceAuthority
Only the space's authority may register a domain to it. SpaceNotSynced
Registered, but bard cannot read the space right now, so the domain will not serve until it can. DomainDelegated
The domain is under a delegation base. Only the base's owner can hand out names there, with reserveDomain. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"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."
}