at.happyproto.server.createInstance
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"instance": {
"description": "A customer's HappyView instance. Never carries the provisioner's placement or internal fields.",
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"id": {
"description": "A UUID.",
"type": "string"
},
"operation": {
"description": "The change in progress, if any.",
"ref": "#operation",
"type": "ref"
},
"plan": {
"description": "The plan's id.",
"type": "string"
},
"slug": {
"type": "string"
},
"state": {
"knownValues": [
"provisioning",
"running",
"stopped",
"failed",
"deleting"
],
"type": "string"
},
"url": {
"format": "uri",
"type": "string"
},
"version": {
"description": "The HappyView release it runs.",
"type": "string"
}
},
"required": [
"id",
"slug",
"url",
"plan",
"version",
"state",
"createdAt"
],
"type": "object"
},
"main": {
"description": "Create an instance for the caller, and start a job that follows its provisioning. Customers only.",
"errors": [
{
"description": "This endpoint requires an authenticated caller.",
"name": "AuthRequired"
},
{
"description": "The caller is not a HappyProto customer, or the provisioner refused them.",
"name": "Forbidden"
},
{
"description": "slug, plan or idempotencyKey is missing or malformed.",
"name": "InvalidRequest"
},
{
"description": "Passed through from the provisioner.",
"name": "NotFound"
},
{
"description": "Passed through from the provisioner: it reserves slugs by configuration as well.",
"name": "InvalidSlug"
},
{
"description": "Passed through from the provisioner.",
"name": "SlugTaken"
},
{
"description": "Passed through from the provisioner.",
"name": "NotEntitled"
},
{
"description": "Passed through from the provisioner.",
"name": "InstanceLimit"
},
{
"description": "Passed through from the provisioner.",
"name": "NoCapacity"
},
{
"description": "Passed through from the provisioner: the instance is already changing, or a request with this idempotencyKey is still running.",
"name": "OperationInProgress"
},
{
"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.",
"name": "Upstream"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"idempotencyKey": {
"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.",
"type": "string"
},
"plan": {
"description": "The plan's id, from at.happyproto.server.listPlans.",
"type": "string"
},
"slug": {
"description": "The instance's subdomain: 3 to 32 of a-z, 0-9 and -, starting with a letter.",
"type": "string"
}
},
"required": [
"slug",
"plan",
"idempotencyKey"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"instance": {
"ref": "#instance",
"type": "ref"
},
"jobId": {
"description": "The background job following the change. Poll it with at.happyproto.server.getJob.",
"type": "string"
}
},
"required": [
"instance",
"jobId"
],
"type": "object"
}
},
"type": "procedure"
},
"operation": {
"properties": {
"error": {
"description": "The provisioner's error code, when it failed.",
"type": "string"
},
"id": {
"type": "string"
},
"kind": {
"knownValues": [
"create",
"update",
"upgrade",
"stop",
"start",
"destroy"
],
"type": "string"
},
"status": {
"knownValues": [
"pending",
"running",
"succeeded",
"failed"
],
"type": "string"
},
"step": {
"description": "The step it last reached.",
"type": "string"
}
},
"required": [
"id",
"kind",
"status"
],
"type": "object"
}
},
"id": "at.happyproto.server.createInstance",
"lexicon": 1
}
Metadata
- DID
-
did:plc:mo7vq4jbioxwafy5zkcc3eux - CID
-
bafyreify3ktmvty74innvmuvuu6gz2zibqp7jajdmjqdazhvo5crqqufc4 - Indexed At
- 2026-10-19 18:20 UTC
- AT-URI
-
at://did:plc:mo7vq4jbioxwafy5zkcc3eux/com.atproto.lexicon.schema/at.happyproto.server.createInstance
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
at.happyproto.server.startInstance procedure
Start one of the caller's instances, and start a job that follows the start. Customers only.
-
at.happyproto.server.updateInstance procedure
Move one of the caller's instances to another plan or HappyView release, and start a job that follows the change. Customers only.
-
One of the caller's own instances. Customers only.
-
at.happyproto.server.deleteInstance procedure
Delete one of the caller's instances, and start a job that follows the deletion. Customers only.
-
at.happyproto.server.stopInstance procedure
Stop one of the caller's instances, and start a job that follows the stop. Customers only.