Skip to content

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.

POST https://amplerun-api.spiry.org/api/v1/hosts/machines/{id}/offer

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.

NameLocationPresenceTypeDescription
idpathRequiredUUID
Idempotency-KeyheaderRequiredUUIDUUID scoped to authenticated principal, route and canonical request hash.

Required body.

FieldTypePresenceDescription
rate_micro_per_hourMicroAmountRequired
included_quotasobjectRequired
available_fromRfc3339UtcRequired
available_untilRfc3339UtcRequired
maintenance_windowsarray of objectOptional
expected_versionDecimalStringRequired
{
"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"
}
}
}

Offer version committed with new offer_version.

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

FieldTypePresenceDescription
errorobjectRequired
{
"$ref": "#/components/schemas/ErrorEnvelope"
}

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.

Terminal window
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