space.highport.manage.enableDelegation

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 verified or active.

Details · procedure
Kindprocedure
Authoritymanage.highport.space
Indexed
cid bafyreidrmp3q5kvr33x3z7fvk44b5vvswt5j3by6fa327bbomdxs7k7p6i

Checks

Valid
  • unlimited-string defs.main.output.schema.properties.domainNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "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 verified or active.",
      "errors": [
        {
          "description": "Not a syntactically valid domain.",
          "name": "InvalidDomain"
        },
        {
          "description": "No verified or active registration of that domain belongs to the caller.",
          "name": "NotBaseOwner"
        },
        {
          "description": "This domain cannot be a delegation base. It is registered to a space, is a domain this deployment provides or a name under one, was itself handed out under a base, or sits above or below a domain with delegation turned on. Bases do not nest.",
          "name": "DelegationUnsupported"
        },
        {
          "description": "maxNames is above this deployment's per-base limit.",
          "name": "MaxNamesAboveLimit"
        },
        {
          "description": "The base's CAA records do not allow this deployment's certificate issuer, account, or challenge method. The error message names the blocking record.",
          "name": "CaaForbidsIssuance"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "domain": {
              "description": "The base: a domain registered to the caller.",
              "maxLength": 253,
              "type": "string"
            },
            "maxNames": {
              "description": "The most names the base can reserve. Defaults to the deployment's setting; a value above the deployment's ceiling is refused.",
              "minimum": 1,
              "type": "integer"
            }
          },
          "required": [
            "domain"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "domain": {
              "type": "string"
            },
            "probeHostname": {
              "description": "A random name under the base, used to prove the wildcard routes. Absent while the base has no probe.",
              "maxLength": 253,
              "type": "string"
            },
            "records": {
              "description": "The DNS records to publish: the wildcard traffic record.",
              "items": {
                "ref": "space.highport.defs#dnsInstruction",
                "type": "ref"
              },
              "type": "array"
            },
            "status": {
              "ref": "space.highport.defs#delegationState",
              "type": "ref"
            }
          },
          "required": [
            "domain",
            "records",
            "status"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "space.highport.manage.enableDelegation",
  "lexicon": 1
}