# Munition Upload Renewal

> Munition Upload Renewal is a paid API for AI agents from api.munition.io, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-12).

Renews an existing Munition direct-upload resource by its ID, extending its expiration time

## Facts

- Endpoint: POST https://api.munition.io/v1/uploads/%7Bid%7D/renew
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/munition-upload-renewal-4fda1767
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Cet2N_JqGxgmIDrsCqYM2

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability munition-upload-renewal-4fda1767 -d '<json body>'
```

Example prompt: Renew my Munition upload with ID upl_abc123 so it doesn't expire soon.

## When to prefer this

Use this endpoint when you have an existing Munition direct-upload that is approaching its expiration and you want to extend its lifetime without re-uploading the content. Prefer this over re-uploading when the upload ID is already known and the content is unchanged.

## Known failure modes

- Upload ID not found — 404 if the given ID does not exist or was already deleted
- Payment failure — x402 settlement fails if insufficient USDC balance
- Expired upload — attempting to renew an already-deleted or fully-expired upload may return an error
- Invalid ID format — malformed upload ID returns a 400 bad request
- Network timeout — the renewal request may time out if the server is under load

## How this service works

Munition gives AI agents one MCP wrapper for small paid services with anonymous accounts, x402 settlement, and no API-key friction.

## Output

Returns a JSON object with the upload ID, an optional transaction hash (null if not applicable), a new ISO 8601 expiration timestamp extending the upload's lifetime, and the incremented renewal count.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "id": {
   "type": "string",
   "description": "Existing Munition direct-upload id to renew. This value is passed in the URL path: /v1/uploads/{id}/renew."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "upl_example",
  "txHash": null,
  "expiresAt": "2026-09-16T19:30:17.176Z",
  "renewalCount": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/munition-upload-renewal-4fda1767/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.munition.io](https://www.zero.xyz/host/api.munition.io/llms.txt)
