GET /api/v1/hosts/machines
Operation: listMachines.
List own machines (host owner/admin)
Each row carries the machine’s hardware specs and its current offer, so a console can render a fleet table without one detail fetch per machine. Specs are read from the same source the public catalog reads (manifest->devices). A spec nobody measured is null — never 0 and never an empty string; ram_bytes, disk_bytes and region are not measured anywhere today and are therefore null in practice. current_offer is null when the machine has no published offer version, which is a real state (a machine mid-onboarding), not a free listing.
Endpoint
Section titled “Endpoint”GET https://amplerun-api.spiry.org/api/v1/hosts/machines
Authentication
Section titled “Authentication”Use the credential and scope required by this operation. For programmatic renter/host calls: Authorization: Bearer $AMPLERUN_API_KEY. A host-agent signature or other specialized proof is required where the description specifies it.
Parameters
Section titled “Parameters”| Name | Location | Presence | Type | Description |
|---|---|---|---|---|
cursor | query | Optional | string | Opaque pagination cursor from a previous response. |
limit | query | Optional | integer |
Responses
Section titled “Responses”Page of machine summaries.
application/json
| Field | Type | Presence | Description |
|---|---|---|---|
next_cursor | string | Required | |
items | array of object | Required |
{ "type": "object", "additionalProperties": false, "required": [ "items", "next_cursor" ], "properties": { "next_cursor": { "type": "string", "nullable": true }, "items": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "machine_id", "state", "manifest_hash", "fence", "version", "last_healthy_at", "gpu_model", "gpu_count", "vram_bytes", "ram_bytes", "disk_bytes", "region", "current_offer" ], "properties": { "machine_id": { "$ref": "#/components/schemas/UUID" }, "state": { "type": "string", "enum": [ "UNQUALIFIED", "AVAILABLE", "ALLOCATED", "CLEANING", "DRAINING", "UNLISTED", "QUARANTINED" ] }, "manifest_hash": { "type": "string" }, "fence": { "$ref": "#/components/schemas/DecimalString" }, "version": { "$ref": "#/components/schemas/DecimalString" }, "last_healthy_at": { "oneOf": [ { "$ref": "#/components/schemas/Rfc3339Utc" }, { "type": "null" } ] }, "gpu_inventory": { "type": "array", "description": "Per-device discovery; not qualification. Shared-memory graphics remain distinct.", "items": { "type": "object", "additionalProperties": false, "required": [ "pci_address", "vendor", "model", "memory_bytes", "memory_class" ], "properties": { "pci_address": { "type": "string" }, "vendor": { "type": "string" }, "model": { "type": "string", "nullable": true }, "memory_bytes": { "oneOf": [ { "$ref": "#/components/schemas/DecimalString" }, { "type": "null" } ] }, "memory_class": { "type": "string", "enum": [ "dedicated", "shared", "unknown" ] } } } }, "gpu_model": { "type": "string", "nullable": true }, "gpu_count": { "type": "integer", "minimum": 1, "nullable": true }, "vram_bytes": { "oneOf": [ { "$ref": "#/components/schemas/DecimalString" }, { "type": "null" } ] }, "ram_bytes": { "oneOf": [ { "$ref": "#/components/schemas/DecimalString" }, { "type": "null" } ] }, "disk_bytes": { "oneOf": [ { "$ref": "#/components/schemas/DecimalString" }, { "type": "null" } ] }, "region": { "type": "string", "nullable": true }, "current_offer": { "nullable": true, "type": "object", "additionalProperties": false, "required": [ "offer_version", "rate_micro_per_hour", "state" ], "properties": { "offer_version": { "$ref": "#/components/schemas/DecimalString" }, "rate_micro_per_hour": { "$ref": "#/components/schemas/MicroAmount" }, "state": { "type": "string", "enum": [ "listed", "unlisted", "draining" ] } } } } } } }}default
Section titled “default”Error envelope. 401 unauthenticated, 403/404 forbidden, 409 conflict, 422 invalid input, 429 rate limited (code UNAVAILABLE, retryable:true, no Retry-After header), 503 unavailable money/provider state with retryable:true.
application/json
| Field | Type | Presence | Description |
|---|---|---|---|
error | object | Required |
{ "$ref": "#/components/schemas/ErrorEnvelope"}Static request outline
Section titled “Static request outline”Replace path/query placeholders and provide the required JSON body, headers and credential from the sections above. This is a request outline, not a command that chooses an amount or starts a rental for you.
curl --request GET 'https://amplerun-api.spiry.org/api/v1/hosts/machines' \ --header "Authorization: Bearer $AMPLERUN_API_KEY"Schema definitions · Download OpenAPI · Authentication · Errors and recovery
Official AmpleRun documentation · Contract v3 · Generated from the API contract · Revision 52fe29de · Open AmpleRun · View Markdown · For agents