{
    "schemes": [
        "http",
        "https"
    ],
    "swagger": "2.0",
    "info": {
        "description": "A comprehensive Go API service with Swagger documentation",
        "title": "API Service",
        "termsOfService": "http://swagger.io/terms/",
        "contact": {
            "name": "API Support",
            "url": "http://www.swagger.io/support",
            "email": "support@swagger.io"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "1.0.0"
    },
    "host": "localhost:8080",
    "basePath": "/api/v1",
    "paths": {
        "/api/v1/auth/login": {
            "post": {
                "description": "Authenticate user with username and password to receive JWT token",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "Login user and get JWT token",
                "parameters": [
                    {
                        "description": "Login credentials",
                        "name": "login",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_auth.LoginRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_auth.TokenResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/me": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "Get information about the currently authenticated user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "Get current user info",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_auth.User"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/refresh": {
            "post": {
                "description": "Refresh the JWT token using a valid refresh token",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "Refresh JWT token",
                "parameters": [
                    {
                        "description": "Refresh token",
                        "name": "refresh",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_auth.TokenResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/auth/register": {
            "post": {
                "description": "Register a new user account",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Authentication"
                ],
                "summary": "Register new user",
                "parameters": [
                    {
                        "description": "Registration data",
                        "name": "register",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/retribusi/{id}": {
            "get": {
                "description": "Returns a single retribusi by ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Retribusi"
                ],
                "summary": "Get Retribusi by ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Retribusi ID (UUID)",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success response",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiGetByIDResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid ID format",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Retribusi not found",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    }
                }
            },
            "put": {
                "description": "Updates an existing retribusi record",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Retribusi"
                ],
                "summary": "Update retribusi",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Retribusi ID (UUID)",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Retribusi update request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retribusi updated successfully",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiUpdateResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request or validation error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Retribusi not found",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    }
                }
            },
            "delete": {
                "description": "Soft deletes a retribusi by setting status to 'deleted'",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Retribusi"
                ],
                "summary": "Delete retribusi",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Retribusi ID (UUID)",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retribusi deleted successfully",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiDeleteResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid ID format",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Retribusi not found",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/retribusis": {
            "get": {
                "description": "Returns a paginated list of retribusis with optional summary statistics",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Retribusi"
                ],
                "summary": "Get retribusi with pagination and optional aggregation",
                "parameters": [
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Limit (max 100)",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 0,
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "default": false,
                        "description": "Include aggregation summary",
                        "name": "include_summary",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by jenis",
                        "name": "jenis",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by dinas",
                        "name": "dinas",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Search in multiple fields",
                        "name": "search",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success response",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiGetResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    }
                }
            },
            "post": {
                "description": "Creates a new retribusi record",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Retribusi"
                ],
                "summary": "Create retribusi",
                "parameters": [
                    {
                        "description": "Retribusi creation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Retribusi created successfully",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiCreateResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request or validation error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/retribusis/dynamic": {
            "get": {
                "description": "Returns retribusis with advanced dynamic filtering like Directus",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Retribusi"
                ],
                "summary": "Get retribusi with dynamic filtering",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Fields to select (e.g., fields=*.*)",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Dynamic filters (e.g., filter[Jenis][_eq]=value)",
                        "name": "filter[column][operator]",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Sort fields (e.g., sort=date_created,-Jenis)",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "default": 0,
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success response",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiGetResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/retribusis/stats": {
            "get": {
                "description": "Returns comprehensive statistics about retribusi data",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Retribusi"
                ],
                "summary": "Get retribusi statistics",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Filter statistics by status",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Statistics data",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.AggregateData"
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models.ErrorResponse"
                        }
                    }
                }
            }
        },
        "/api/v1/token/generate": {
            "post": {
                "description": "Generate a JWT token for a user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Token"
                ],
                "summary": "Generate JWT token",
                "parameters": [
                    {
                        "description": "User credentials",
                        "name": "token",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_auth.LoginRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_auth.TokenResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/token/generate-direct": {
            "post": {
                "description": "Generate a JWT token directly without password verification (for testing)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Token"
                ],
                "summary": "Generate token directly",
                "parameters": [
                    {
                        "description": "User info",
                        "name": "user",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api-service_internal_models_auth.TokenResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "api-service_internal_models.AggregateData": {
            "type": "object",
            "properties": {
                "by_dinas": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "by_jenis": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "by_status": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "created_today": {
                    "type": "integer"
                },
                "last_updated": {
                    "type": "string"
                },
                "total_active": {
                    "type": "integer"
                },
                "total_draft": {
                    "type": "integer"
                },
                "total_inactive": {
                    "type": "integer"
                },
                "updated_today": {
                    "type": "integer"
                }
            }
        },
        "api-service_internal_models.ErrorResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "error": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models.MetaResponse": {
            "type": "object",
            "properties": {
                "current_page": {
                    "type": "integer"
                },
                "has_next": {
                    "type": "boolean"
                },
                "has_prev": {
                    "type": "boolean"
                },
                "limit": {
                    "type": "integer"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                },
                "total_pages": {
                    "type": "integer"
                }
            }
        },
        "api-service_internal_models.NullableInt32": {
            "type": "object",
            "properties": {
                "int32": {
                    "type": "integer"
                },
                "valid": {
                    "type": "boolean"
                }
            }
        },
        "api-service_internal_models_auth.LoginRequest": {
            "type": "object",
            "required": [
                "password",
                "username"
            ],
            "properties": {
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models_auth.TokenResponse": {
            "type": "object",
            "properties": {
                "access_token": {
                    "type": "string"
                },
                "expires_in": {
                    "type": "integer"
                },
                "token_type": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models_auth.User": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "role": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models_retribusi.Retribusi": {
            "type": "object",
            "properties": {
                "date_created": {
                    "$ref": "#/definitions/sql.NullTime"
                },
                "date_updated": {
                    "$ref": "#/definitions/sql.NullTime"
                },
                "dinas": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "id": {
                    "type": "string"
                },
                "jenis": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "kelompok_obyek": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "kode_tarif": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "pelayanan": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "rekening_denda": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "rekening_pokok": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "satuan": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "satuan_overtime": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "sort": {
                    "$ref": "#/definitions/api-service_internal_models.NullableInt32"
                },
                "status": {
                    "type": "string"
                },
                "tarif": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "tarif_overtime": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "uraian_1": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "uraian_2": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "uraian_3": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "user_created": {
                    "$ref": "#/definitions/sql.NullString"
                },
                "user_updated": {
                    "$ref": "#/definitions/sql.NullString"
                }
            }
        },
        "api-service_internal_models_retribusi.RetribusiCreateRequest": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "dinas": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "jenis": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "kelompok_obyek": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "kode_tarif": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "pelayanan": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "rekening_denda": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "rekening_pokok": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "satuan": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "satuan_overtime": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "draft",
                        "active",
                        "inactive"
                    ]
                },
                "tarif": {
                    "type": "string"
                },
                "tarif_overtime": {
                    "type": "string"
                },
                "uraian_1": {
                    "type": "string"
                },
                "uraian_2": {
                    "type": "string"
                },
                "uraian_3": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models_retribusi.RetribusiCreateResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models_retribusi.RetribusiDeleteResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models_retribusi.RetribusiGetByIDResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models_retribusi.RetribusiGetResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi"
                    }
                },
                "message": {
                    "type": "string"
                },
                "meta": {
                    "$ref": "#/definitions/api-service_internal_models.MetaResponse"
                },
                "summary": {
                    "$ref": "#/definitions/api-service_internal_models.AggregateData"
                }
            }
        },
        "api-service_internal_models_retribusi.RetribusiUpdateRequest": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "dinas": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "jenis": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "kelompok_obyek": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "kode_tarif": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "pelayanan": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "rekening_denda": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "rekening_pokok": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "satuan": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "satuan_overtime": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 1
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "draft",
                        "active",
                        "inactive"
                    ]
                },
                "tarif": {
                    "type": "string"
                },
                "tarif_overtime": {
                    "type": "string"
                },
                "uraian_1": {
                    "type": "string"
                },
                "uraian_2": {
                    "type": "string"
                },
                "uraian_3": {
                    "type": "string"
                }
            }
        },
        "api-service_internal_models_retribusi.RetribusiUpdateResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "sql.NullString": {
            "type": "object",
            "properties": {
                "string": {
                    "type": "string"
                },
                "valid": {
                    "description": "Valid is true if String is not NULL",
                    "type": "boolean"
                }
            }
        },
        "sql.NullTime": {
            "type": "object",
            "properties": {
                "time": {
                    "type": "string"
                },
                "valid": {
                    "description": "Valid is true if Time is not NULL",
                    "type": "boolean"
                }
            }
        }
    }
}