{"id":"xlsx-inspect","version":"1.0.0","description":"inspect excel workbook structure.","supported_operations":["inspect excel workbook structure","list xlsx sheet names and dimensions","count uncached spreadsheet formulas","inspect shared string count","read excel metadata properties","inspect spreadsheet cached data dimensions"],"unsupported_operations":["ZIP64, encrypted archives, compression other than stored/deflate, or non-UTF-8 legacy filenames","Formula execution, style-based dates, charts, macros, full workbook validation, or unrestricted Excel coverage"],"semantics":["Canonical standard Base64 only; decoded input <=2048 bytes. Unknown keys and malformed Base64 are invalid_input. Declared or actual resource excess is limit_exceeded.","Single-disk ZIP supports stored/deflate and ASCII or UTF-8 names. All entry CRCs and actual sizes are verified, including entries not selected for extraction. ZIP64, encryption, other compression methods and non-UTF-8 legacy names are unsupported_input; duplicate/unsafe paths and inconsistent metadata are invalid_input.","At most 6 entries, 128 UTF-8 bytes per name, 2048 expanded bytes per entry and 4096 expanded bytes per archive. DTD is forbidden. XML uses ASCII qualified names, UTF-8 text, XML 1.0 characters, <=2048 bytes per part, depth16 and 128 cumulative element/text nodes per call; parsed identical XML parts are cached.","SpreadsheetML Transitional Office relationship URIs; cached values only, no formula execution, style-based date conversion, charts, macros or full validation.","First physical grid row becomes header; empty sparse cells padded across A1:maxRef before projection, cumulative cell charge BEFORE dense allocation.","CSV defaults first sheet and exact optional sheet name; LF records with RFC4180 comma/quote/CR/LF escaping, UTF-8 text. Markdown defaults all sheets with safe escaped sheet headings.","Recognized types n,s,inlineStr,b,e,str only; booleans0/1 strict; shared indexes nonnegative decimal integers; unknown types unsupported_input; duplicate cell refs and sheet names invalid_input.","All sheets load and consume cumulative parsing/cell budget even when one is selected; repeated reference may reuse parsed XML but still charges dense projection each time.","No date/formula evaluation; integer text never coerced through IEEE754; fractional/exponent/error/cachedformula/merged handling disclosed through warnings.","Phonetic annotations are omitted with a warning; rich-text runs retain their text. Optional sheet selection is exact, not fuzzy or positional.","XLSX-specific total XML node allowance128 is enforced before node creation, across main/root relationships, workbook, worksheet, shared strings and inspected metadata; identical text is parsed once.","Supplied sheet must be a nonempty string; null is invalid_input. Six ZIP entries and other bounds may restrict the number of representable sheets below the soft maximum4.","Central ZIP filename raw bytes beginning EF BB BF are outside the subset: 422 unsupported_input before UTF-8 decoding or normalized duplicate lookup, including selected/unselected/directory entries, central-only mismatch and BOM/plain duplicates after existing preceding checks. A plain central name with only its local name BOM-prefixed retains 400 invalid_input/local-central filename mismatch. Noninitial U+FEFF filename content, leading XML payload BOM handling and literal cell-text U+FEFF stay unchanged."],"limits":{"max_base64_chars":2732,"max_decoded_bytes":2048,"max_archive_entries":6,"max_entry_uncompressed_bytes":2048,"max_archive_uncompressed_bytes":4096,"max_zip_name_bytes":128,"max_xml_bytes":2048,"max_xml_depth":16,"max_xml_nodes_cumulative":128,"max_table_rows":128,"max_table_columns":32,"max_table_cells_cumulative":128,"max_output_bytes":8192,"max_sheets":4,"max_sheet_name_bytes":256},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["bytes_base64"],"properties":{"bytes_base64":{"type":"string","minLength":4,"maxLength":2732}}},"output_schema":{"type":"object","additionalProperties":false,"required":["format","metadata","shared_strings","sheets","warnings"],"properties":{"format":{"type":"string","const":"xlsx"},"metadata":{"type":"object","additionalProperties":false,"required":[],"properties":{"title":{"type":"string","maxLength":8192},"creator":{"type":"string","maxLength":8192},"subject":{"type":"string","maxLength":8192},"description":{"type":"string","maxLength":8192}}},"shared_strings":{"type":"integer","minimum":0,"maximum":128},"sheets":{"type":"array","minItems":1,"maxItems":4,"items":{"type":"object","additionalProperties":false,"required":["name","rows","columns","formulas_without_cached_value"],"properties":{"name":{"type":"string","maxLength":256},"rows":{"type":"integer","minimum":0,"maximum":128},"columns":{"type":"integer","minimum":0,"maximum":32},"formulas_without_cached_value":{"type":"integer","minimum":0,"maximum":128}}}},"warnings":{"type":"array","maxItems":32,"items":{"type":"string","maxLength":512}}}},"examples":[{"input":{"bytes_base64":"UEsDBBQAAAAIAAAAIVzEvLXpeQAAAI8AAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbCWOMQ7CMAxFr1JlRSQXSLuwAwMXMIkjosZ2lLil3J4Wprf89/X841OxT/62Yms54nCHplcgHI3bintLm58is92omOEirMh6KKOBWksOoFnYrRytVOR9laQRaD9LSjlglLDQrtheG0LsL0SlYn+0BJlPx7GbvPt3fAFQSwMEFAAAAAgAAAAhXEi4DRN5AAAAqwAAAAsAAABfcmVscy8ucmVsc12OQQ7CIBBFr9JwgE7jwoWBrty4NV5gxKGQAkNgGuvtZVldvuTnva/vFFEC5+ZDabM+4nB7GZUwZDU8PoWM8iLlAtCsp4Rt5EJ5T9FxTSgd6wLsXLB0ZbslygKnaTpDPRb+Ft2MdSExao/w5ro+mdexSxXMGn6/fQFQSwMEFAAAAAgAAAAhXIIkrXSKAAAA1wAAAA8AAAB4bC93b3JrYm9vay54bWyNj0EOwjAMBL9S+QG4cOBQNT3xA14QWodErePIDoLnUyi9c9q1djXW9k/R+SYyNy9esjmItZYO0cZI7O0ghfKaBFH2dT31jlaU/GSRqPKCp7Y9I/uUYSN0+g9DQkgjXWR8MOW6QZQWX5Nki6kYwtB/X9hPm+yZHFw//giNdmlyYC3g0ONexH3M8AZQSwMEFAAAAAgAAAAhXIPcXI54AAAApgAAABoAAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1XOMQ4CIRCF4atsOMAOsbAwsJWNrfECBIeFuDBkZox6e6nMWv6v+PLcFbeghZrk0mVx+5wud2/Emun26ehNVu0nAIkZa5CZOrZ33RJxDTqSV6CUSsQzxWfFpnCw9gi89+FF/JCMqAMNvKJ685sExM5DNLA4+L/1BVBLAwQUAAAACAAAACFco01Wh6gAAAA/AQAAFAAAAHhsL3dvcmtzaGVldHMvczAueG1sdVBBDoIwEPwK6QNc6MGDKU1Qz158wQZWaaQtaVfw+RY0BBO57czO7GRWjT48YkvE2ct2LpaiZe4PALFuyWLc+Z5c2tx8sMgJhjvEPhA2s8l2IPN8DxaNE1rN3BkZtQp+zEIpisTW01AVIuNSGNcZR1cOiTdRK9YXtKSAtYIJQ/3VH7f0J/90/GuAFLYkyiVRblyoGvwX+JFPNQZdSAXD+jisqsHyM/0GUEsBAhQAFAAAAAgAAAAhXMS8tel5AAAAjwAAABMAAAAAAAAAAAAAAIABAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECFAAUAAAACAAAACFcSLgNE3kAAACrAAAACwAAAAAAAAAAAAAAgAGqAAAAX3JlbHMvLnJlbHNQSwECFAAUAAAACAAAACFcgiStdIoAAADXAAAADwAAAAAAAAAAAAAAgAFMAQAAeGwvd29ya2Jvb2sueG1sUEsBAhQAFAAAAAgAAAAhXIPcXI54AAAApgAAABoAAAAAAAAAAAAAAIABAwIAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzUEsBAhQAFAAAAAgAAAAhXKNNVoeoAAAAPwEAABQAAAAAAAAAAAAAAIABswIAAHhsL3dvcmtzaGVldHMvczAueG1sUEsFBgAAAAAFAAUAQQEAAI0DAAAAAA=="},"output":{"format":"xlsx","metadata":{},"shared_strings":0,"sheets":[{"name":"Sheet1","rows":2,"columns":2,"formulas_without_cached_value":0}],"warnings":[]}}],"execute_url":"/v1/tools/xlsx-inspect/versions/1.0.0/execute"}