jobs

Create immutable quote (verified renter)

Returns an immutable quote with 60s expiry, terms version, machine manifest hash and total rate. Refresh stale catalog quotes before charging. Quoting is free and holds nothing; POST /api/v1/jobs reserves. The Idempotency-Key is not deduplicated on this route, so a retry returns a fresh quote. 409 CONFLICT when the offer's machine is not admitted: an unverified listing (OfferSummary admitted false) is shown but cannot be quoted or reserved until it passes qualification.

post/api/v1/quotes

Request

  • Base URL: https://amplerun-api.spiry.org
  • URL: https://amplerun-api.spiry.org/api/v1/quotes
  • Auth: HTTP bearer

Headers

Idempotency-Keystring uuid required
Example:3f0e2a55-8c1b-4d2e-9a6f-0b7c1d2e3f40

UUID scoped to authenticated principal, route and canonical request hash.

Request body

offer_idstring uuid required
image_digeststring
image_refstring

Custom public image by tag or digest ([registry/]repository[:tag][@sha256:...]); the server pins it to a digest at quote time.

duration_limit_sinteger required

Maximum runtime in seconds, metered from verified readiness.

budget_microstring required

Unsigned base-10 integer as string; never a float.

template_idstring uuid
asset'USDC' | 'USDT'

Additive. Settlement asset whose balance the reservation holds; unknown values are 422.

Example request

{
  "offer_id": "3f0e2a55-8c1b-4d2e-9a6f-0b7c1d2e3f40",
  "image_digest": "registry.amplerun.com/templates/pytorch-cuda@sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "budget_micro": "1",
  "template_id": "3f0e2a55-8c1b-4d2e-9a6f-0b7c1d2e3f40"
}

Response

Immutable quote.

quote_idstring uuid required
expires_atstring date-time required
machine_idstring uuid required
gpu_countinteger required
machine_rate_micro_per_hourstring required

Unsigned base-10 integer as string; never a float.

platform_fee_bpsinteger required
budget_microstring required

Unsigned base-10 integer as string; never a float.

duration_limit_sinteger required
included_disk_gibinteger
included_egress_gibinteger
manifest_hashstring required
image_digeststring required
terms_versionstring required
meter_start'verified_ready' required
template_idstring uuid
image_refstring

Echoed when the request named a custom image by image_ref; image_digest is what it was pinned to.

estimated_total_microstring

Unsigned base-10 integer as string; never a float.

asset'USDC' | 'USDT'

Additive. Settlement asset whose balance the reservation holds; USDC unless the request chose USDT.

availability_class'dedicated' | 'interruptible'

D-22. dedicated (the default) is never preempted. interruptible is sold only from idle or co-listed hosts: the host may take the machine back after preemption_notice_s seconds of notice, and billing stops at the notice.

preemption_notice_sinteger nullable

D-22. Notice in seconds before an interruptible rental is stopped; null for dedicated.

Example response

{
  "quote_id": "0c1d2e3f-4a5b-4c6d-8e7f-8091a2b3c4d5",
  "expires_at": "2026-09-25T12:01:00Z",
  "machine_id": "5d6e7f80-9a1b-4c2d-8e3f-4a5b6c7d8e9f",
  "gpu_count": 1,
  "machine_rate_micro_per_hour": "450000",
  "platform_fee_bps": 500,
  "budget_micro": "1000000",
  "duration_limit_s": 7200,
  "included_disk_gib": 100,
  "included_egress_gib": 50,
  "manifest_hash": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "image_digest": "registry.amplerun.com/templates/pytorch-cuda@sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "terms_version": "rental-v1",
  "meter_start": "verified_ready",
  "template_id": "a35d15fe-ab57-4283-87f8-a00528d1d631",
  "estimated_total_micro": "900000",
  "asset": "USDC"
}

Changes

No recorded changes to this operation across all 1 revision of this API.