{"auth":"Optional: set TEMPBITS_API_KEY on the server, then send Authorization: Bearer <key>, X-API-Key: <key>, or ?api_key=","endpoints":{"DELETE /api/v1/upload/<id>":"Abort a chunked upload","GET /api/v1/upload/<id>":"Chunked upload status (received / missing)","POST /api":"Create a text or file paste (regular form / JSON / raw body)","POST /api/v1":"Same as /api","POST /api/v1/file":"File paste only (multipart, \u2264100 MB)","POST /api/v1/text":"Text paste only","POST /api/v1/upload":"Same as /api","POST /api/v1/upload/<id>/<n>":"Send chunk n as raw body or multipart field `chunk`","POST /api/v1/upload/<id>/complete":"Assemble chunks and create the paste","POST /api/v1/upload/init":"Start a chunked file upload (files up to 100 MB)"},"examples":{"chunked_file":"curl -sS -X POST https://tbit.sh/api/v1/upload/init -H 'Content-Type: application/json' -d '{\"filename\":\"clip.mp4\",\"size\":8000000,\"expiry\":\"2\"}' && curl -sS -X POST https://tbit.sh/api/v1/upload/<id>/0 -H 'Content-Type: application/octet-stream' --data-binary @chunk0.bin && curl -sS -X POST https://tbit.sh/api/v1/upload/<id>/complete","form_urlencoded":"curl -sS -X POST https://tbit.sh/api -d 'content=hello&expiry=2&burn_after_read=1'","json":"curl -sS -X POST https://tbit.sh/api -H 'Content-Type: application/json' -d '{\"content\":\"hello\",\"expiry\":\"2\",\"burn_after_read\":true}'","multipart_file":"curl -sS -X POST https://tbit.sh/api -F file=@photo.jpg -F expiry=2","multipart_text":"curl -sS -X POST https://tbit.sh/api -F content=hello -F expiry=2","note":"Executables, scripts, HTML/SVG, and other exploit-class files are rejected (400 forbidden_file / forbidden_extension / forbidden_content).","plain_body":"curl -sS -X POST 'https://tbit.sh/api?expiry=1&burn_after_read=1' -H 'Content-Type: text/plain' --data-binary @notes.txt","query_string":"curl -sS -X POST 'https://tbit.sh/api?content=Hello%20world&expiry=1'","query_string_browser":"https://tbit.sh/api?content=Hello%20world&expiry=1"},"fields":{"burn_after_read":"bool \u2014 delete after first open (default: false)","chunk_size":"chunked init \u2014 bytes per chunk (256 KB\u201364 MB, default 16 MB)","content":"string \u2014 paste body (aliases: text, body, paste, message)","expiry":"1 | 2 | 7 | 14 | month | year | never  (default: 7)","file":"file \u2014 multipart upload (aliases: upload, attachment); single request \u2264100 MB","filename":"chunked init \u2014 original name (used only for type sniffing)","size":"chunked init \u2014 total file size in bytes (max 100 MB)","strip_metadata":"bool \u2014 remove EXIF, GPS, and tags from images, video, and audio (default: false)"},"ok":true}
