at.marque.partner.getOrder

marque.at

Schema Diff

+6 -1

From

CID
bafyreihuhu6wg7a...
Indexed At
2026-06-16 14:55 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
  "id": "at.marque.partner.getOrder",
3 3
  "defs": {
4 4
    "item": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "domain",
8 8
        "status"
9 9
      ],
10 10
      "properties": {
11 11
        "domain": {
12 12
          "type": "string",
13 13
          "maxLength": 253,
14 14
          "description": "The fully qualified domain name."
15 15
        },
16 16
        "status": {
17 17
          "type": "string",
18 18
          "description": "Per-domain provisioning status. pending: not yet registered. active: registered successfully. failed: registration failed for this domain.",
19 19
          "knownValues": [
20 20
            "pending",
21 21
            "active",
22 22
            "failed"
23 23
          ]
24 24
        },
25 25
        "expiresAt": {
26 26
          "type": "string",
27 27
          "format": "datetime",
28 28
          "description": "When the registration expires. Present once the item is active. Write this into the at.marque.domain record."
29 29
        },
30 30
        "nameServers": {
31 31
          "type": "array",
32 32
          "items": {
33 33
            "type": "string",
34 34
            "maxLength": 253
35 35
          },
36 36
          "description": "Authoritative nameservers assigned to the domain. Present once the item is active."
37 37
        },
38 38
        "registeredAt": {
39 39
          "type": "string",
40 40
          "format": "datetime",
41 41
          "description": "When the domain was registered upstream. Present once the item is active."
42 42
        }
43 43
      }
44 44
    },
45 45
    "main": {
46 46
      "type": "query",
47 47
      "errors": [
48 48
        {
49 49
          "name": "NotFound",
50 50
          "description": "No order with that id is owned by the authenticated user."
51 51
        }
52 52
      ],
53 53
      "output": {
54 54
        "schema": {
55 55
          "type": "object",
56 56
          "required": [
57 57
            "orderId",
58 58
            "status",
59 59
            "items"
60 60
          ],
61 61
          "properties": {
62 62
            "error": {
63 63
              "type": "string",
64 64
              "description": "Failure reason when status is failed."
65 65
            },
66 66
            "items": {
67 67
              "type": "array",
68 68
              "items": {
69 69
                "ref": "#item",
70 70
                "type": "ref"
71 71
              },
72 72
              "description": "One entry per domain in the order, in the order submitted to createCheckout."
73 73
            },
74 74
            "status": {
75 75
              "type": "string",
76 76
              "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.",
77 77
              "knownValues": [
78 78
                "awaitingPayment",
79 79
                "paid",
80 80
                "provisioning",
81 81
                "provisioned",
82 82
                "failed"
83 83
              ]
84 84
            },
85 85
            "orderId": {
86 86
              "type": "string",
87 87
              "description": "Echoes the requested order id."
88 +
            },
89 +
            "checkoutUrl": {
90 +
              "type": "string",
91 +
              "format": "uri",
92 +
              "description": "Hosted payment URL. Present while status is awaitingPayment so a partner can resume an interrupted checkout."
88 93
            }
89 94
          }
90 95
        },
91 96
        "encoding": "application/json"
92 97
      },
93 98
      "parameters": {
94 99
        "type": "params",
95 100
        "required": [
96 101
          "orderId"
97 102
        ],
98 103
        "properties": {
99 104
          "orderId": {
100 105
            "type": "string",
101 106
            "description": "The order id returned by createCheckout."
102 107
          }
103 108
        }
104 109
      },
105 -
      "description": "Poll an order created by createCheckout. Call it proxied through the user's PDS (atproto-proxy: did:web:marque.at:api#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."
110 +
      "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."
106 111
    }
107 112
  },
108 113
  "$type": "com.atproto.lexicon.schema",
109 114
  "lexicon": 1,
110 115
  "description": "Get the status of a partner checkout order and the resulting domain details."
111 116
}

Compare Other Versions

Lexicon Garden

@