{"info":{"description":"Programmatic access to DevConvert's conversion tools.","title":"DevConvert API","version":"1.0.0"},"openapi":"3.0.3","paths":{"/api/api-flow":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Turn a step-by-step description into a Mermaid flowchart."}},"/api/base-convert":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"assumed_base":{"description":"","type":"integer"},"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a number between decimal/binary/octal/hex."}},"/api/base64-decode":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Decode Base64 to text."}},"/api/base64-encode":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Encode text as Base64."}},"/api/case-convert":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert text to camelCase/snake_case/kebab-case/PascalCase/etc."}},"/api/color-convert":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a color between HEX/RGB/HSL."}},"/api/cron-explain":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Explain a 5-field cron expression."}},"/api/cron-next-runs":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"count":{"description":"","type":"integer"},"expression":{"description":"","type":"string"}},"required":["expression"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Next N run times for a cron expression."}},"/api/css-beautify":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Pretty-print CSS."}},"/api/css-minify":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Minify CSS."}},"/api/csv-diff":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file_a":{"description":"","type":"string"},"file_b":{"description":"","type":"string"}},"required":["file_a","file_b"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Row/column-aware diff of two CSV/XLSX files."}},"/api/csv-merge":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"files":{"description":"","type":"string"}},"required":["files"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Combine multiple CSV files (same columns) into one."}},"/api/csv-to-fixedwidth":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"layout":{"description":"","type":"string"},"text":{"description":"","type":"string"}},"required":["text","layout"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Write CSV rows as a positional fixed-width file."}},"/api/csv-to-json":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert CSV rows to a JSON array of objects."}},"/api/csv-to-markdown":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Render CSV as a Markdown table."}},"/api/csv-xlsx":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Turn CSV into a formatted .xlsx workbook."}},"/api/curl-to-code":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"language":{"description":"","type":"string"},"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Turn a curl command into Node.js/Java HTTP client code."}},"/api/data-to-env":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a flat JSON/YAML object to .env lines."}},"/api/data-to-tfvars":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a JSON/YAML object to a .tfvars file."}},"/api/docx-edit":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"append_style":{"description":"","type":"string"},"append_text":{"description":"","type":"string"},"file":{"description":"","type":"string"},"find_text":{"description":"","type":"string"},"replace_text":{"description":"","type":"string"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Find-and-replace text and/or append a paragraph/heading in a .docx."}},"/api/docx-merge":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"files":{"description":"","type":"string"}},"required":["files"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Merge multiple .docx files into one."}},"/api/docx-to-pdf":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"","type":"string"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a .docx to PDF, keeping formatting, tables, images and header/footer."}},"/api/env-to-json":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a .env file to JSON."}},"/api/env-to-yaml":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a .env file to YAML."}},"/api/favicon-generator":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"","type":"string"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate a multi-resolution .ico favicon from an image."}},"/api/file-compare":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text_a":{"description":"","type":"string"},"text_b":{"description":"","type":"string"}},"required":["text_a","text_b"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Line-by-line diff of two text blobs."}},"/api/fixedwidth-to-csv":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"layout":{"description":"","type":"string"},"text":{"description":"","type":"string"}},"required":["text","layout"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Split a fixed-width file into CSV using a layout."}},"/api/fixedwidth-to-json":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"layout":{"description":"","type":"string"},"text":{"description":"","type":"string"}},"required":["text","layout"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Split a fixed-width file into JSON using a layout."}},"/api/hash-gen":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"MD5/SHA-1/SHA-256/SHA-512 digests of text."}},"/api/html-beautify":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Pretty-print HTML."}},"/api/html-minify":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Minify HTML."}},"/api/html-to-markdown":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert HTML to Markdown."}},"/api/idoc-to-json":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"segment_name_width":{"description":"","type":"integer"},"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Parse an SAP IDoc flat file into JSON."}},"/api/idoc-to-xml":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"segment_name_width":{"description":"","type":"integer"},"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Parse an SAP IDoc flat file into XML."}},"/api/image-compress":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"","type":"string"},"quality":{"description":"","type":"integer"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Shrink an image's file size."}},"/api/image-convert":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"","type":"string"},"target_format":{"description":"","type":"string"}},"required":["file","target_format"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert an image between PNG/JPEG/WebP."}},"/api/image-diff":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file_a":{"description":"","type":"string"},"file_b":{"description":"","type":"string"},"threshold":{"description":"","type":"integer"}},"required":["file_a","file_b"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Binary file content."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Highlight pixel differences between two same-size images."}},"/api/images-to-pdf":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"files":{"description":"","type":"string"}},"required":["files"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Combine one or more images into a single PDF."}},"/api/json-beautify":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Pretty-print JSON."}},"/api/json-diff":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text_a":{"description":"","type":"string"},"text_b":{"description":"","type":"string"}},"required":["text_a","text_b"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Structural (value-based) diff of two JSON documents."}},"/api/json-minify":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Minify JSON."}},"/api/json-schema-infer":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Infer a JSON Schema from a sample payload."}},"/api/json-schema-sample":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate a sample payload from a JSON Schema."}},"/api/json-to-csv":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a JSON array of objects to CSV."}},"/api/json-to-fixedwidth":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"layout":{"description":"","type":"string"},"text":{"description":"","type":"string"}},"required":["text","layout"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Write a JSON array of objects as a positional fixed-width file."}},"/api/json-to-idoc":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"segment_name_width":{"description":"","type":"integer"},"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Write a JSON IDoc representation back to flat-file format."}},"/api/json-to-xml":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert JSON to XML."}},"/api/json-to-xsd":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Infer an XSD schema from a sample JSON document."}},"/api/json-to-yaml":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert JSON to YAML."}},"/api/jwt-decode":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Decode a JWT's header/payload (no signature verification)."}},"/api/lorem-ipsum":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"paragraphs":{"description":"","type":"integer"},"sentences_per_paragraph":{"description":"","type":"integer"}},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate Lorem Ipsum placeholder text."}},"/api/mapping-sheet-to-code":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"language":{"description":"","type":"string"},"logic_col":{"description":"","type":"string"},"rows":{"description":"","type":"array"},"source_col":{"description":"","type":"string"},"target_col":{"description":"","type":"string"}},"required":["rows","source_col","target_col"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate a Node.js/Java field-mapper from mapping rows given directly as JSON."}},"/api/markdown-to-csv":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Parse a Markdown table back into CSV."}},"/api/markdown-to-html":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Render Markdown as HTML."}},"/api/markdown-to-pdf":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Render Markdown straight to PDF."}},"/api/openapi-to-code":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"language":{"description":"","type":"string"},"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate Node.js/Java client stubs from an OpenAPI/Swagger spec."}},"/api/password-generator":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"exclude_ambiguous":{"description":"","type":"boolean"},"length":{"description":"","type":"integer"},"use_digits":{"description":"","type":"boolean"},"use_lower":{"description":"","type":"boolean"},"use_symbols":{"description":"","type":"boolean"},"use_upper":{"description":"","type":"boolean"}},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Cryptographically secure random password."}},"/api/pdf-add-text":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"color":{"description":"","type":"string"},"file":{"description":"","type":"string"},"font_size":{"description":"","type":"integer"},"opacity":{"description":"","type":"integer"},"pages":{"description":"","type":"string"},"position":{"description":"","type":"string"},"rotation":{"description":"","type":"integer"},"text":{"description":"","type":"string"}},"required":["file","text"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Binary file content."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Stamp or watermark text onto a PDF."}},"/api/pdf-compress":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"","type":"string"},"quality":{"description":"","type":"integer"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Shrink a PDF by re-compressing its embedded images."}},"/api/pdf-merge":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"files":{"description":"","type":"string"}},"required":["files"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Merge multiple PDFs into one."}},"/api/pdf-split":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"","type":"string"},"mode":{"description":"","type":"string"},"ranges":{"description":"","type":"string"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Binary file content."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Split a PDF by page ranges (mode=ranges, needs 'ranges') or one file per page (mode=per-page). Returns a .zip."}},"/api/pdf-text-diff":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file_a":{"description":"","type":"string"},"file_b":{"description":"","type":"string"}},"required":["file_a","file_b"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Line-by-line diff of two PDFs' extracted text."}},"/api/pdf-to-docx":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"","type":"string"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a PDF to an editable .docx, keeping formatting, tables and images."}},"/api/pdf-to-images":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"dpi":{"description":"","type":"integer"},"file":{"description":"","type":"string"},"image_format":{"description":"","type":"string"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Rasterize a PDF's pages to PNG/JPEG, zipped."}},"/api/qr-code":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Turn text/URL into a QR code PNG."}},"/api/regex-tester":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"flags":{"description":"","type":"string"},"pattern":{"description":"","type":"string"},"text":{"description":"","type":"string"}},"required":["pattern","text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Test a Python regex against text."}},"/api/sap-rfc-generate":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"function_name":{"description":"","type":"string"},"params_text":{"description":"","type":"string"}},"required":["function_name","params_text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate a Java SAP JCo call stub for an RFC/BAPI."}},"/api/soap-wrap":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"body_format":{"description":"","type":"string"},"namespace":{"description":"","type":"string"},"soap_version":{"description":"","type":"string"},"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Wrap a JSON/XML body into a SOAP envelope."}},"/api/sql-format":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Pretty-print a SQL statement."}},"/api/text-counter":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Character/word/sentence/line/paragraph counts."}},"/api/tfvars-to-json":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a Terraform .tfvars file to JSON."}},"/api/tfvars-to-yaml":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a Terraform .tfvars file to YAML."}},"/api/timestamp-convert":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Unix timestamp <-> date/time across timezones."}},"/api/timezone-convert":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"date":{"description":"","type":"string"},"source_tz":{"description":"","type":"string"},"time":{"description":"","type":"string"}},"required":["date","time"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert a date/time from one timezone to several others."}},"/api/url-decode":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Percent-decode text."}},"/api/url-encode":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Percent-encode text."}},"/api/uuid-generator":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"count":{"description":"","type":"integer"},"version":{"description":"","type":"integer"}},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate one or more v1/v4 UUIDs."}},"/api/xlsx-to-csv":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"file":{"description":"","type":"string"}},"required":["file"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert an .xlsx workbook's active sheet to CSV."}},"/api/xml-to-json":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert XML to JSON."}},"/api/xml-to-xsd":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Infer an XSD schema from a sample XML document."}},"/api/xsd-to-json":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate a sample JSON document from an XSD schema."}},"/api/xsd-to-xml":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Generate a sample XML document from an XSD schema."}},"/api/yaml-to-json":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"description":"","type":"string"}},"required":["text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"JSON result."},"400":{"description":"Invalid input -- see the 'error' field."}},"summary":"Convert YAML to JSON."}}},"servers":[{"url":"/"}]}
