{"openapi":"3.1.0","info":{"title":"Stupid Upload","version":"0.1.0","description":"Accountless, agent-first public file uploads. Temporary files expire 24 hours after upload; permanent files have no scheduled expiration and are paid with Base USDC via x402."},"servers":[{"url":"https://upload.stupidtech.net"}],"paths":{"/v1/uploads/temporary":{"post":{"operationId":"createTemporaryUpload","summary":"Create a temporary upload reservation (free, expires in 24h)","x-price-formula":"free"}},"/v1/uploads/permanent":{"post":{"operationId":"createPermanentUpload","summary":"Create a permanent upload reservation (paid via x402)","x-payment-info":{"protocol":"x402","network":"eip155:8453","token":"USDC","formula":"$0.01 flat + $0.002 per started MiB after the first, up to 100 MiB","minUsd":"0.01","maxUsd":"0.208"},"responses":{"402":{"description":"Payment required. See the x402 challenge."}}}},"/v1/pricing":{"get":{"operationId":"getPricing","summary":"Advisory pricing for a size","parameters":[{"name":"sizeBytes","in":"query","required":true,"schema":{"type":"integer","minimum":0}}]}},"/v1/uploads/{id}/content":{"put":{"operationId":"uploadContent","summary":"Upload bytes for a reservation"}},"/v1/uploads/{id}":{"get":{"operationId":"getUploadStatus","summary":"Status of an upload"},"delete":{"operationId":"deleteUpload","summary":"Delete an upload"}},"/v1/feedback":{"post":{"operationId":"submitFeedback","summary":"Submit anonymous product feedback","responses":{"202":{"description":"Accepted"}}}}}}