space.highport.manage.setCertificateMode

lexicons.highport.space

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Choose how names under a proven base get certificates. wildcard lets this service get one wildcard certificate for the base over DNS-01, through the base's own challenge target, and returns the record that delegates it. per-name ends that grant. The caller must own the base, which must be verified or active. Delegation does not need to be enabled.",
      "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": "mode is wildcard and acknowledgeCertificateGrant is not true.",
          "name": "CertificateGrantNotAcknowledged"
        },
        {
          "description": "No wildcard certificate is offered for this domain: it is a name delegated under another base, it is under a base offered to anyone without DNS proof, or the deployment has no challenge zone. The error message says which.",
          "name": "WildcardNotOffered"
        },
        {
          "description": "The base's CAA records block this mode. For wildcard, issuewild (or issue, if there is no issuewild) must allow this deployment's issuer, account and DNS-01. For either mode, issue records must not limit this issuer to DNS-01, because the probe and per-name certificates cannot use it. The error message names the blocking record.",
          "name": "CaaForbidsIssuance"
        },
        {
          "description": "A new wildcard grant was requested during the deployment's cooldown after the base's last grant or ending, or while its previous wildcard is still being retired. Ending a grant is never limited.",
          "name": "RateLimitExceeded"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "acknowledgeCertificateGrant": {
              "description": "Must be true for wildcard. While the base's _acme-challenge record points at the challenge target, this service can get a publicly trusted certificate for the base and every name in its zone. Removing that record ends the grant.",
              "type": "boolean"
            },
            "domain": {
              "description": "The base: a domain registered to the caller.",
              "maxLength": 253,
              "type": "string"
            },
            "mode": {
              "description": "per-name: one certificate per name, ending any wildcard grant. wildcard: grant this service a wildcard certificate for the base. A new grant after an earlier one ended gets a new challenge target.",
              "knownValues": [
                "per-name",
                "wildcard"
              ],
              "type": "string"
            }
          },
          "required": [
            "domain",
            "mode"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "domain": {
              "type": "string"
            },
            "mode": {
              "knownValues": [
                "per-name",
                "wildcard"
              ],
              "type": "string"
            },
            "records": {
              "description": "For wildcard, one record: the base's _acme-challenge CNAME pointing at its challenge target, with purpose certificate. Empty for per-name.",
              "items": {
                "ref": "space.highport.defs#dnsInstruction",
                "type": "ref"
              },
              "type": "array"
            },
            "verified": {
              "description": "Whether the record this mode needs is in place. For wildcard, false until the base's _acme-challenge record is found pointing at its challenge target. Always true for per-name, which needs no record.",
              "type": "boolean"
            }
          },
          "required": [
            "domain",
            "mode",
            "records",
            "verified"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "space.highport.manage.setCertificateMode",
  "lexicon": 1
}

Validate Record

Validate a record against space.highport.manage.setCertificateMode

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:ciygg5hma4q7ah2kxaszkyob
CID
bafyreidt7voqlfd7jlybbim7y7doqppsfcbfn6a5xcqy2pit4edrgn5sli
Indexed At
2026-09-17 17:51 UTC
AT-URI
at://did:plc:ciygg5hma4q7ah2kxaszkyob/com.atproto.lexicon.schema/space.highport.manage.setCertificateMode

Version History (3 versions)

Referenced Schemas (1)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • 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 verifi…

Lexicon Garden

@