trutools API v1 https://tools.truvibe.dev Every tool answers on a short path — / — and on the versioned /api/v1/. Both are the same endpoint; the versioned form is kept so a future /v2 can land without breaking anything. Plain text by default. Add ?format=json or ?format=xml for a machine-readable response, or send an Accept header of application/json or application/xml. Errors come back in the same format you asked for. Rate limited per IP; check X-RateLimit-Remaining and Retry-After. ## CRYPTO GET /password-generator Password Generator — Build strong random passwords with control over length and which character classes are in play. - length (optional): 4 to 256. Default 24. - count (optional): How many to return. 1 to 100. Default 1. - lowercase (optional): Include a-z. Default true. - uppercase (optional): Include A-Z. Default true. - digits (optional): Include 0-9. Default true. - symbols (optional): Include punctuation. Default true. - exclude-ambiguous (optional): Drop easily confused characters like O, 0, l and 1. Default false. $ curl 'https://tools.truvibe.dev/password-generator?length=32&count=3' GET /uuid-generator UUID Generator — Mint UUIDs on demand. Version 4 for pure randomness, version 7 when you want them to sort by time. - version (optional): 4 or 7. Default 4. - count (optional): 1 to 1000. Default 1. - uppercase (optional): Return uppercase hex. Default false. - hyphens (optional): Include hyphens. Default true. $ curl 'https://tools.truvibe.dev/uuid-generator?version=7&count=5' GET /token-generator Token Generator — Cryptographically random tokens with an optional prefix, so a leaked key is obvious in a log. - bytes (optional): Entropy in bytes. 8 to 256. Default 32. - encoding (optional): base64url, hex or base58. Default base64url. - prefix (optional): Prepended with an underscore, e.g. sk_live. - count (optional): 1 to 100. Default 1. $ curl 'https://tools.truvibe.dev/token-generator?bytes=32&prefix=sk_live' GET /ssh-keypair-generator SSH Keypair Generator — Produce an OpenSSH keypair — ed25519 or RSA — with the private key and a ready-to-paste public key. - type (optional): ed25519 or rsa. Default ed25519. - bits (optional): RSA modulus: 2048, 3072 or 4096. Ignored for ed25519. Default 4096. - comment (optional): Trailing comment on the public key. $ curl 'https://tools.truvibe.dev/ssh-keypair-generator?type=ed25519&comment=laptop' POST /cert-reader Certificate Reader — Paste a PEM certificate and read back the subject, issuer, SANs, validity window and fingerprints. - body (required): The PEM certificate, POSTed as the raw request body. $ curl --data-binary @cert.pem 'https://tools.truvibe.dev/cert-reader' ## NETWORKING GET /subnet-calculator Subnet Calculator — Turn CIDR into the numbers you actually need: network, broadcast, usable range, mask and host count. - cidr (required): The network in CIDR form, IPv4 or IPv6, e.g. 10.0.0.0/22. $ curl 'https://tools.truvibe.dev/subnet-calculator?cidr=10.0.0.0/22' GET /ip What Is My IP — Echo back the public IP address the request arrived from. Plain text, nothing else — pipe it straight into a script. $ curl 'https://tools.truvibe.dev/ip' ## DATA FORMAT GET /timestamp-converter Timestamp Converter — Move between Unix epoch, ISO 8601 and human-readable dates without opening a REPL to do it. - value (optional): Epoch seconds, epoch millis, an ISO 8601 string, or "now". Default now. - tz (optional): IANA timezone for the readable line. Default UTC. $ curl 'https://tools.truvibe.dev/timestamp-converter?value=1754870400&tz=Europe/London' POST /json-beautify Beautify JSON — Reformat minified JSON into something readable, or minify it back down. Reports the parse error if it will not parse. - body (required): The JSON document, POSTed as the raw request body. - indent (optional): Spaces per level, 0 to 8. 0 minifies. Default 2. - sort (optional): Sort object keys alphabetically. Default false. $ curl --data-binary @data.json 'https://tools.truvibe.dev/json-beautify?indent=2' ## TEXT POST /text-tool Text Tool — Join lines into one, split one into many, trim whitespace, drop duplicates, sort, or just count what is there. - body (required): The input text, POSTed as the raw request body. - op (optional): join, split, trim, dedupe, sort, reverse or count. Default join. - sep (optional): Separator for join and split. Supports \n and \t. Default a comma. - drop-empty (optional): Drop blank lines first. Default true. $ curl --data-binary @hosts.txt 'https://tools.truvibe.dev/text-tool?op=join&sep=%2C' 10 of 10 endpoints implemented.