{
    "openapi": "3.0.0",
    "info": {
        "title": "ISURGOB API",
        "description": "Documentación de la API de ISURGOB",
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "{schema}://{host}",
            "description": "API base",
            "variables": {
                "schema": {
                    "enum": [
                        "http",
                        "https"
                    ],
                    "default": "http"
                },
                "host": {
                    "default": "localhost"
                }
            }
        },
        {
            "url": "https://api.isurgob.net",
            "description": "Producción"
        },
        {
            "url": "http://localhost",
            "description": "Local"
        }
    ],
    "paths": {
        "/api/login": {
            "post": {
                "tags": [
                    "Autenticación"
                ],
                "summary": "Login de usuario",
                "description": "Realiza el login y devuelve un access token Sanctum.",
                "operationId": "a3b306d14572d1f4bd6c064b3233e7b8",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email",
                                    "password"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "example": "admin@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "secret"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Token generado",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "access_token": {
                                            "type": "string"
                                        },
                                        "token_type": {
                                            "type": "string",
                                            "example": "Bearer"
                                        },
                                        "expires_in": {
                                            "type": "integer",
                                            "example": 0
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Credenciales inválidas"
                    }
                }
            }
        },
        "/api/ext/caja/estadisticas": {
            "get": {
                "tags": [
                    "Caja"
                ],
                "summary": "Obtener estadísticas de caja",
                "operationId": "4e376203b0305a4037ebe9ee64f84027",
                "parameters": [
                    {
                        "name": "fecha_desde",
                        "in": "query",
                        "description": "Formato de fecha ISO 8601 (YYYY-MM-DD)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "fecha_hasta",
                        "in": "query",
                        "description": "Formato de fecha ISO 8601 (YYYY-MM-DD)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "trib_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "teso_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Estadísticas recuperadas"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/caja/{caja_id}/estadisticas": {
            "get": {
                "tags": [
                    "Caja"
                ],
                "summary": "Obtener estadísticas de una caja específica",
                "operationId": "d8140c983de7c6a2663a348c56a20034",
                "parameters": [
                    {
                        "name": "caja_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "fecha_desde",
                        "in": "query",
                        "description": "Formato de fecha ISO 8601 (YYYY-MM-DD)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "fecha_hasta",
                        "in": "query",
                        "description": "Formato de fecha ISO 8601 (YYYY-MM-DD)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "trib_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "teso_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Estadísticas recuperadas"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/caja/estadisticas/diaria": {
            "get": {
                "tags": [
                    "Caja"
                ],
                "summary": "Obtener estadísticas diarias de caja",
                "operationId": "6cc69c274c9ed69a06dffea42a47b620",
                "parameters": [
                    {
                        "name": "fecha_desde",
                        "in": "query",
                        "description": "Formato de fecha ISO 8601 (YYYY-MM-DD)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "fecha_hasta",
                        "in": "query",
                        "description": "Formato de fecha ISO 8601 (YYYY-MM-DD)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "trib_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "teso_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Estadísticas diarias recuperadas"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/caja/{caja_id}/estadisticas/diaria": {
            "get": {
                "tags": [
                    "Caja"
                ],
                "summary": "Obtener estadísticas diarias de una caja específica",
                "operationId": "9e0d2bb5a71d4e1a880c2fda59ca24cd",
                "parameters": [
                    {
                        "name": "caja_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "fecha_desde",
                        "in": "query",
                        "description": "Formato de fecha ISO 8601 (YYYY-MM-DD)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "fecha_hasta",
                        "in": "query",
                        "description": "Formato de fecha ISO 8601 (YYYY-MM-DD)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "trib_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "teso_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Estadísticas diarias recuperadas"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/caja": {
            "get": {
                "tags": [
                    "Caja"
                ],
                "summary": "Obtener cajas activas",
                "operationId": "5ce72d985d486114721afe58f5d71b45",
                "responses": {
                    "200": {
                        "description": "Cajas recuperadas correctamente"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/objeto/tipos": {
            "get": {
                "tags": [
                    "Objeto"
                ],
                "summary": "Listar tipos de imponibles activos",
                "operationId": "3a654da912116fabfd3aff046a051c5e",
                "responses": {
                    "200": {
                        "description": "Listado de tipos de imponibles",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "properties": {
                                                "messages": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "success": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "integer"
                                                    },
                                                    "nombre": {
                                                        "type": "string"
                                                    },
                                                    "nombre_redu": {
                                                        "type": "string"
                                                    },
                                                    "letra": {
                                                        "type": "string"
                                                    },
                                                    "acc_det": {
                                                        "type": "string"
                                                    },
                                                    "obj_dato_det": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/objeto": {
            "get": {
                "tags": [
                    "Objeto"
                ],
                "summary": "Buscar objetos",
                "operationId": "146d95f1910174c7bca6cbbdd8f2b5e1",
                "parameters": [
                    {
                        "name": "tobj",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "num",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nombre",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "obj_dato",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "est",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lista paginada",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "properties": {
                                                "messages": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "success": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "obj_id": {
                                                        "type": "string"
                                                    },
                                                    "tobj": {
                                                        "type": "string"
                                                    },
                                                    "num": {
                                                        "type": "string"
                                                    },
                                                    "nombre": {
                                                        "type": "string"
                                                    },
                                                    "obj_dato": {
                                                        "type": "string"
                                                    },
                                                    "est": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Objeto"
                ],
                "summary": "Crear objeto",
                "operationId": "04e7db60d099c3aebbc45fe17c4ccde3",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "obj_id"
                                ],
                                "properties": {
                                    "obj_id": {
                                        "type": "string"
                                    },
                                    "tobj": {
                                        "type": "string"
                                    },
                                    "num": {
                                        "type": "string"
                                    },
                                    "nombre": {
                                        "type": "string"
                                    },
                                    "obj_dato": {
                                        "type": "string"
                                    },
                                    "est": {
                                        "type": "string"
                                    },
                                    "distrib": {
                                        "type": "string"
                                    },
                                    "tdistrib": {
                                        "type": "string"
                                    },
                                    "obs": {
                                        "type": "string"
                                    },
                                    "objunifica": {
                                        "type": "string"
                                    },
                                    "vigencia": {
                                        "type": "string"
                                    },
                                    "claveweb": {
                                        "type": "string"
                                    },
                                    "fchalta": {
                                        "type": "string"
                                    },
                                    "usralta": {
                                        "type": "string"
                                    },
                                    "fchbaja": {
                                        "type": "string"
                                    },
                                    "usrbaja": {
                                        "type": "string"
                                    },
                                    "tbaja": {
                                        "type": "string"
                                    },
                                    "fchmod": {
                                        "type": "string"
                                    },
                                    "usrmod": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Objeto creado"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/objeto/{obj_id}": {
            "get": {
                "tags": [
                    "Objeto"
                ],
                "summary": "Obtener un objeto por ID",
                "operationId": "5221b83b50312cc841be3f4160c97798",
                "parameters": [
                    {
                        "name": "obj_id",
                        "in": "path",
                        "description": "Identificador del objeto",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Objeto encontrado",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "properties": {
                                                "messages": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "success": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "data": {
                                            "properties": {
                                                "obj_id": {
                                                    "type": "string"
                                                },
                                                "tobj": {
                                                    "type": "string"
                                                },
                                                "num": {
                                                    "type": "string"
                                                },
                                                "nombre": {
                                                    "type": "string"
                                                },
                                                "obj_dato": {
                                                    "type": "string"
                                                },
                                                "est": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "No encontrado"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Objeto"
                ],
                "summary": "Actualizar objeto",
                "operationId": "c64a0a27a7725678a0872d8bfeb5f499",
                "parameters": [
                    {
                        "name": "obj_id",
                        "in": "path",
                        "description": "Identificador del objeto",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "tobj": {
                                        "type": "string"
                                    },
                                    "num": {
                                        "type": "string"
                                    },
                                    "nombre": {
                                        "type": "string"
                                    },
                                    "obj_dato": {
                                        "type": "string"
                                    },
                                    "est": {
                                        "type": "string"
                                    },
                                    "distrib": {
                                        "type": "string"
                                    },
                                    "tdistrib": {
                                        "type": "string"
                                    },
                                    "obs": {
                                        "type": "string"
                                    },
                                    "objunifica": {
                                        "type": "string"
                                    },
                                    "vigencia": {
                                        "type": "string"
                                    },
                                    "claveweb": {
                                        "type": "string"
                                    },
                                    "fchalta": {
                                        "type": "string"
                                    },
                                    "usralta": {
                                        "type": "string"
                                    },
                                    "fchbaja": {
                                        "type": "string"
                                    },
                                    "usrbaja": {
                                        "type": "string"
                                    },
                                    "tbaja": {
                                        "type": "string"
                                    },
                                    "fchmod": {
                                        "type": "string"
                                    },
                                    "usrmod": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Objeto actualizado"
                    },
                    "404": {
                        "description": "No encontrado"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Objeto"
                ],
                "summary": "Eliminar objeto",
                "operationId": "37064c95fa4030266a2ceb3ec2f83c7c",
                "parameters": [
                    {
                        "name": "obj_id",
                        "in": "path",
                        "description": "Identificador del objeto",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Objeto eliminado"
                    },
                    "404": {
                        "description": "No encontrado"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar proveedores (paginado)",
                "operationId": "49e8c556996414d21a08668ed3a8ddca",
                "parameters": [
                    {
                        "name": "cuit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nombre",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "contacto",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tliq",
                        "in": "query",
                        "description": "Tipo de liquidación (código, ej: LO)",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 2
                        }
                    },
                    {
                        "name": "tprov",
                        "in": "query",
                        "description": "Tipo de proveedor (código, ej: J)",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 1
                        }
                    },
                    {
                        "name": "est",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "A",
                                "B"
                            ]
                        }
                    },
                    {
                        "name": "activo",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Proveedores recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Proveedores recuperados correctamente."
                                        },
                                        "data": {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "prov_id": {
                                                                "type": "integer"
                                                            },
                                                            "obj_id": {
                                                                "type": "integer"
                                                            },
                                                            "cuit": {
                                                                "type": "string"
                                                            },
                                                            "nombre": {
                                                                "type": "string"
                                                            },
                                                            "tliq": {
                                                                "type": "string"
                                                            },
                                                            "tprov": {
                                                                "type": "string"
                                                            },
                                                            "est": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "A",
                                                                    "B"
                                                                ]
                                                            },
                                                            "activo": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "current_page": {
                                                    "type": "integer"
                                                },
                                                "last_page": {
                                                    "type": "integer"
                                                },
                                                "per_page": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los proveedores"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Crear proveedor",
                "operationId": "ee129dad3146e68f9ca7cf625b30813c",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "cuit",
                                    "nombre",
                                    "tliq",
                                    "tprov"
                                ],
                                "properties": {
                                    "prov_id": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "cuit": {
                                        "type": "string",
                                        "example": "20300111223"
                                    },
                                    "nombre": {
                                        "type": "string",
                                        "example": "Proveedor Demo SA"
                                    },
                                    "tipo_persona": {
                                        "description": "Código de tipo de persona (ver GET /tipos-persona)",
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "tipo_iva": {
                                        "description": "Código de situación IVA (ver GET /tipos-iva)",
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "tliq": {
                                        "description": "Código de tipo de liquidación (ver GET /tipos-liquidacion)",
                                        "type": "string",
                                        "example": "LO"
                                    },
                                    "tprov": {
                                        "description": "Código de tipo de proveedor (ver GET /tipos-proveedor)",
                                        "type": "string",
                                        "example": "J"
                                    },
                                    "capitaldeclarado": {
                                        "type": "number",
                                        "format": "float",
                                        "nullable": true
                                    },
                                    "cantpersonal": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "rf": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "especialidad": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "antecedentes": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "contacto": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "web": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "lic": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "est": {
                                        "type": "string",
                                        "enum": [
                                            "A",
                                            "B"
                                        ],
                                        "example": "A",
                                        "nullable": true
                                    },
                                    "obs": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "fchconstitucion": {
                                        "description": "Fecha de constitución (ISO 8601: YYYY-MM-DD)",
                                        "type": "string",
                                        "format": "date",
                                        "example": "2020-03-15",
                                        "nullable": true
                                    },
                                    "fchvenc": {
                                        "description": "Fecha de vencimiento de habilitación (ISO 8601: YYYY-MM-DD)",
                                        "type": "string",
                                        "format": "date",
                                        "example": "2025-12-31",
                                        "nullable": true
                                    },
                                    "ali": {
                                        "type": "number",
                                        "format": "float",
                                        "nullable": true
                                    },
                                    "direccion": {
                                        "description": "Domicilio legal de la persona (razón social / contribuyente). Corresponde al domicilio fiscal o legal del titular del CUIT.",
                                        "properties": {
                                            "nomcalle": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "puerta": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "piso": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "dpto": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "loc_id": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "cp": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "barr_id": {
                                                "type": "integer",
                                                "nullable": true
                                            }
                                        },
                                        "type": "object",
                                        "nullable": true
                                    },
                                    "rubros": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "cod": {
                                                    "type": "integer"
                                                },
                                                "nombre": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "inscripciones": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "tipo": {
                                                    "description": "Código de tipo de inscripción (ver GET /tipos-inscripcion)",
                                                    "type": "string"
                                                },
                                                "fecha": {
                                                    "description": "Fecha de inscripción (ISO 8601: YYYY-MM-DD)",
                                                    "type": "string",
                                                    "format": "date",
                                                    "example": "2023-06-01",
                                                    "nullable": true
                                                },
                                                "fchvisa": {
                                                    "description": "Fecha de visado (ISO 8601: YYYY-MM-DD)",
                                                    "type": "string",
                                                    "format": "date",
                                                    "example": "2023-06-15",
                                                    "nullable": true
                                                },
                                                "fchvenc": {
                                                    "description": "Fecha de vencimiento de inscripción (ISO 8601: YYYY-MM-DD)",
                                                    "type": "string",
                                                    "format": "date",
                                                    "example": "2025-12-31",
                                                    "nullable": true
                                                },
                                                "expe": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "detalle": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "est": {
                                                    "type": "string",
                                                    "enum": [
                                                        "A",
                                                        "B"
                                                    ],
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "cuentas": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "tcbu": {
                                                    "description": "Código de tipo de CBU (ver GET /tipos-cbu)",
                                                    "type": "integer"
                                                },
                                                "cbu": {
                                                    "type": "string"
                                                },
                                                "titular": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "socios": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "cuit": {
                                                    "type": "string"
                                                },
                                                "nombre": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "porc": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "maximum": 100,
                                                    "minimum": 0
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "ute": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "cuit": {
                                                    "type": "string",
                                                    "maxLength": 11
                                                },
                                                "porc": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "maximum": 100,
                                                    "minimum": 0,
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "embargos": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "temb": {
                                                    "description": "Código de tipo de embargo (ver GET /tipos-embargo)",
                                                    "type": "string"
                                                },
                                                "det": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "porc": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "maximum": 100,
                                                    "minimum": 0,
                                                    "nullable": true
                                                },
                                                "tcbu": {
                                                    "type": "integer",
                                                    "nullable": true
                                                },
                                                "cbu": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "titular": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "est": {
                                                    "type": "string",
                                                    "enum": [
                                                        "A",
                                                        "B"
                                                    ],
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "contactos": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "det": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "tel": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "mail": {
                                                    "type": "string",
                                                    "format": "email",
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "domicilio_proveedor": {
                                        "description": "Domicilio operativo del proveedor (depósito, sede comercial, etc.). Es independiente del domicilio legal de la persona (`direccion`) y puede ser distinto de éste.",
                                        "properties": {
                                            "loc_id": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "cp": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "barr_id": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "calle_id": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "nomcalle": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "puerta": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "det": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "piso": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "dpto": {
                                                "type": "string",
                                                "nullable": true
                                            }
                                        },
                                        "type": "object",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Proveedor creado correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProveedorResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Error de validación o negocio"
                    },
                    "500": {
                        "description": "No se pudo crear el proveedor"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/{prov_id}": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Obtener proveedor por ID",
                "operationId": "108c1b57148f205e01c7021e745cd2e1",
                "parameters": [
                    {
                        "name": "prov_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Proveedor recuperado correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProveedorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Proveedor no encontrado"
                    },
                    "500": {
                        "description": "No se pudo recuperar el proveedor"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Actualizar proveedor",
                "operationId": "8dccc019b427d57305887985aab86a23",
                "parameters": [
                    {
                        "name": "prov_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "cuit": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "nombre": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "tipo_persona": {
                                        "description": "Código de tipo de persona (ver GET /tipos-persona)",
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "tipo_iva": {
                                        "description": "Código de situación IVA (ver GET /tipos-iva)",
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "tliq": {
                                        "description": "Código de tipo de liquidación (ver GET /tipos-liquidacion)",
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "tprov": {
                                        "description": "Código de tipo de proveedor (ver GET /tipos-proveedor)",
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "capitaldeclarado": {
                                        "type": "number",
                                        "format": "float",
                                        "nullable": true
                                    },
                                    "cantpersonal": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "rf": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "especialidad": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "antecedentes": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "contacto": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "web": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "lic": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "est": {
                                        "type": "string",
                                        "enum": [
                                            "A",
                                            "B"
                                        ],
                                        "nullable": true
                                    },
                                    "obs": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "fchconstitucion": {
                                        "description": "Fecha de constitución (ISO 8601: YYYY-MM-DD)",
                                        "type": "string",
                                        "format": "date",
                                        "example": "2020-03-15",
                                        "nullable": true
                                    },
                                    "fchvenc": {
                                        "description": "Fecha de vencimiento de habilitación (ISO 8601: YYYY-MM-DD)",
                                        "type": "string",
                                        "format": "date",
                                        "example": "2025-12-31",
                                        "nullable": true
                                    },
                                    "ali": {
                                        "type": "number",
                                        "format": "float",
                                        "nullable": true
                                    },
                                    "direccion": {
                                        "description": "Domicilio legal de la persona (razón social / contribuyente). Se almacena en tabla `domi` con torigen='OBJ'. Corresponde al domicilio fiscal o legal del titular del CUIT.",
                                        "properties": {
                                            "nomcalle": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "puerta": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "piso": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "dpto": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "loc_id": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "cp": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "barr_id": {
                                                "type": "integer",
                                                "nullable": true
                                            }
                                        },
                                        "type": "object",
                                        "nullable": true
                                    },
                                    "rubros": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "cod": {
                                                    "type": "integer"
                                                },
                                                "nombre": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "inscripciones": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "tipo": {
                                                    "description": "Código de tipo de inscripción (ver GET /tipos-inscripcion)",
                                                    "type": "string"
                                                },
                                                "fecha": {
                                                    "description": "Fecha de inscripción (ISO 8601: YYYY-MM-DD)",
                                                    "type": "string",
                                                    "format": "date",
                                                    "example": "2023-06-01",
                                                    "nullable": true
                                                },
                                                "fchvisa": {
                                                    "description": "Fecha de visado (ISO 8601: YYYY-MM-DD)",
                                                    "type": "string",
                                                    "format": "date",
                                                    "example": "2023-06-15",
                                                    "nullable": true
                                                },
                                                "fchvenc": {
                                                    "description": "Fecha de vencimiento de inscripción (ISO 8601: YYYY-MM-DD)",
                                                    "type": "string",
                                                    "format": "date",
                                                    "example": "2025-12-31",
                                                    "nullable": true
                                                },
                                                "expe": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "detalle": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "est": {
                                                    "type": "string",
                                                    "enum": [
                                                        "A",
                                                        "B"
                                                    ],
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "cuentas": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "tcbu": {
                                                    "description": "Código de tipo de CBU (ver GET /tipos-cbu)",
                                                    "type": "integer"
                                                },
                                                "cbu": {
                                                    "type": "string"
                                                },
                                                "titular": {
                                                    "type": "string",
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "socios": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "cuit": {
                                                    "type": "string"
                                                },
                                                "nombre": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "porc": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "maximum": 100,
                                                    "minimum": 0
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "ute": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "cuit": {
                                                    "type": "string",
                                                    "maxLength": 11
                                                },
                                                "porc": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "maximum": 100,
                                                    "minimum": 0,
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "embargos": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "temb": {
                                                    "description": "Código de tipo de embargo (ver GET /tipos-embargo)",
                                                    "type": "string"
                                                },
                                                "det": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "porc": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "maximum": 100,
                                                    "minimum": 0,
                                                    "nullable": true
                                                },
                                                "tcbu": {
                                                    "type": "integer",
                                                    "nullable": true
                                                },
                                                "cbu": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "titular": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "est": {
                                                    "type": "string",
                                                    "enum": [
                                                        "A",
                                                        "B"
                                                    ],
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "contactos": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "det": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "tel": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "mail": {
                                                    "type": "string",
                                                    "format": "email",
                                                    "nullable": true
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "nullable": true
                                    },
                                    "domicilio_proveedor": {
                                        "description": "Domicilio operativo del proveedor (depósito, sede comercial, etc.). Se almacena en tabla `domi` con torigen='PRO'. Es independiente del domicilio legal de la persona (`direccion`) y puede ser distinto de éste.",
                                        "properties": {
                                            "loc_id": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "cp": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "barr_id": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "calle_id": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "nomcalle": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "puerta": {
                                                "type": "integer",
                                                "nullable": true
                                            },
                                            "det": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "piso": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "dpto": {
                                                "type": "string",
                                                "nullable": true
                                            }
                                        },
                                        "type": "object",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Proveedor actualizado correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProveedorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Proveedor no encontrado"
                    },
                    "500": {
                        "description": "No se pudo actualizar el proveedor"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Dar de baja proveedor",
                "operationId": "3e8a8e465e402d39fa1bae992480ce7d",
                "parameters": [
                    {
                        "name": "prov_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "motivo": {
                                        "description": "Motivo de la baja. Queda registrado en el historial de acciones del proveedor.",
                                        "type": "string",
                                        "maxLength": 250,
                                        "example": "Proveedor inhabilitado por resolución municipal 123/2025",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Proveedor dado de baja correctamente"
                    },
                    "404": {
                        "description": "Proveedor no encontrado"
                    },
                    "422": {
                        "description": "Error de validación o transición de estado inválida (ej: proveedor ya está dado de baja)"
                    },
                    "500": {
                        "description": "No se pudo dar de baja el proveedor"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/rubros": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar rubros de proveedor",
                "operationId": "2d7b3ddefad5ee4957403225c3ff3d7d",
                "responses": {
                    "200": {
                        "description": "Rubros recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Rubros recuperados correctamente."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "integer",
                                                        "example": 1
                                                    },
                                                    "nombre": {
                                                        "type": "string",
                                                        "example": "Construcción"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los rubros"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/tipos_cbu": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar tipos de CBU",
                "description": "Devuelve los valores válidos para el campo `tcbu` de cada item en `cuentas` y `embargos`.",
                "operationId": "963169c861ef4452e3fc9ec39963b9a2",
                "responses": {
                    "200": {
                        "description": "Tipos de CBU recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Tipos de CBU recuperados correctamente."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "integer",
                                                        "example": 1
                                                    },
                                                    "nombre": {
                                                        "type": "string",
                                                        "example": "CBU Bancario"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los Tipos de CBU"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/tipos_embargo": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar tipos de embargo",
                "description": "Devuelve los valores válidos para el campo `temb` de cada item en `embargos`.",
                "operationId": "d06846d54905d2daeb4e5b83c63d6e3a",
                "responses": {
                    "200": {
                        "description": "Tipos de embargo recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Tipos de embargo recuperados correctamente."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "string",
                                                        "example": "J"
                                                    },
                                                    "nombre": {
                                                        "type": "string",
                                                        "example": "Embargo Judicial"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los Tipos de embargo"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/tipos_inscripcion": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar tipos de inscripción",
                "description": "Devuelve los valores válidos para el campo `tipo` de cada item en `inscripciones`.",
                "operationId": "092bdea3c10e0e42ba9549846596e8a3",
                "responses": {
                    "200": {
                        "description": "Tipos de inscripción recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Tipos de inscripción recuperados correctamente."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "string",
                                                        "example": "I"
                                                    },
                                                    "nombre": {
                                                        "type": "string",
                                                        "example": "Inscripción Municipal"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los Tipos de inscripción"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/tipos_iva": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar tipos de IVA (situación frente al IVA)",
                "description": "Devuelve los valores válidos para el campo `tipo_iva` del proveedor.",
                "operationId": "071b1500fea8c1eca2b8cf36ddec2ec2",
                "responses": {
                    "200": {
                        "description": "Tipos de IVA recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Tipos de IVA recuperados correctamente."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "integer",
                                                        "example": 1
                                                    },
                                                    "nombre": {
                                                        "type": "string",
                                                        "example": "Responsable Inscripto"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los Tipos de IVA"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/tipos_liquidacion": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar tipos de liquidación",
                "description": "Devuelve los valores válidos para el campo `tliq` del proveedor.",
                "operationId": "11fcaf7f03ebcb88ac03b600cfd2a6fc",
                "responses": {
                    "200": {
                        "description": "Tipos de liquidación recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Tipos de liquidación recuperados correctamente."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "string",
                                                        "example": "LO"
                                                    },
                                                    "nombre": {
                                                        "type": "string",
                                                        "example": "Liquidación Ordinaria"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los Tipos de liquidación"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/tipos_persona": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar tipos de persona",
                "description": "Devuelve los valores válidos para el campo `tipo_persona` del proveedor.",
                "operationId": "abbb1a3a7c30917f95d8d31e0316c135",
                "responses": {
                    "200": {
                        "description": "Tipos de persona recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Tipos de persona recuperados correctamente."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "integer",
                                                        "example": 1
                                                    },
                                                    "nombre": {
                                                        "type": "string",
                                                        "example": "Persona Física"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los Tipos de persona"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/proveedores/tipos_proveedor": {
            "get": {
                "tags": [
                    "Proveedor"
                ],
                "summary": "Listar tipos de proveedor",
                "description": "Devuelve los valores válidos para el campo `tprov` del proveedor.",
                "operationId": "0c93ef248636fa6024c21a603c6a987b",
                "responses": {
                    "200": {
                        "description": "Tipos de proveedor recuperados correctamente",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Tipos de proveedor recuperados correctamente."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "cod": {
                                                        "type": "string",
                                                        "example": "J"
                                                    },
                                                    "nombre": {
                                                        "type": "string",
                                                        "example": "Jurídico"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "No se pudieron recuperar los Tipos de proveedor"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/tesoreria": {
            "get": {
                "tags": [
                    "Tesoreria"
                ],
                "summary": "Obtener tesorerías activas",
                "operationId": "3fcece40664a565c2f040b6af8ccf661",
                "responses": {
                    "200": {
                        "description": "Tesorerías recuperadas correctamente"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/transporte/deuda": {
            "get": {
                "tags": [
                    "Transporte"
                ],
                "summary": "Obtener deuda de transporte",
                "description": "Retorna la deuda agregada por objeto/persona, filtrando opcionalmente por documento o identificador de objeto.",
                "operationId": "e03543507e509cc623855d700320615a",
                "parameters": [
                    {
                        "name": "ndoc",
                        "in": "query",
                        "description": "Número de documento",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "obj_id",
                        "in": "query",
                        "description": "Identificador del objeto",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "fch_emi_desde",
                        "in": "query",
                        "description": "Fecha de emisión desde (incluida)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "fch_emi_hasta",
                        "in": "query",
                        "description": "Fecha de emisión hasta (incluida)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Éxito",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "properties": {
                                                "messages": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "success": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "obj_id": {
                                                        "type": "string"
                                                    },
                                                    "num": {
                                                        "type": "string"
                                                    },
                                                    "nombre": {
                                                        "type": "string"
                                                    },
                                                    "ndoc": {
                                                        "type": "string"
                                                    },
                                                    "dominio": {
                                                        "type": "string"
                                                    },
                                                    "cat": {
                                                        "type": "string"
                                                    },
                                                    "cat_nombre": {
                                                        "type": "string"
                                                    },
                                                    "saldo_total": {
                                                        "type": "number",
                                                        "format": "float"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        },
        "/api/ext/tributo": {
            "get": {
                "tags": [
                    "Tributo"
                ],
                "summary": "Obtener tributos activos",
                "operationId": "3ea731caf8222b35527af59ff529ab18",
                "parameters": [
                    {
                        "name": "nombre",
                        "in": "query",
                        "description": "Filtro por nombre de tributo (búsqueda parcial, ilike)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tributos recuperados correctamente"
                    },
                    "500": {
                        "description": "Error interno"
                    }
                },
                "security": [
                    {
                        "sanctum": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "ProveedorResponse": {
                "properties": {
                    "success": {
                        "type": "boolean",
                        "example": true
                    },
                    "message": {
                        "type": "string",
                        "example": "Proveedor recuperado correctamente."
                    },
                    "data": {
                        "properties": {
                            "prov_id": {
                                "type": "integer"
                            },
                            "obj_id": {
                                "type": "integer"
                            },
                            "cuit": {
                                "type": "string"
                            },
                            "tipo_persona": {
                                "type": "integer",
                                "nullable": true
                            },
                            "tipo_iva": {
                                "type": "integer",
                                "nullable": true
                            },
                            "nombre": {
                                "type": "string"
                            },
                            "tliq": {
                                "type": "string"
                            },
                            "tprov": {
                                "type": "string"
                            },
                            "capitaldeclarado": {
                                "type": "number",
                                "format": "float",
                                "nullable": true
                            },
                            "cantpersonal": {
                                "type": "integer",
                                "nullable": true
                            },
                            "rf": {
                                "type": "integer",
                                "nullable": true
                            },
                            "especialidad": {
                                "type": "string",
                                "nullable": true
                            },
                            "antecedentes": {
                                "type": "string",
                                "nullable": true
                            },
                            "contacto": {
                                "type": "string",
                                "nullable": true
                            },
                            "web": {
                                "type": "string",
                                "nullable": true
                            },
                            "lic": {
                                "type": "string",
                                "nullable": true
                            },
                            "est": {
                                "type": "string",
                                "enum": [
                                    "A",
                                    "B"
                                ]
                            },
                            "activo": {
                                "type": "boolean"
                            },
                            "obs": {
                                "type": "string",
                                "nullable": true
                            },
                            "fchalta": {
                                "description": "Fecha de alta (ISO 8601: YYYY-MM-DD)",
                                "type": "string",
                                "format": "date",
                                "example": "2023-01-15",
                                "nullable": true
                            },
                            "fchconstitucion": {
                                "description": "Fecha de constitución (ISO 8601: YYYY-MM-DD)",
                                "type": "string",
                                "format": "date",
                                "example": "2020-03-15",
                                "nullable": true
                            },
                            "fchbaja": {
                                "description": "Fecha de baja (ISO 8601: YYYY-MM-DD)",
                                "type": "string",
                                "format": "date",
                                "example": "2024-06-30",
                                "nullable": true
                            },
                            "usrbaja": {
                                "type": "integer",
                                "nullable": true
                            },
                            "fchvenc": {
                                "description": "Fecha de vencimiento de habilitación (ISO 8601: YYYY-MM-DD)",
                                "type": "string",
                                "format": "date",
                                "example": "2025-12-31",
                                "nullable": true
                            },
                            "fchmod": {
                                "description": "Fecha/hora de última modificación (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)",
                                "type": "string",
                                "format": "date-time",
                                "example": "2024-11-20T10:30:00Z",
                                "nullable": true
                            },
                            "usrmod": {
                                "type": "integer",
                                "nullable": true
                            },
                            "ali": {
                                "type": "number",
                                "format": "float",
                                "nullable": true
                            },
                            "domicilio": {
                                "properties": {
                                    "domi_id": {
                                        "type": "integer"
                                    },
                                    "nomcalle": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "puerta": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "piso": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "dpto": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "loc_id": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "cp": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "barr_id": {
                                        "type": "integer",
                                        "nullable": true
                                    }
                                },
                                "type": "object",
                                "nullable": true
                            },
                            "rubros": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "cod": {
                                            "type": "integer"
                                        },
                                        "nombre": {
                                            "type": "string",
                                            "nullable": true
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "inscripciones": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "orden": {
                                            "type": "integer"
                                        },
                                        "tipo": {
                                            "type": "string"
                                        },
                                        "fecha": {
                                            "description": "ISO 8601: YYYY-MM-DD",
                                            "type": "string",
                                            "format": "date",
                                            "example": "2023-06-01",
                                            "nullable": true
                                        },
                                        "fchvisa": {
                                            "description": "ISO 8601: YYYY-MM-DD",
                                            "type": "string",
                                            "format": "date",
                                            "example": "2023-06-15",
                                            "nullable": true
                                        },
                                        "fchvenc": {
                                            "description": "ISO 8601: YYYY-MM-DD",
                                            "type": "string",
                                            "format": "date",
                                            "example": "2025-12-31",
                                            "nullable": true
                                        },
                                        "expe": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "detalle": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "est": {
                                            "type": "string",
                                            "nullable": true
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "cuentas": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "orden": {
                                            "type": "integer"
                                        },
                                        "tcbu": {
                                            "type": "integer"
                                        },
                                        "cbu": {
                                            "type": "string"
                                        },
                                        "titular": {
                                            "type": "string",
                                            "nullable": true
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "socios": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "cuit": {
                                            "type": "string"
                                        },
                                        "nombre": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "porc": {
                                            "type": "number",
                                            "format": "float"
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "ute": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "orden": {
                                            "type": "integer"
                                        },
                                        "cuit": {
                                            "type": "string"
                                        },
                                        "porc": {
                                            "type": "number",
                                            "format": "float",
                                            "nullable": true
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "embargos": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "orden": {
                                            "type": "integer"
                                        },
                                        "temb": {
                                            "type": "string"
                                        },
                                        "det": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "porc": {
                                            "type": "number",
                                            "format": "float",
                                            "nullable": true
                                        },
                                        "tcbu": {
                                            "type": "integer",
                                            "nullable": true
                                        },
                                        "cbu": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "titular": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "est": {
                                            "type": "string",
                                            "nullable": true
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "contactos": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "orden": {
                                            "type": "integer"
                                        },
                                        "det": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "tel": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "mail": {
                                            "type": "string",
                                            "format": "email",
                                            "nullable": true
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "domicilio_proveedor": {
                                "properties": {
                                    "loc_id": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "cp": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "barr_id": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "calle_id": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "nomcalle": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "puerta": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "det": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "piso": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "dpto": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "type": "object",
                                "nullable": true
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "sanctum": {
                "type": "apiKey",
                "description": "Bearer token from Sanctum",
                "name": "Authorization",
                "in": "header"
            }
        }
    },
    "tags": [
        {
            "name": "Autenticación",
            "description": "Autenticación"
        },
        {
            "name": "Caja",
            "description": "Caja"
        },
        {
            "name": "Objeto",
            "description": "Objeto"
        },
        {
            "name": "Proveedor",
            "description": "Proveedor"
        },
        {
            "name": "Tesoreria",
            "description": "Tesoreria"
        },
        {
            "name": "Transporte",
            "description": "Transporte"
        },
        {
            "name": "Tributo",
            "description": "Tributo"
        }
    ],
    "security": [
        {
            "sanctum": []
        }
    ]
}