---
title: "Append funded budget amendment (renter owner)"
method: POST
path: "/api/v1/jobs/{id}/budget-extension"
tags: ["jobs"]
---

# Append funded budget amendment (renter owner)

`POST /api/v1/jobs/{id}/budget-extension`

## Request

- Base URL: `https://amplerun-api.spiry.org`
- URL: `https://amplerun-api.spiry.org/api/v1/jobs/{id}/budget-extension`
- Auth: HTTP bearer

Idempotent. Appends one immutable amendment plus hold atomically; keeps original rate and snapshotted host-availability ceiling; bumps budget_version. Rejects once STOPPING begins. D-16 — budget_version changes only with a committed funding amendment.

## Path parameters

- `id` string, uuid, required

## Headers

- `Idempotency-Key` string, uuid, required

## Request body

- object
  - `additional_budget_micro` string, required: Unsigned base-10 integer as string; never a float.
  - `new_duration_limit_s` integer, required
  - `expected_job_version` string, required: Unsigned base-10 integer as string; never a float.
  - `expected_budget_version` string, required: Unsigned base-10 integer as string; never a float.

## Response `202`

Amendment committed; returns new budget_version.

- object
  - `job_id` string, uuid, required
  - `budget_version` string, required: Unsigned base-10 integer as string; never a float.
  - `funded_budget_micro` string, required: Unsigned base-10 integer as string; never a float.

## Other responses

- `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.

---

[API](https://skmtc.dev/amplerun/apis/amplerun-business-api.md) · [All operations](https://skmtc.dev/amplerun/apis/amplerun-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/amplerun/apis/amplerun-business-api/revisions/40944687fa52?raw)
