{"openapi":"3.0.3","info":{"title":"curlhub.sh","version":"1","description":"CLI-first developer utilities."},"servers":[{"url":"https://curlhub.sh"}],"paths":{"/uuid":{"get":{"summary":"RFC 4122 v4 UUID.","x-transport":"http+https","x-input":"none","x-examples":["curl curlhub.sh/uuid"],"responses":{"200":{"description":"OK"}}}},"/pass":{"get":{"summary":"High-entropy password / API key / token. CLI: server-side CSPRNG over TLS; web: client-side. Never logged.","x-transport":"https-only","x-input":"query: len, charset","x-examples":["curl https://curlhub.sh/pass?len=32"],"responses":{"200":{"description":"OK"}}}},"/qr":{"get":{"summary":"ANSI/UTF-8 QR code from ?data. Nothing stored server-side; use HTTPS or pipe stdin for sensitive payloads (a ?data= value appears in request URLs).","x-transport":"http+https","x-input":"?data=","x-examples":["curl curlhub.sh/qr?data=https://curlhub.sh"],"responses":{"200":{"description":"OK"}}}},"/b64":{"get":{"summary":"Base64 encode / decode.","x-transport":"https-only","x-input":"piped stdin / body","x-examples":["printf 'hello' | curl --data-binary @- https://curlhub.sh/b64"],"responses":{"200":{"description":"OK"}}}},"/hash":{"get":{"summary":"MD5 / SHA-1 / SHA-256 / SHA-512 of input.","x-transport":"https-only","x-input":"piped stdin / body","x-examples":["printf 'data' | curl --data-binary @- https://curlhub.sh/hash"],"responses":{"200":{"description":"OK"}}}},"/json":{"get":{"summary":"Validate + prettify + colorize JSON.","x-transport":"https-only","x-input":"piped stdin / body","x-examples":["curl --data-binary @data.json https://curlhub.sh/json"],"responses":{"200":{"description":"OK"}}}},"/jwt":{"get":{"summary":"Decode & pretty-print JWT header/payload. No verify; token never logged.","x-transport":"https-only","x-input":"piped stdin / body","x-examples":["printf \"$JWT\" | curl --data-binary @- https://curlhub.sh/jwt"],"responses":{"200":{"description":"OK"}}}},"/md":{"get":{"summary":"Render Markdown to colorized ANSI (safe, bounded parser).","x-transport":"https-only","x-input":"piped stdin / body","x-examples":["curl --data-binary @README.md https://curlhub.sh/md"],"responses":{"200":{"description":"OK"}}}},"/status":{"get":{"summary":"Explain an HTTP status code + troubleshooting.","x-transport":"http+https","x-input":"path segment","x-examples":["curl curlhub.sh/status/418"],"responses":{"200":{"description":"OK"}}}},"/cron":{"get":{"summary":"Translate a cron expression to English + next run times.","x-transport":"http+https","x-input":"path / query","x-examples":["curl curlhub.sh/cron?expr='*/15 * * * *'"],"responses":{"200":{"description":"OK"}}}},"/cidr":{"get":{"summary":"Subnet / CIDR math: range, netmask, broadcast, host count.","x-transport":"http+https","x-input":"path / query","x-examples":["curl curlhub.sh/cidr/10.0.0.0/24"],"responses":{"200":{"description":"OK"}}}},"/ua":{"get":{"summary":"Parse the User-Agent you sent (browser / OS / engine / device).","x-transport":"http+https","x-input":"none","x-examples":["curl -A \"$UA\" curlhub.sh/ua"],"responses":{"200":{"description":"OK"}}}},"/ip":{"get":{"summary":"Your public IP (thin). Geo/ASN live at worldip.io.","x-transport":"http+https","x-input":"none","x-examples":["curl curlhub.sh/ip"],"responses":{"200":{"description":"OK"}}}},"/headers":{"get":{"summary":"Echo the request headers you sent (+ the edge view). Your own request, not a remote audit.","x-transport":"http+https","x-input":"none","x-examples":["curl curlhub.sh/headers"],"responses":{"200":{"description":"OK"}}}},"/ssl":{"get":{"summary":"Decode a PEM certificate or CSR you paste (expiry, issuer, SANs, key). No outbound connection.","x-transport":"https-only","x-input":"piped stdin / body (PEM)","x-examples":["curl --data-binary @cert.pem https://curlhub.sh/ssl"],"responses":{"200":{"description":"OK"}}}},"/whois":{"get":{"summary":"Domain registration / registrar / dates (public OSINT; rate-limited + cached).","x-transport":"http+https","x-input":"path / query (domain)","x-examples":["curl curlhub.sh/whois/example.com"],"responses":{"200":{"description":"OK"}}}},"/u":{"get":{"summary":"Ephemeral file drop (<=100 MB). ANSI QR; auto-purge after 1 download or TTL.","x-transport":"https-only","x-input":"file upload","x-examples":["curl -F 'file=@doc.pdf' https://curlhub.sh/u"],"responses":{"200":{"description":"OK"}}}},"/p":{"get":{"summary":"Pastebin: pipe text/logs to a short URL (plaintext in terminal, highlighted on web).","x-transport":"https-only","x-input":"piped stdin / body","x-examples":["cat app.log | curl --data-binary @- https://curlhub.sh/p"],"responses":{"200":{"description":"OK"}}}},"/hook":{"get":{"summary":"Webhook inspector: mint a temp endpoint, inspect incoming HTTP.","x-transport":"https-only","x-input":"none to create","x-examples":["curl https://curlhub.sh/hook/new"],"responses":{"200":{"description":"OK"}}}},"/man":{"get":{"summary":"Community CLI cheat-sheet wiki (read-only over CLI).","x-transport":"http+https","x-input":"path (command)","x-examples":["curl curlhub.sh/man/tar"],"responses":{"200":{"description":"OK"}}}},"/port":{"get":{"summary":"Port scan of your own IP → hands off to qsa.sh.","x-transport":"http+https","x-input":"none","x-examples":["curl curlhub.sh/port"],"responses":{"200":{"description":"OK"}}}},"/scan":{"get":{"summary":"Vulnerability / threat scan of your IP → hands off to qsa.sh.","x-transport":"http+https","x-input":"none","x-examples":["curl curlhub.sh/scan"],"responses":{"200":{"description":"OK"}}}},"/urlscan":{"get":{"summary":"Multi-egress URL scan → hands off to whack.sh.","x-transport":"http+https","x-input":"none","x-examples":["curl curlhub.sh/urlscan"],"responses":{"200":{"description":"OK"}}}}}}