at.happyproto.admin.listHosts
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"host": {
"description": "A host. Never carries its addresses or agent certificate.",
"properties": {
"cpuMillis": {
"type": "integer"
},
"diskGb": {
"type": "integer"
},
"freeDiskGb": {
"description": "diskGb less reservedDiskGb. Negative when the host is over-committed.",
"type": "integer"
},
"freeMemoryMb": {
"description": "memoryMb less reservedMemoryMb. Negative when the host is over-committed.",
"type": "integer"
},
"id": {
"description": "A UUID.",
"type": "string"
},
"lastSeenAt": {
"description": "When its agent last answered. Absent if it never has.",
"format": "datetime",
"type": "string"
},
"memoryMb": {
"type": "integer"
},
"name": {
"type": "string"
},
"placeablePlans": {
"description": "Plans open for new instances that fit in this host's free memory and disk, smallest first. Empty unless the host is active.",
"items": {
"type": "string"
},
"type": "array"
},
"reservedDiskGb": {
"description": "Disk held by the plans of instances placed here and not yet purged. A deleted instance keeps its disk through its recovery window.",
"type": "integer"
},
"reservedMemoryMb": {
"description": "Memory those instances' plans hold.",
"type": "integer"
},
"state": {
"knownValues": [
"active",
"draining",
"degraded",
"retired"
],
"type": "string"
},
"tenantCount": {
"description": "Instances placed here and not deleted.",
"type": "integer"
}
},
"required": [
"id",
"name",
"state",
"memoryMb",
"cpuMillis",
"diskGb",
"tenantCount",
"reservedMemoryMb",
"reservedDiskGb"
],
"type": "object"
},
"main": {
"description": "Every host, with what its tenants hold. Staff only.",
"errors": [
{
"description": "This endpoint requires an authenticated caller.",
"name": "AuthRequired"
},
{
"description": "The caller is not HappyProto staff, or the provisioner does not treat them as staff.",
"name": "Forbidden"
},
{
"description": "The provisioner refused the request as malformed. Not expected from this read; declared because every provisioner refusal is mapped the same way.",
"name": "InvalidRequest"
},
{
"description": "Passed through from the provisioner.",
"name": "NotFound"
},
{
"description": "Passed through from the provisioner.",
"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.",
"name": "OperationInProgress"
},
{
"description": "The provisioner is unreachable, not configured, or answered with an error it does not explain to callers.",
"name": "Upstream"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"hosts": {
"items": {
"ref": "#host",
"type": "ref"
},
"type": "array"
},
"unplaceablePlans": {
"description": "Plans open for new instances that fit on no active host, smallest first. A new instance on one of these fails with NoCapacity. Absent from a provisioner that does not report it.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"hosts"
],
"type": "object"
}
},
"type": "query"
}
},
"id": "at.happyproto.admin.listHosts",
"lexicon": 1
}
Metadata
- DID
-
did:plc:mo7vq4jbioxwafy5zkcc3eux - CID
-
bafyreigznbkunxeouhud5kl6dx3wqh6j2h6svkyjv6zmogutmgkywdup4m - Indexed At
- 2026-10-29 15:36 UTC
- AT-URI
-
at://did:plc:mo7vq4jbioxwafy5zkcc3eux/com.atproto.lexicon.schema/at.happyproto.admin.listHosts
Version History (2 versions)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Every instance, whoever owns it, with its placement. Staff only.
-
The plans a new or changed instance can use. Customers only.
-
The caller's own instances. Customers only.