Skip to content
onelayer.
All tools

Tool detail

uploads

Uploads one local file up to 10 MB given its MIME type, size, and SHA-256 hashes, and returns a public files.munition.io link retained for 7 days.

Categories: Data storage

Use when

  • host a generated PDF, screenshot, or report for sharing
  • get a public URL for a file to hand off to another agent or human

Not for

  • not for files over 10 MB (short-10mb is the only tier)
  • not permanent storage — link retained 7 days only

Inputs

POST JSON body: { mime: string, size: integer ≤ 10485760, sha256: hex64, sha256Base64: string } (all required); optional filename, tags, tier

Admitted input schema

{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string",
      "minLength": 1,
      "maxLength": 180,
      "description": "Optional original filename used for a readable public URL slug, for example report.pdf or screenshot.png."
    },
    "mime": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "MIME type of the file to upload, for example application/pdf, image/png, text/plain, or application/json."
    },
    "sha256": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "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."
    },
    "sha256Base64": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "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."
    },
    "size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10485760,
      "description": "File size in bytes. The short-10mb tier accepts one file up to 10 MB."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      },
      "minItems": 0,
      "maxItems": 20,
      "description": "Optional stable upload tags for categorization. Tags are serialized and returned as an array of strings.",
      "default": []
    },
    "tier": {
      "type": "string",
      "minLength": 0,
      "maxLength": 4096,
      "enum": [
        "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.",
      "default": "short-10mb"
    }
  },
  "required": [
    "mime",
    "size",
    "sha256",
    "sha256Base64"
  ],
  "additionalProperties": false
}

Endpoint

Method
POST
URL
https://api.munition.io/v1/uploads

Payment

Protocol
x402
Listed price
0.005 USDC per call on Base
Payment method
exact
Network
eip155:8453
Asset
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Listed terms are catalog metadata. The caller supplies inputs and calls the tool outside Onelayer. If payment is required, the caller uses a compatible wallet to pay.

Source

Record
POST https://api.munition.io/v1/uploads
Retrieved
2026-09-30T20:37:07.382Z
Catalog file SHA-256
6837ccddf886f0007cf3727ea9d27faaa5047b51b4f425345c554ce1c271a524
Catalog built
2026-09-30T22:31:58.034Z