at.happyproto.server.createInstance
Create an instance for the caller, and start a job that follows its provisioning. Customers only.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | server.happyproto.at |
| Indexed |
Procedure
procedure · POSTInput
application/jsonA 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.
The plan's id, from at.happyproto.server.listPlans.
The instance's subdomain: 3 to 32 of a-z, 0-9 and -, starting with a letter.
terms
refAn 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.
Output
application/jsonErrors
AuthRequired
This endpoint requires an authenticated caller.
Forbidden
The caller is not a HappyProto customer, or the provisioner refused them.
InvalidRequest
slug, plan or idempotencyKey is missing or malformed.
NotFound
Passed through from the provisioner.
InvalidSlug
Passed through from the provisioner: it reserves slugs by configuration as well.
SlugTaken
Passed through from the provisioner.
NotEntitled
Passed through from the provisioner.
InstanceLimit
Passed through from the provisioner.
NoCapacity
Passed through from the provisioner.
OperationInProgress
Passed through from the provisioner: the instance is already changing, or a request with this idempotencyKey is still running.
TermsRequired
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.
TermsOutdated
The caller accepted only older beta terms than the ones in force: accept the current ones and try again.
Upstream
The provisioner is unreachable, not configured, or answered with an error it does not explain to callers, or the job could not be started.
#availableVersion
objectA newer HappyView release the instance can upgrade to.
Properties
label
stringThe HappyView version the release carries, e.g. 3.0.0-alpha.41, when known.
When HappyProto first offered it.
The release to pass to at.happyproto.server.upgradeInstance.
#instance
objectA customer's HappyView instance. Never carries the provisioner's placement or internal fields.
Properties
A newer release, when one is on offer.
A UUID.
operation
refThe change in progress, if any.
The plan's id.
knownValues: provisioning | running | stopped | failed | deleting
The HappyView release it runs.
versionLabel
stringThe HappyView version the release carries, e.g. 3.0.0-alpha.41, when known.
#operation
object#termsAcceptance
objectAn acceptance of the beta terms, recorded append-only by the provisioner with the caller's DID.
Properties
The terms in force, e.g. beta-2026-11. Anything else is TermsOutdated.
maxLength: 64
The exact wording the caller ticked.
maxLength: 1000
The version of the checkbox's wording.
maxLength: 32
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
One of the caller's own instances. Customers only.
-
at.happyproto.server.startInstance
procedureStart one of the caller's instances, and start a job that follows the start. Customers only.
-
at.happyproto.server.updateInstance
procedureMove one of the caller's instances to another plan or HappyView release, and start a job that follows the change. Customers only.
-
at.happyproto.server.upgradeInstance
procedureUpgrade one of the caller's instances to the newer HappyView release its availableVersion offers, and start a job that follows the upgrade. The instance is offline for about 30 seconds; its database is snapshotted first, and a release that does not come up healthy is rolled back. Customers only.
-
The caller's own instances. Customers only.