{"openapi":"3.1.0","info":{"title":"Import Check","version":"0.2.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/tables/example":{"get":{"summary":"Tables Example","operationId":"tables_example_v1_tables_example_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/tables/demo":{"get":{"summary":"Tables Demo","operationId":"tables_demo_v1_tables_demo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/tables/inspect":{"post":{"summary":"Tables Inspect","operationId":"tables_inspect_v1_tables_inspect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InspectInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tables/prepare":{"post":{"summary":"Tables Prepare","operationId":"tables_prepare_v1_tables_prepare_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tables/reconcile":{"post":{"summary":"Tables Reconcile","operationId":"tables_reconcile_v1_tables_reconcile_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconcileInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/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":{}}}}}}},"/tables/":{"get":{"summary":"Tables Workspace","operationId":"tables_workspace_tables__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"}}}}}}},"/.well-known/glama.json":{"get":{"summary":"Glama Claim","operationId":"glama_claim__well_known_glama_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"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"},"InspectInput":{"properties":{"table":{"$ref":"#/components/schemas/TableInput"}},"additionalProperties":false,"type":"object","required":["table"],"title":"InspectInput"},"JoinColumn":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"side":{"type":"string","enum":["left","right"],"title":"Side"},"column":{"type":"string","maxLength":100,"minLength":1,"title":"Column"}},"additionalProperties":false,"type":"object","required":["name","side","column"],"title":"JoinColumn"},"JoinRecipe":{"properties":{"version":{"type":"integer","const":1,"title":"Version","default":1},"keys":{"items":{"$ref":"#/components/schemas/KeyPair"},"type":"array","maxItems":10,"minItems":1,"title":"Keys","description":"Exact string composite key. Empty or duplicate keys on either side block output."},"mode":{"type":"string","enum":["left","inner","full"],"title":"Mode","description":"Explicit row-retention choice. Unmatched rows are always reported, including those excluded from output."},"columns":{"items":{"$ref":"#/components/schemas/JoinColumn"},"type":"array","maxItems":100,"minItems":1,"title":"Columns"},"compare":{"items":{"$ref":"#/components/schemas/KeyPair"},"type":"array","maxItems":100,"title":"Compare","description":"Optional paired fields; unequal matched values produce value_changed warnings, not automatic resolution."},"output_delimiter":{"type":"string","enum":[",",";","\t","|"],"title":"Output Delimiter","default":","},"spreadsheet_safe":{"type":"boolean","title":"Spreadsheet Safe","default":false}},"additionalProperties":false,"type":"object","required":["keys","mode","columns"],"title":"JoinRecipe"},"KeyPair":{"properties":{"left":{"type":"string","maxLength":100,"minLength":1,"title":"Left"},"right":{"type":"string","maxLength":100,"minLength":1,"title":"Right"}},"additionalProperties":false,"type":"object","required":["left","right"],"title":"KeyPair"},"OutputColumn":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"source":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Source"},"literal":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Literal"},"concat":{"anyOf":[{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":10,"minItems":1},{"type":"null"}],"title":"Concat"},"separator":{"type":"string","maxLength":100,"title":"Separator","default":""},"actions":{"items":{"type":"string","enum":["trim","lowercase","uppercase","decimal_comma","date_dmy","date_mdy"]},"type":"array","maxItems":10,"title":"Actions","description":"Ordered rules. Dates explicitly use DD/MM/YYYY or MM/DD/YYYY; failed conversions block the output."}},"additionalProperties":false,"type":"object","required":["name"],"title":"OutputColumn"},"PrepareInput":{"properties":{"table":{"$ref":"#/components/schemas/TableInput"},"recipe":{"$ref":"#/components/schemas/Recipe"}},"additionalProperties":false,"type":"object","required":["table","recipe"],"title":"PrepareInput"},"Recipe":{"properties":{"version":{"type":"integer","const":1,"title":"Version","default":1},"columns":{"items":{"$ref":"#/components/schemas/OutputColumn"},"type":"array","maxItems":100,"minItems":1,"title":"Columns","description":"Explicit output order; unselected input columns are omitted and reported."},"output_delimiter":{"type":"string","enum":[",",";","\t","|"],"title":"Output Delimiter","default":","},"spreadsheet_safe":{"type":"boolean","title":"Spreadsheet Safe","default":false}},"additionalProperties":false,"type":"object","required":["columns"],"title":"Recipe"},"ReconcileInput":{"properties":{"left":{"$ref":"#/components/schemas/TableInput"},"right":{"$ref":"#/components/schemas/TableInput"},"recipe":{"$ref":"#/components/schemas/JoinRecipe"}},"additionalProperties":false,"type":"object","required":["left","right","recipe"],"title":"ReconcileInput"},"TableInput":{"properties":{"csv_text":{"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"title":"Csv Text","description":"CSV including headers; no paths or URLs."},"delimiter":{"type":"string","enum":[",",";","\t","|"],"title":"Delimiter","default":","},"columns":{"anyOf":[{"items":{"type":"string","maxLength":100,"minLength":1},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Columns"},"rows":{"anyOf":[{"items":{"items":{"type":"string","maxLength":10000},"type":"array","maxItems":100},"type":"array","maxItems":10000},{"type":"null"}],"title":"Rows"}},"additionalProperties":false,"type":"object","title":"TableInput"},"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"}}}}