at.marque.partner.getOrder

marque.at

Schema Diff

+5 -0

From

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

To

CID
bafyreicayaoo3ko...
Indexed At
2026-08-23 03:47 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "at.marque.partner.getOrder:output.checkoutUrl" }
  • AddedEdge AddedEdge { src: "at.marque.partner.getOrder:output", tgt: "at.marque.partner.getOrder:output.checkoutUrl", kind: "prop", name: Some("checkoutUrl") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "at.marque.partner.getOrder:output.checkoutUrl" }

Additional Notes

  • Non-breaking: AddedEdge { src: "at.marque.partner.getOrder:output", tgt: "at.marque.partner.getOrder:output.checkoutUrl", kind: "prop", name: Some("checkoutUrl") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "item": {
5 5
      "properties": {
6 6
        "domain": {
7 7
          "description": "The fully qualified domain name.",
8 8
          "maxLength": 253,
9 9
          "type": "string"
10 10
        },
11 11
        "expiresAt": {
12 12
          "description": "When the registration expires. Present once the item is active. Write this into the at.marque.domain record.",
13 13
          "format": "datetime",
14 14
          "type": "string"
15 15
        },
16 16
        "nameServers": {
17 17
          "description": "Authoritative nameservers assigned to the domain. Present once the item is active.",
18 18
          "items": {
19 19
            "maxLength": 253,
20 20
            "type": "string"
21 21
          },
22 22
          "type": "array"
23 23
        },
24 24
        "registeredAt": {
25 25
          "description": "When the domain was registered upstream. Present once the item is active.",
26 26
          "format": "datetime",
27 27
          "type": "string"
28 28
        },
29 29
        "status": {
30 30
          "description": "Per-domain provisioning status. pending: not yet registered. active: registered successfully. failed: registration failed for this domain.",
31 31
          "knownValues": [
32 32
            "pending",
33 33
            "active",
34 34
            "failed"
35 35
          ],
36 36
          "type": "string"
37 37
        }
38 38
      },
39 39
      "required": [
40 40
        "domain",
41 41
        "status"
42 42
      ],
43 43
      "type": "object"
44 44
    },
45 45
    "main": {
46 46
      "description": "Poll an order created by createCheckout. Call it proxied through the user's PDS (atproto-proxy: did:web:marque.at#marque_registrar) with an at.marque.partnerApi-scoped token; only orders owned by the authenticated user (the JWT iss) are returned. Status flows awaitingPayment (user has not finished paying) -> paid -> provisioning -> provisioned (or failed). Poll every few seconds until provisioned or failed. Once provisioned, each item carries the registeredAt, expiresAt, and nameServers the partner needs to write the at.marque.domain and at.marque.dns records into the user's repository. Individual items can be failed even when the order is provisioned (a partial failure); check each item's status.",
47 47
      "errors": [
48 48
        {
49 49
          "description": "No order with that id is owned by the authenticated user.",
50 50
          "name": "NotFound"
51 51
        }
52 52
      ],
53 53
      "output": {
54 54
        "encoding": "application/json",
55 55
        "schema": {
56 56
          "properties": {
57 +
            "checkoutUrl": {
58 +
              "description": "Hosted payment URL. Present while status is awaitingPayment so a partner can resume an interrupted checkout.",
59 +
              "format": "uri",
60 +
              "type": "string"
61 +
            },
57 62
            "error": {
58 63
              "description": "Failure reason when status is failed.",
59 64
              "type": "string"
60 65
            },
61 66
            "items": {
62 67
              "description": "One entry per domain in the order, in the order submitted to createCheckout.",
63 68
              "items": {
64 69
                "ref": "#item",
65 70
                "type": "ref"
66 71
              },
67 72
              "type": "array"
68 73
            },
69 74
            "orderId": {
70 75
              "description": "Echoes the requested order id.",
71 76
              "type": "string"
72 77
            },
73 78
            "status": {
74 79
              "description": "Overall order status. awaitingPayment: the user has not completed Stripe checkout. paid: payment captured, registration queued. provisioning: registering with the registry. provisioned: all domains registered (individual items may still be failed). failed: the order could not be provisioned.",
75 80
              "knownValues": [
76 81
                "awaitingPayment",
77 82
                "paid",
78 83
                "provisioning",
79 84
                "provisioned",
80 85
                "failed"
81 86
              ],
82 87
              "type": "string"
83 88
            }
84 89
          },
85 90
          "required": [
86 91
            "orderId",
87 92
            "status",
88 93
            "items"
89 94
          ],
90 95
          "type": "object"
91 96
        }
92 97
      },
93 98
      "parameters": {
94 99
        "properties": {
95 100
          "orderId": {
96 101
            "description": "The order id returned by createCheckout.",
97 102
            "type": "string"
98 103
          }
99 104
        },
100 105
        "required": [
101 106
          "orderId"
102 107
        ],
103 108
        "type": "params"
104 109
      },
105 110
      "type": "query"
106 111
    }
107 112
  },
108 113
  "description": "Get the status of a partner checkout order and the resulting domain details.",
109 114
  "id": "at.marque.partner.getOrder",
110 115
  "lexicon": 1
111 116
}

Compare Other Versions

Lexicon Garden

@