{
"id": "space.highport.manage.enableDelegation",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"description": "The base: a domain registered to the caller."
},
"maxNames": {
"type": "integer",
"minimum": 1,
"description": "The most names the base may hold in reservation. Omitted, the deployment's default applies; a value above the deployment's ceiling is refused."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "InvalidDomain",
"description": "Not a syntactically valid domain."
},
{
"name": "NotBaseOwner",
"description": "No verified or active registration of that domain belongs to the caller."
},
{
"name": "DelegationUnsupported",
"description": "The domain cannot delegate names: it is registered to a space, it is a domain this deployment provides or a name under one, it was itself handed out under a base, or it sits above or beneath a domain whose delegation is not off. Delegation bases do not nest."
},
{
"name": "MaxNamesAboveLimit",
"description": "maxNames is above the most names this deployment lets one base hold."
},
{
"name": "CaaForbidsIssuance",
"description": "The base's CAA records do not permit this deployment's certificate issuer, account, or challenge method. The message names the record in the way."
}
],
"output": {
"schema": {
"type": "object",
"required": [
"domain",
"records",
"status"
],
"properties": {
"domain": {
"type": "string"
},
"status": {
"ref": "space.highport.defs#delegationState",
"type": "ref"
},
"records": {
"type": "array",
"items": {
"ref": "space.highport.defs#dnsInstruction",
"type": "ref"
},
"description": "The DNS records delegation asks for: the wildcard traffic record."
},
"probeHostname": {
"type": "string",
"maxLength": 253,
"description": "The random name under the base through which the wildcard is proven to route. Absent while the base has no probe."
}
}
},
"encoding": "application/json"
},
"description": "Declare a registered domain a delegation base, so its owner can reserve names directly under it for other identities, and obtain the wildcard traffic record that routes those names. The caller must be the base's registered identity, and the base must be verified or active."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}