---
title: "Renew a direct x402 upload"
method: POST
path: "/v1/uploads/{id}/renew"
tags: ["Upload"]
---

# Renew a direct x402 upload

`POST /v1/uploads/{id}/renew`

## Request

- Base URL: `https://api.munition.io`
- URL: `https://api.munition.io/v1/uploads/{id}/renew`
- Auth: none required

Munition Upload Renew: x402-paid direct HTTP renewal for an existing Munition direct-upload file. Pay 0.005 USDC via x402 on Base, Polygon, Arbitrum, or Solana to extend the public files.munition.io link by 7 days, up to 30 days from the original upload time.

## Path parameters

- `id` string, required

## Response `200`

Renewed direct upload

- DirectRenewOutput
  - `id` string, required: Munition upload id.
  - `expiresAt` string, date-time, required: Updated public file link expiration time.
  - `renewalCount` integer, required: Number of successful renewals applied to this file.
  - `txHash` string, nullable, required: Settlement transaction hash when available.

## Other responses

- `402`: x402 payment required or settlement failed
- `403`: Payment wallet does not own this upload
- `404`: Upload not found

---

[API](https://skmtc.dev/munition/apis/munition-api.md) · [All operations](https://skmtc.dev/munition/apis/munition-api/llms.txt) · [OpenAPI document](https://skmtc.dev/munition/apis/munition-api/revisions/3b11109809d1?raw)
