{"openapi":"3.1.0","info":{"title":"Import Check","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/example":{"get":{"summary":"Sample","operationId":"sample_v1_example_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/demo":{"get":{"summary":"Demo","operationId":"demo_v1_demo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/validate":{"post":{"summary":"Validate Api","operationId":"validate_api_v1_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/clean":{"post":{"summary":"Clean Api","operationId":"clean_api_v1_clean_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CleanInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/usage":{"get":{"summary":"Usage","operationId":"usage_v1_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/billing/checkout":{"post":{"summary":"Checkout","operationId":"checkout_v1_billing_checkout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/billing/claim":{"post":{"summary":"Claim","operationId":"claim_v1_billing_claim_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/billing/webhook":{"post":{"summary":"Webhook","operationId":"webhook_v1_billing_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Home","operationId":"home__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/docs/":{"get":{"summary":"Docs","operationId":"docs_docs__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/":{"get":{"summary":"Legal","operationId":"legal_legal__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/assets/{filename}":{"get":{"summary":"Asset","operationId":"asset_assets__filename__get","parameters":[{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Change":{"properties":{"column":{"type":"string","maxLength":100,"minLength":1,"title":"Column","description":"Original header before any renaming."},"action":{"type":"string","enum":["trim","lowercase","uppercase","decimal_comma"],"title":"Action"}},"additionalProperties":false,"type":"object","required":["column","action"],"title":"Change"},"CleanInput":{"properties":{"csv_text":{"type":"string","maxLength":1000000,"title":"Csv Text","description":"UTF-8 CSV text, including the header; no URLs, paths, XLSX, or formulas to execute."},"schema":{"$ref":"#/components/schemas/CsvSchema"},"delimiter":{"type":"string","enum":[",",";","\t","|"],"title":"Delimiter","default":","},"cleanup":{"$ref":"#/components/schemas/Cleanup"}},"additionalProperties":false,"type":"object","required":["csv_text","schema","cleanup"],"title":"CleanInput"},"Cleanup":{"properties":{"rename":{"additionalProperties":{"type":"string"},"type":"object","title":"Rename","description":"Original header to new header; simultaneous rename, no dropping columns."},"changes":{"items":{"$ref":"#/components/schemas/Change"},"type":"array","maxItems":100,"title":"Changes","description":"Applied in order to explicitly named original columns only."},"spreadsheet_safe":{"type":"boolean","title":"Spreadsheet Safe","description":"Prefix cells starting with spreadsheet formula markers with an apostrophe. Output is then revalidated; numeric negatives may fail numeric types.","default":false}},"additionalProperties":false,"type":"object","title":"Cleanup"},"Column":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Exact, case-sensitive header after any cleanup rename."},"type":{"type":"string","enum":["string","integer","decimal","boolean","date","email"],"title":"Type","default":"string"},"required":{"type":"boolean","title":"Required","description":"Reject an empty value. Every declared header must exist regardless.","default":true},"unique":{"type":"boolean","title":"Unique","description":"Require non-empty raw strings to be unique within this column.","default":false},"choices":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":100},{"type":"null"}],"title":"Choices","description":"Optional exact allowed strings, checked before type conversion."},"minimum":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Minimum","description":"Inclusive numeric bound, as a decimal string. Numeric columns only."},"maximum":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Maximum","description":"Inclusive numeric bound, as a decimal string. Numeric columns only."},"max_length":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Max Length","default":10000}},"additionalProperties":false,"type":"object","required":["name"],"title":"Column"},"CsvInput":{"properties":{"csv_text":{"type":"string","maxLength":1000000,"title":"Csv Text","description":"UTF-8 CSV text, including the header; no URLs, paths, XLSX, or formulas to execute."},"schema":{"$ref":"#/components/schemas/CsvSchema"},"delimiter":{"type":"string","enum":[",",";","\t","|"],"title":"Delimiter","default":","}},"additionalProperties":false,"type":"object","required":["csv_text","schema"],"title":"CsvInput"},"CsvSchema":{"properties":{"columns":{"items":{"$ref":"#/components/schemas/Column"},"type":"array","maxItems":100,"minItems":1,"title":"Columns"},"allow_extra_columns":{"type":"boolean","title":"Allow Extra Columns","default":false}},"additionalProperties":false,"type":"object","required":["columns"],"title":"CsvSchema"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}