at.marque.partner.checkAvailability

marque.at

{
  "id": "at.marque.partner.checkAvailability",
  "defs": {
    "main": {
      "type": "query",
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "results"
          ],
          "properties": {
            "results": {
              "type": "array",
              "items": {
                "ref": "#result",
                "type": "ref"
              }
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "required": [
          "domains"
        ],
        "properties": {
          "domains": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 253
            },
            "maxLength": 500,
            "minLength": 1,
            "description": "Fully qualified domain names to check, e.g. example.com."
          }
        }
      },
      "description": "Check up to 500 domains at once. Call it proxied through the user's PDS (atproto-proxy: did:web:marque.at:api#marque_registrar) with an at.marque.partnerApi-scoped token. Each result carries its own error field, so a single bad domain does not fail the batch. Prices are in whole US dollars and are indicative; the binding amount is set when createCheckout builds the Stripe session. Premium domains are flagged with isPremium and priced via premiumPrice."
    },
    "result": {
      "type": "object",
      "required": [
        "domain",
        "available"
      ],
      "properties": {
        "error": {
          "type": "string",
          "description": "Per-domain error, e.g. invalid format or unsupported TLD."
        },
        "price": {
          "type": "integer",
          "description": "Registration price per year, in whole US dollars."
        },
        "domain": {
          "type": "string",
          "maxLength": 253
        },
        "status": {
          "type": "string",
          "description": "Registry status when not available, e.g. active.",
          "knownValues": [
            "active",
            "free",
            "premium"
          ]
        },
        "available": {
          "type": "boolean",
          "description": "Whether the domain is available to register."
        },
        "isPremium": {
          "type": "boolean"
        },
        "maxPeriod": {
          "type": "integer",
          "description": "Maximum registration period in years."
        },
        "minPeriod": {
          "type": "integer",
          "description": "Minimum registration period in years."
        },
        "renewPrice": {
          "type": "integer",
          "description": "Renewal price per year, in whole US dollars."
        },
        "premiumPrice": {
          "type": "integer",
          "description": "Premium registration price, in whole US dollars, when isPremium is true."
        },
        "transferPrice": {
          "type": "integer",
          "description": "Transfer price, in whole US dollars."
        },
        "transferAddsYear": {
          "type": "boolean"
        },
        "whoisPrivacyAllowed": {
          "type": "boolean"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Check availability and pricing for a batch of domains, for partner integrations."
}

Validate Record

Validate a record against at.marque.partner.checkAvailability

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:nckosudltxrtrjkt4zz4jy5y
CID
bafyreidvskflipottj3qmnthozrcafcdadhzdyhrnryohtne6dc5rfxz7e
Indexed At
2026-06-16 14:45 UTC
AT-URI
at://did:plc:nckosudltxrtrjkt4zz4jy5y/com.atproto.lexicon.schema/at.marque.partner.checkAvailability

Version History (3 versions)

Lexicon Garden

@