space.highport.manage.register

lexicons.highport.space

Documentation

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.

main procedure

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

Encodingapplication/json
domain string Required

No description available.

maxLength: 253 bytes
space 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

Encodingapplication/json
domain 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).

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.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
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."
}

Lexicon Garden

@