---
name: api.munition.io
description: api.munition.io provides temporary file hosting via presigned S3 upload slots, returning a public files.munition.io URL for the uploaded file. Payment is handled via x402 USDC on Base (eip155:8453). Files are hosted ephemerally with expiration tied to the selected tier.
host: api.munition.io
---

# api.munition.io

Munition is a pay-per-upload temporary file hosting service designed for agents that need to generate a file and share a public URL without maintaining persistent storage infrastructure. It serves use cases like sharing PDFs, images, screenshots, JSON exports, or logs with humans or downstream systems. Payment is micropayment-native via x402 on Base, making it suitable for autonomous agent workflows that need one-off file hosting without account setup.

## When to use this host

Use this host when an agent needs to upload a generated file (PDF, image, screenshot, JSON, log, report) and obtain a short-lived public URL to share with a user or pass to a downstream system, and when x402 USDC payment on Base is available. Do not use for permanent or archival storage — files expire and there is no retrieval or management API beyond the upload slot. Do not use for files exceeding the tier size limit (e.g. 10 MB for short-10mb) or for streaming delivery. For permanent storage, use a dedicated object storage service such as AWS S3, Cloudflare R2, or similar. For large file transfers, use a service with higher size limits and multipart upload support.

## Capabilities

### Temporary File Hosting

Creates a presigned S3 PUT slot and returns a time-limited public URL, enabling agents to upload a file and share it externally without persistent storage.

- **`create-upload-slot`** — Creates a presigned S3 PUT upload slot on Munition and returns a public files.munition.io URL for temporary file hosting, paid via x402 on Base.

## Skill reference

### `create-upload-slot`

**Munition Upload Slot** — Creates a presigned S3 PUT upload slot on Munition and returns a public files.munition.io URL for temporary file hosting, paid via x402 on Base.

*Use when:* Use when an agent needs to host a generated file (PDF, image, screenshot, JSON, log, report) temporarily and share a public URL with a human or downstream system; requires a valid x402 USDC payment on Base (eip155:8453).

*Not for:* Do not use for permanent file storage or large files exceeding the tier's size limit (e.g. 10 MB for short-10mb); not suitable for streaming or real-time file delivery.

**Inputs:**

- `mime` (string, required) — MIME type of the file to be uploaded (e.g. application/pdf, image/png).
- `size` (integer, required) — File size in bytes. Must not exceed the tier's maximum (e.g. 10485760 for short-10mb).
- `tier` (string, required) — Upload tier controlling max file size and retention duration (e.g. short-10mb).
- `sha256` (string, required) — Hex-encoded SHA-256 hash of the file content for integrity verification.
- `sha256Base64` (string, required) — Base64-encoded SHA-256 hash of the file content, used in the x-amz-checksum-sha256 upload header.
- `filename` (string) — Original filename to embed in the upload path and public URL.

**Returns:** Returns an upload slot with a presigned S3 PUT URL (valid ~10 min), required upload headers, a public files.munition.io URL, and expiry timestamps for both the upload URL and the hosted file.

**Example:** `{"mime":"application/pdf","size":42000,"tier":"short-10mb","sha256":"b43cd80a9e6155029135a38c0559aff6696566c431bfb8a9c9433882898247d1","filename":"agent-report.pdf","sha256Base64":"tDzYCp5hVQKRNaOMBVmv9mllZsQxv7ipyUM4gomCR9E="}`

---
