POST /api/v1/hosts/machines/{id}/offer
Operation: publishOffer.
Publish versioned future offer (host owner)
Aggregate rate, included limits, available_from/available_until, optional maintenance window, expected_version. Versioned future offer only; never alters a running price.
Endpoint
Section titled “Endpoint”POST https://amplerun-api.spiry.org/api/v1/hosts/machines/{id}/offer
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 |
|---|---|---|---|---|
id | path | Required | UUID | |
Idempotency-Key | header | Required | UUID | UUID scoped to authenticated principal, route and canonical request hash. |
Request body
Section titled “Request body”Required body.
application/json
Section titled “application/json”| Field | Type | Presence | Description |
|---|---|---|---|
rate_micro_per_hour | MicroAmount | Required | |
included_quotas | object | Required | |
available_from | Rfc3339Utc | Required | |
available_until | Rfc3339Utc | Required | |
maintenance_windows | array of object | Optional | |
expected_version | DecimalString | Required |
{ "type": "object", "additionalProperties": false, "required": [ "rate_micro_per_hour", "included_quotas", "available_from", "available_until", "expected_version" ], "properties": { "rate_micro_per_hour": { "$ref": "#/components/schemas/MicroAmount" }, "included_quotas": { "type": "object", "additionalProperties": false, "required": [ "included_disk_gib", "included_egress_gib" ], "properties": { "included_disk_gib": { "type": "integer", "minimum": 0 }, "included_egress_gib": { "type": "integer", "minimum": 0 } } }, "available_from": { "$ref": "#/components/schemas/Rfc3339Utc" }, "available_until": { "$ref": "#/components/schemas/Rfc3339Utc" }, "maintenance_windows": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "starts_at", "ends_at", "reason" ], "properties": { "starts_at": { "$ref": "#/components/schemas/Rfc3339Utc" }, "ends_at": { "$ref": "#/components/schemas/Rfc3339Utc" }, "reason": { "type": "string" } } } }, "expected_version": { "$ref": "#/components/schemas/DecimalString" } }}Responses
Section titled “Responses”Offer version committed with new offer_version.
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 POST 'https://amplerun-api.spiry.org/api/v1/hosts/machines/{id}/offer' \ --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