---
title: "Renew an MPP-paid direct upload"
method: POST
path: "/v1/mpp/uploads/{id}/renew"
tags: ["Upload"]
---

# Renew an MPP-paid direct upload

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

## Request

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

Munition Upload Renew over MPP: pay 0.005 USDC on Base/Polygon/Arbitrum via Authorization: Payment to extend an existing direct-upload public link by 7 days, up to 30 days from the original upload.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## 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`: Call without Authorization to receive an MPP challenge, then retry with Authorization: Payment <credential>. Invalid payment and settlement failures can also return 402.
- `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)
