{"uid":"cap_eusFG6-VO519s6c54hOC1","slug":"munition-file-upload-short-10mb-tier-5ae38864","name":"Munition File Upload (short-10mb tier)","description":"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.","url":"https://api.munition.io/v1/uploads","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"mime":{"type":"string","maxLength":120,"minLength":1,"description":"MIME type of the file to upload, for example application/pdf, image/png, text/plain, or application/json."},"size":{"type":"integer","maximum":10485760,"minimum":1,"description":"File size in bytes. The short-10mb tier accepts one file up to 10 MB."},"tags":{"type":"array","items":{"type":"string","maxLength":64,"minLength":1},"default":[],"maxItems":20,"description":"Optional stable upload tags for categorization. Tags are serialized and returned as an array of strings."},"tier":{"enum":["short-10mb"],"type":"string","default":"short-10mb","description":"Upload tier. short-10mb costs 0.005 USDC, accepts one file up to 10 MB, and retains the public link for 7 days."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Lowercase hex-encoded SHA-256 digest of the exact file bytes, used to bind the upload slot to the final file."},"filename":{"type":"string","maxLength":180,"minLength":1,"description":"Optional original filename used for a readable public URL slug, for example report.pdf or screenshot.png."},"sha256Base64":{"type":"string","pattern":"^[A-Za-z0-9+/]{43}=$","description":"Base64-encoded 32-byte SHA-256 digest of the same file bytes, sent as x-amz-checksum-sha256 during the S3 PUT."}}},"responseSchema":{"type":"json","example":{"id":"upl_example","tags":["agent-output","report"],"maxSize":10485760,"expiresAt":"2026-09-16T19:30:14.538Z","publicUrl":"https://files.munition.io/direct/upl_example-agent-report.pdf","uploadUrl":"https://s3.example.com/presigned-put","uploadMethod":"PUT","uploadHeaders":{"content-type":"application/pdf","content-length":"42000","x-amz-meta-sha256":"b43cd80a9e6155029135a38c0559aff6696566c431bfb8a9c9433882898247d1","x-amz-checksum-sha256":"tDzYCp5hVQKRNaOMBVmv9mllZsQxv7ipyUM4gomCR9E="},"uploadUrlExpiresAt":"2026-09-09T19:40:14.540Z"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":4,"rating":{"score":"1.00","successRate":"1.00","reviews":4,"stars":"5.0","state":"rated"},"availabilityStatus":"healthy","priceObserved":{"p10Cents":"0.5000","medianCents":"0.5000","p90Cents":"0.5000","minCents":"0.5000","maxCents":"0.5000","p95Cents":"0.5000","sampleCount":4,"varies":false,"failureChargeRate":null},"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_xCQlfKtV51tgsfIeO53wf","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Creates a presigned S3 upload slot for files up to 10 MB, returning a public URL valid for 7 days, settled via x402 micropayment at $0.005 USDC per upload.","exampleAgentPrompt":"Upload this 2.4 MB PDF report called 'analysis-report.pdf' to Munition using the short-10mb tier and give me the public link — the SHA-256 hash of the file is b43cd80a9e6155029135a38c0559aff6696566c431bfb8a9c9433882898247d1.","exampleUseCases":[{"title":"Share agent screenshot via link","prompt":"I just captured a screenshot of the dashboard as 'dashboard-screenshot.png' (1.8 MB, PNG). Upload it to Munition and send me back the public URL so I can paste it into the Slack message — the SHA-256 is 3a9f1c2b7e4d6f8a0c5e2b1d9f3a7c4e6b8d0f2a4c6e8b0d2f4a6c8e0b2d4f6a."},{"title":"Host JSON output for webhook","prompt":"My agent just generated a 340 KB JSON payload called 'webhook-payload.json' that needs to be accessible via a public URL for the third-party webhook to pull from. Upload it to Munition and give me the stable files.munition.io link — SHA-256 hash is 7f2a4c6e8b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a2c4e6b8d0f2."},{"title":"Send report link to client","prompt":"I've got a 5.1 MB PDF called 'q3-financial-summary.pdf' that I need to share with a client by email — just upload it to Munition and give me the public download link so I can drop it into the message. The file's SHA-256 hash is c8e2b4d6f8a0c2e4b6d8f0a2c4e6b8d0f2a4c6e8b0d2f4a6c8e0b2d4f6a8c0e."}],"resultDescription":"A JSON object containing a presigned S3 PUT URL (valid for ~10 minutes), the required upload headers (Content-Type, Content-Length, x-amz-checksum-sha256, etc.), a stable public download URL at files.munition.io, an upload slot ID, and an expiry timestamp 7 days out. The agent must then PUT the actual file bytes to the uploadUrl using the provided uploadHeaders.","failureModes":["File size exceeds 10 MB maximum (400 Bad Request)","SHA-256 hex digest does not match required 64-char lowercase hex pattern (422 Validation Error)","SHA-256 base64 digest does not match required 43-char base64 pattern (422 Validation Error)","MIME type string too long or empty (422 Validation Error)","Payment not settled or x402 header missing (402 Payment Required)","More than 20 tags provided (422 Validation Error)","Filename exceeds 180 characters (422 Validation Error)"],"whenToPreferThis":"Choose this endpoint when an AI agent needs to make a file publicly accessible via a stable URL without registering an account or managing API keys — ideal for ephemeral agent outputs (reports, screenshots, JSON blobs) that only need to be shared for up to 7 days. Prefer this over general-purpose cloud storage SDKs when the agent operates anonymously with x402 micropayment settlement and needs a single-call, no-setup workflow.","instructions":null,"reviewSummary":"api.munition.io delivers fast, reliable presigned S3 upload slots for files up to 10 MB, with public URLs consistently live immediately after upload. Across tested file types — MP4, PNG, MP3 — slot creation takes roughly one second, checksum and PUT headers are clearly specified, and 7-day public links resolve correctly. All reviewed interactions succeeded with perfect accuracy and reliability scores; no failures or edge-case issues were reported.","reviewSummaryHighlights":["Slot creation is near-instant (~1s) with clearly documented S3 PUT and checksum headers","Public URLs are immediately accessible after upload across multiple file types (MP4, PNG, MP3)","Consistent 7-day retention suitable for agent-to-human handoff and pipeline inputs"],"reviewSummaryConcerns":[],"reviewSummaryGeneratedAt":"2026-09-14T20:15:13.787Z","activationCount":6,"lastUsedAt":"2026-09-14T19:05:59.265Z","lastSuccessfullyRanAt":"2026-09-14T19:05:59.265Z","lastHealthCheckAt":"2026-09-15T12:35:01.251Z","isFirstParty":false}