at.marque.partner.checkAvailability

marque.at

Schema Diff

+20 -15

From

CID
bafyreidvskflipo...
Indexed At
2026-06-16 14:45 UTC
View this version

To

CID
bafyreifb6vvgzcw...
Indexed At
2026-06-16 20:35 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "id": "at.marque.partner.checkAvailability",
3 3
  "defs": {
4 4
    "main": {
5 5
      "type": "query",
6 6
      "output": {
7 7
        "schema": {
8 8
          "type": "object",
9 9
          "required": [
10 10
            "results"
11 11
          ],
12 12
          "properties": {
13 13
            "results": {
14 14
              "type": "array",
15 15
              "items": {
16 16
                "ref": "#result",
17 17
                "type": "ref"
18 -
              }
18 +
              },
19 +
              "description": "One result per domain, in request order; blank entries are skipped."
19 20
            }
20 21
          }
21 22
        },
22 23
        "encoding": "application/json"
23 24
      },
24 25
      "parameters": {
25 26
        "type": "params",
26 27
        "required": [
27 28
          "domains"
28 29
        ],
29 30
        "properties": {
30 31
          "domains": {
31 32
            "type": "array",
32 33
            "items": {
33 34
              "type": "string",
34 35
              "maxLength": 253
35 36
            },
36 37
            "maxLength": 500,
37 38
            "minLength": 1,
38 39
            "description": "Fully qualified domain names to check, e.g. example.com."
39 40
          }
40 41
        }
41 42
      },
42 -
      "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."
43 +
      "description": "Check up to 500 domains at once. Call it proxied through the user's PDS (atproto-proxy: did:web:marque.at#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."
43 44
    },
44 45
    "result": {
45 46
      "type": "object",
46 47
      "required": [
47 48
        "domain",
48 49
        "available"
49 50
      ],
50 51
      "properties": {
51 52
        "error": {
52 53
          "type": "string",
53 -
          "description": "Per-domain error, e.g. invalid format or unsupported TLD."
54 +
          "description": "Per-domain failure reason when the domain could not be checked or priced, e.g. invalid format, unsupported TLD, or not available via the registrar. When set, the pricing fields are absent or zero."
54 55
        },
55 56
        "price": {
56 57
          "type": "integer",
57 -
          "description": "Registration price per year, in whole US dollars."
58 +
          "description": "Registration price per year, in whole US dollars. Absent for unavailable or errored domains."
58 59
        },
59 60
        "domain": {
60 61
          "type": "string",
61 -
          "maxLength": 253
62 +
          "maxLength": 253,
63 +
          "description": "The fully qualified domain name that was checked, lowercased."
62 64
        },
63 65
        "status": {
64 66
          "type": "string",
65 -
          "description": "Registry status when not available, e.g. active.",
67 +
          "description": "Registry status of the domain: free (available), premium (available at a premium price), or active (already registered, not available). Absent when the domain could not be checked (see error).",
66 68
          "knownValues": [
67 -
            "active",
68 69
            "free",
69 -
            "premium"
70 +
            "premium",
71 +
            "active"
70 72
          ]
71 73
        },
72 74
        "available": {
73 75
          "type": "boolean",
74 -
          "description": "Whether the domain is available to register."
76 +
          "description": "Whether the domain can be registered now. True when status is free or premium."
75 77
        },
76 78
        "isPremium": {
77 -
          "type": "boolean"
79 +
          "type": "boolean",
80 +
          "description": "Whether this is a premium domain, priced individually by the registry rather than at the standard TLD price."
78 81
        },
79 82
        "maxPeriod": {
80 83
          "type": "integer",
81 -
          "description": "Maximum registration period in years."
84 +
          "description": "Maximum registration period in years for this TLD."
82 85
        },
83 86
        "minPeriod": {
84 87
          "type": "integer",
85 -
          "description": "Minimum registration period in years."
88 +
          "description": "Minimum registration period in years for this TLD."
86 89
        },
87 90
        "renewPrice": {
88 91
          "type": "integer",
89 92
          "description": "Renewal price per year, in whole US dollars."
90 93
        },
91 94
        "premiumPrice": {
92 95
          "type": "integer",
93 96
          "description": "Premium registration price, in whole US dollars, when isPremium is true."
94 97
        },
95 98
        "transferPrice": {
96 99
          "type": "integer",
97 -
          "description": "Transfer price, in whole US dollars."
100 +
          "description": "Transfer price, in whole US dollars. 0 when transferring this TLD does not cost a registration period."
98 101
        },
99 102
        "transferAddsYear": {
100 -
          "type": "boolean"
103 +
          "type": "boolean",
104 +
          "description": "Whether transferring this TLD adds a year of registration (and so is charged)."
101 105
        },
102 106
        "whoisPrivacyAllowed": {
103 -
          "type": "boolean"
107 +
          "type": "boolean",
108 +
          "description": "Whether WHOIS privacy can be enabled for this TLD at registration."
104 109
        }
105 110
      }
106 111
    }
107 112
  },
108 113
  "$type": "com.atproto.lexicon.schema",
109 114
  "lexicon": 1,
110 115
  "description": "Check availability and pricing for a batch of domains, for partner integrations."
111 116
}

Compare Other Versions

Lexicon Garden

@