{"ok":true,"tool":"Vigenère Cipher","operation":"vigenere-cipher","description":"Encrypt or decrypt text with a Vigenere (polyalphabetic) keyword cipher.","method":"POST","endpoint":"/api/vigenere-cipher","webUrl":"https://ultraquick.tools/tools/vigenere-cipher","parameters":{"type":"object","properties":{"text":{"type":"string","description":"The text to encipher"},"key":{"type":"string","description":"Alphabetic keyword (letters only) (default \"key\")"},"direction":{"type":"string","enum":["encrypt","decrypt"],"description":"Encrypt or decrypt (default encrypt)"}},"required":["text"]},"response":{"type":"object","properties":{"input":{"type":"string"},"key":{"type":"string"},"direction":{"type":"string"},"result":{"type":"string"}}},"example":{"request":{"text":"ATTACKATDAWN","key":"LEMON","direction":"encrypt"},"response_shape":{"type":"object","properties":{"input":{"type":"string"},"key":{"type":"string"},"direction":{"type":"string"},"result":{"type":"string"}}}},"howToCall":"POST a JSON body to https://ultraquick.tools/api/vigenere-cipher. Returns {\"ok\":true,\"result\":{...}} on success or {\"ok\":false,\"error\":\"...\"} on failure. No auth, CORS-enabled.","parametersSummary":"  text (string, required) — The text to encipher\n  key (string, optional) — Alphabetic keyword (letters only) (default \"key\")\n  direction (string, optional, one of: encrypt|decrypt) — Encrypt or decrypt (default encrypt)","curlExample":"curl -X POST https://ultraquick.tools/api/vigenere-cipher -H \"Content-Type: application/json\" -d '{\"text\":\"ATTACKATDAWN\",\"key\":\"LEMON\",\"direction\":\"encrypt\"}'"}