{
    "schemes": [],
    "swagger": "2.0",
    "info": {
        "description": "A powerful and comprehensive API for validating, analyzing, and linting CSV files. CSVLinter helps ensure data quality by detecting format errors, schema violations, and providing detailed validation reports for your CSV data.",
        "title": "CSVLinter API",
        "contact": {},
        "version": "1.0"
    },
    "host": "api.csvlinter.com",
    "basePath": "/v1",
    "paths": {
        "/health": {
            "get": {
                "description": "Returns API health and service name",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "health"
                ],
                "summary": "Health check",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/validate": {
            "post": {
                "description": "Validates one or more CSV files, optionally using a JSON schema. Returns validation results for each file.",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "validation"
                ],
                "summary": "Validate CSV file(s) against optional schema",
                "parameters": [
                    {
                        "type": "file",
                        "description": "CSV file(s) to validate (1-5 files, .csv, text/csv)",
                        "name": "csv",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Optional JSON schema file (.json, application/json)",
                        "name": "schema",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Field delimiter (single character, default: ',')",
                        "name": "delimiter",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Stop at first error (true/false, default: false)",
                        "name": "fail-fast",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Output format: json or pretty (default: json)",
                        "name": "format",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Logical filename for reporting (optional)",
                        "name": "filename",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Validation results keyed by filename",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "400": {
                        "description": "Invalid input or validation error",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "429": {
                        "description": "Rate limit exceeded",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        }
    }
}