full diff

at.happyproto.server.createInstance

happyproto.at +3 −3
From
bafyreidwgliw6s6i54osalnflyta7v6spfvrnf2bwnwm3j3bcfblvgxfbm indexed 2026-10-31 00:18 UTC View this version
To
bafyreigakakrnhk3yi5bpwuhh645ebm7flak2dqfuka74eiocwxvhrtaka indexed 2026-11-02 16:13 UTC View this version

Compatibility

backward compatible No changes detected.

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "availableVersion": {
55 "description": "A newer HappyView release the instance can upgrade to.",
66 "properties": {
77 "label": {
88 "description": "The HappyView version the release carries, e.g. 3.0.0-alpha.41, when known.",
99 "type": "string"
1010 },
1111 "releasedAt": {
1212 "description": "When HappyProto first offered it.",
1313 "format": "datetime",
1414 "type": "string"
1515 },
1616 "version": {
1717 "description": "The release to pass to at.happyproto.server.upgradeInstance.",
1818 "type": "string"
1919 }
2020 },
2121 "required": [
2222 "version",
2323 "releasedAt"
2424 ],
2525 "type": "object"
2626 },
2727 "instance": {
2828 "description": "A customer's HappyView instance. Never carries the provisioner's placement or internal fields.",
2929 "properties": {
3030 "availableVersion": {
3131 "description": "A newer release, when one is on offer.",
3232 "ref": "#availableVersion",
3333 "type": "ref"
3434 },
3535 "createdAt": {
3636 "format": "datetime",
3737 "type": "string"
3838 },
3939 "id": {
4040 "description": "A UUID.",
4141 "type": "string"
4242 },
4343 "operation": {
4444 "description": "The change in progress, if any.",
4545 "ref": "#operation",
4646 "type": "ref"
4747 },
4848 "plan": {
4949 "description": "The plan's id.",
5050 "type": "string"
5151 },
5252 "slug": {
5353 "type": "string"
5454 },
5555 "state": {
5656 "knownValues": [
5757 "provisioning",
5858 "running",
5959 "stopped",
6060 "failed",
6161 "deleting"
6262 ],
6363 "type": "string"
6464 },
6565 "url": {
6666 "format": "uri",
6767 "type": "string"
6868 },
6969 "version": {
7070 "description": "The HappyView release it runs.",
7171 "type": "string"
7272 },
7373 "versionLabel": {
7474 "description": "The HappyView version the release carries, e.g. 3.0.0-alpha.41, when known.",
7575 "type": "string"
7676 }
7777 },
7878 "required": [
7979 "id",
8080 "slug",
8181 "url",
8282 "plan",
8383 "version",
8484 "state",
8585 "createdAt"
8686 ],
8787 "type": "object"
8888 },
8989 "main": {
9090 "description": "Create an instance for the caller, and start a job that follows its provisioning. Customers only.",
9191 "errors": [
9292 {
9393 "description": "This endpoint requires an authenticated caller.",
9494 "name": "AuthRequired"
9595 },
9696 {
9797 "description": "The caller is not a HappyProto customer, or the provisioner refused them.",
9898 "name": "Forbidden"
9999 },
100100 {
101101 "description": "slug, plan or idempotencyKey is missing or malformed.",
102102 "name": "InvalidRequest"
103103 },
104104 {
105105 "description": "Passed through from the provisioner.",
106106 "name": "NotFound"
107107 },
108108 {
109109 "description": "Passed through from the provisioner: it reserves slugs by configuration as well.",
110110 "name": "InvalidSlug"
111111 },
112112 {
113113 "description": "Passed through from the provisioner.",
114114 "name": "SlugTaken"
115115 },
116116 {
117117 "description": "Passed through from the provisioner.",
118118 "name": "NotEntitled"
119119 },
120120 {
121121 "description": "Passed through from the provisioner.",
122122 "name": "InstanceLimit"
123123 },
124124 {
125125 "description": "Passed through from the provisioner.",
126126 "name": "NoCapacity"
127127 },
128128 {
129129 "description": "Passed through from the provisioner: the instance is already changing, or a request with this idempotencyKey is still running.",
130130 "name": "OperationInProgress"
131131 },
132132 {
133 "description": "The create carried no acceptance of the beta terms, or one without its wording.",
133 "description": "The caller's account hasn't accepted the beta terms (actor.acceptTerms), and the create carried no acceptance of its own, or one without its wording.",
134134 "name": "TermsRequired"
135135 },
136136 {
137 "description": "The accepted terms are no longer the ones in force: reload and accept the current ones.",
137 "description": "The caller accepted only older beta terms than the ones in force: accept the current ones and try again.",
138138 "name": "TermsOutdated"
139139 },
140140 {
141141 "description": "The provisioner is unreachable, not configured, or answered with an error it does not explain to callers, or the job could not be started.",
142142 "name": "Upstream"
143143 }
144144 ],
145145 "input": {
146146 "encoding": "application/json",
147147 "schema": {
148148 "properties": {
149149 "idempotencyKey": {
150150 "description": "A UUID the client generates once per intended change and resends on every retry of it, so a retry gets the original reply instead of acting twice.",
151151 "type": "string"
152152 },
153153 "plan": {
154154 "description": "The plan's id, from at.happyproto.server.listPlans.",
155155 "type": "string"
156156 },
157157 "slug": {
158158 "description": "The instance's subdomain: 3 to 32 of a-z, 0-9 and -, starting with a letter.",
159159 "type": "string"
160160 },
161161 "terms": {
162 "description": "The beta terms the caller accepted with the create form's checkbox. The provisioner refuses a create without it (TermsRequired), staff included; it is optional here only so clients can start sending it before the provisioner requires it.",
162 "description": "An acceptance of the beta terms made with this create, as dashboards from before sign-in acceptance send. Optional: the caller's account accepts them once with actor.acceptTerms, and the provisioner refuses a create unless one or the other covers the terms in force (TermsRequired, TermsOutdated), staff included.",
163163 "ref": "#termsAcceptance",
164164 "type": "ref"
165165 }
166166 },
167167 "required": [
168168 "slug",
169169 "plan",
170170 "idempotencyKey"
171171 ],
172172 "type": "object"
173173 }
174174 },
175175 "output": {
176176 "encoding": "application/json",
177177 "schema": {
178178 "properties": {
179179 "instance": {
180180 "ref": "#instance",
181181 "type": "ref"
182182 },
183183 "jobId": {
184184 "description": "The background job following the change. Poll it with at.happyproto.server.getJob.",
185185 "type": "string"
186186 }
187187 },
188188 "required": [
189189 "instance",
190190 "jobId"
191191 ],
192192 "type": "object"
193193 }
194194 },
195195 "type": "procedure"
196196 },
197197 "operation": {
198198 "properties": {
199199 "error": {
200200 "description": "The provisioner's error code, when it failed.",
201201 "type": "string"
202202 },
203203 "id": {
204204 "type": "string"
205205 },
206206 "kind": {
207207 "knownValues": [
208208 "create",
209209 "update",
210210 "upgrade",
211211 "stop",
212212 "start",
213213 "destroy"
214214 ],
215215 "type": "string"
216216 },
217217 "status": {
218218 "knownValues": [
219219 "pending",
220220 "running",
221221 "succeeded",
222222 "failed"
223223 ],
224224 "type": "string"
225225 },
226226 "step": {
227227 "description": "The step it last reached.",
228228 "type": "string"
229229 }
230230 },
231231 "required": [
232232 "id",
233233 "kind",
234234 "status"
235235 ],
236236 "type": "object"
237237 },
238238 "termsAcceptance": {
239239 "description": "An acceptance of the beta terms, recorded append-only by the provisioner with the caller's DID.",
240240 "properties": {
241241 "termsVersion": {
242242 "description": "The terms in force, e.g. beta-2026-11. Anything else is TermsOutdated.",
243243 "maxLength": 64,
244244 "type": "string"
245245 },
246246 "text": {
247247 "description": "The exact wording the caller ticked.",
248248 "maxLength": 1000,
249249 "type": "string"
250250 },
251251 "textVersion": {
252252 "description": "The version of the checkbox's wording.",
253253 "maxLength": 32,
254254 "type": "string"
255255 }
256256 },
257257 "required": [
258258 "termsVersion",
259259 "textVersion",
260260 "text"
261261 ],
262262 "type": "object"
263263 }
264264 },
265265 "id": "at.happyproto.server.createInstance",
266266 "lexicon": 1
267267}

Compare other versions