80trust / 100
Uploads
by api.munition.io in Documents & files
x402 APIPassing, checked 4 h ago
Munition Upload: x402-paid temporary file hosting for AI agents. Buy a presigned upload slot, upload one local file or generated artifact up to 10 MB, and get a public non-guessable files.munition.io link retained for 7 days. Useful for PDFs, screenshots, images, logs, JSON, reports, browser sharing, webhook sharing, and agent-to-human handoff.
POST https://api.munition.io/v1/uploads
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 794 ms typical, 794 ms slowest 5%
- Last check
- 4 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X POST "https://api.munition.io/v1/uploads" \
-H "content-type: application/json" \
-d '{"filename":"agent-report.pdf","mime":"application/pdf","sha256":"b43cd80a9e6155029135a38c0559aff6696566c431bfb8a9c9433882898247d1","sha256Base64":"tDzYCp5hVQKRNaOMBVmv9mllZsQxv7ipyUM4gomCR9E=","size":42000,"tags":["agent-output","report"],"tier":"short-10mb"}'import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.munition.io%2Fv1%2Fuploads
const res = await pay("https://api.munition.io/v1/uploads", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"filename":"agent-report.pdf","mime":"application/pdf","sha256":"b43cd80a9e6155029135a38c0559aff6696566c431bfb8a9c9433882898247d1","sha256Base64":"tDzYCp5hVQKRNaOMBVmv9mllZsQxv7ipyUM4gomCR9E=","size":42000,"tags":["agent-output","report"],"tier":"short-10mb"}),
});
console.log(await res.json());Example input
{
"filename": "agent-report.pdf",
"mime": "application/pdf",
"sha256": "b43cd80a9e6155029135a38c0559aff6696566c431bfb8a9c9433882898247d1",
"sha256Base64": "tDzYCp5hVQKRNaOMBVmv9mllZsQxv7ipyUM4gomCR9E=",
"size": 42000,
"tags": [
"agent-output",
"report"
],
"tier": "short-10mb"
}Example output
{
"expiresAt": "2026-10-15T05:03:38.472Z",
"id": "upl_example",
"maxSize": 10485760,
"publicUrl": "https://files.munition.io/direct/upl_example-agent-report.pdf",
"tags": [
"agent-output",
"report"
],
"uploadHeaders": {
"content-length": "42000",
"content-type": "application/pdf",
"x-amz-checksum-sha256": "tDzYCp5hVQKRNaOMBVmv9mllZsQxv7ipyUM4gomCR9E=",
"x-amz-meta-sha256": "b43cd80a9e6155029135a38c0559aff6696566c431bfb8a9c9433882898247d1"
},
"uploadMethod": "PUT",
"uploadUrl": "https://s3.example.com/presigned-put",
"uploadUrlExpiresAt": "2026-10-08T05:13:38.474Z"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 4 h ago | Passed | 402 | 794 ms | $0.005 |