{
    "success": true,
    "api_name": "IDMS Data API",
    "version": "1.0",
    "description": "Access published datasets in JSON format",
    "base_url": "https://idms.jupiterehr.com/api/v1/data.php",
    "methods": [
        "GET"
    ],
    "authentication": "None required (public API)",
    "rate_limit": "100 requests per minute per IP",
    "parameters": [
        {
            "name": "id",
            "type": "string (UUID)",
            "required": true,
            "description": "Unique identifier of the dataset file",
            "example": "fc47c64c-f331-4ae3-8b87-72af4a9214a6"
        },
        {
            "name": "filters",
            "type": "object (JSON)",
            "required": false,
            "description": "Filter records by column values. Supports partial, case-insensitive matching.",
            "example": "{\"district\": \"Janakpur\", \"year\": \"2023\"}"
        },
        {
            "name": "fields",
            "type": "string (comma-separated)",
            "required": false,
            "default": "all fields",
            "description": "Specify which columns to return",
            "example": "name,district,population"
        },
        {
            "name": "limit",
            "type": "integer",
            "required": false,
            "default": 100,
            "max": 1000,
            "description": "Maximum number of records to return",
            "example": 50
        },
        {
            "name": "offset",
            "type": "integer",
            "required": false,
            "default": 0,
            "description": "Number of records to skip (for pagination)",
            "example": 100
        },
        {
            "name": "sort",
            "type": "string",
            "required": false,
            "description": "Sort by column name. Add \"desc\" for descending order.",
            "example": "population desc"
        },
        {
            "name": "include_total",
            "type": "boolean",
            "required": false,
            "default": true,
            "description": "Include total record count in response",
            "example": "false"
        }
    ],
    "example_requests": {
        "Basic": "https://idms.jupiterehr.com/api/v1/data.php?id=your-uuid-here",
        "With Limit": "https://idms.jupiterehr.com/api/v1/data.php?id=your-uuid-here&limit=50",
        "With Pagination": "https://idms.jupiterehr.com/api/v1/data.php?id=your-uuid-here&limit=50&offset=50",
        "With Filtering": "https://idms.jupiterehr.com/api/v1/data.php?id=your-uuid-here&filters={\"district\":\"Janakpur\"}",
        "With Sorting": "https://idms.jupiterehr.com/api/v1/data.php?id=your-uuid-here&sort=population desc",
        "With Selected Fields": "https://idms.jupiterehr.com/api/v1/data.php?id=your-uuid-here&fields=name,district,population"
    },
    "response_format": {
        "success": "boolean - Whether the request was successful",
        "result": {
            "resource_id": "UUID of the dataset file",
            "resource_name": "Name of the file",
            "dataset": "Parent dataset name",
            "fields": "Array of field definitions with id and type",
            "records": "Array of data records",
            "total": "Total number of matching records",
            "limit": "Current limit setting",
            "offset": "Current offset setting",
            "_links": "Pagination links (self, next, prev)"
        }
    },
    "error_codes": {
        "400": "Bad Request - Invalid parameters",
        "404": "Not Found - Dataset not found or API not enabled",
        "405": "Method Not Allowed - Use GET request",
        "429": "Too Many Requests - Rate limit exceeded",
        "500": "Server Error - Internal error"
    },
    "support": {
        "documentation": "https://idms.jupiterehr.com/api/v1/data.php/../help.php",
        "contact": "info@janakpurmun.gov.np"
    }
}