{"openapi": "3.1.0", "info": {"title": "NinjaExtraAPI", "version": "1.0.0", "description": ""}, "paths": {"/api/token/pair": {"post": {"operationId": "token_obtain_pair", "summary": "Obtain Token", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TokenObtainPairOutputSchema"}}}}}, "tags": ["token"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TokenObtainPairInputSchema"}}}, "required": true}}}, "/api/token/refresh": {"post": {"operationId": "token_refresh", "summary": "Refresh Token", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TokenRefreshOutputSchema"}}}}}, "tags": ["token"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TokenRefreshInputSchema"}}}, "required": true}}}, "/api/token/verify": {"post": {"operationId": "token_verify", "summary": "Verify Token", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Schema"}}}}}, "tags": ["token"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TokenVerifyInputSchema"}}}, "required": true}}}, "/api/carriles/report": {"get": {"operationId": "27a0460d_controller_download_carriles_report", "summary": "Download Carriles Report", "parameters": [{"in": "query", "name": "vpn_aduana", "schema": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Vpn Aduana"}, "required": false}, {"in": "query", "name": "tag", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Tag"}, "required": false}, {"in": "query", "name": "tag_alertado", "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Tag Alertado"}, "required": false}, {"in": "query", "name": "fecha_min", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Min"}, "required": false}, {"in": "query", "name": "fecha_max", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Max"}, "required": false}, {"in": "query", "name": "estado", "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Estado"}, "required": false}], "responses": {"200": {"description": "OK"}}, "tags": ["Carriles"], "security": [{"BearerAuth": []}]}}, "/api/expedientes/automatizados/report": {"get": {"operationId": "87c1745d_controller_download_expedientes_automatizados_report", "summary": "Download Expedientes Automatizados Report", "parameters": [{"in": "query", "name": "created_at_min", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Created At Min"}, "required": false}, {"in": "query", "name": "created_at_max", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Created At Max"}, "required": false}, {"in": "query", "name": "timezone", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Timezone"}, "required": false}], "responses": {"200": {"description": "OK"}}, "tags": ["Expedientes"], "security": [{"BearerAuth": []}]}}, "/api/expedientes-masivos/report": {"get": {"operationId": "42555a8e_controller_download_expedientes_masivos_report", "summary": "Download Expedientes Masivos Report", "parameters": [{"in": "query", "name": "fecha_entrada_min", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Entrada Min"}, "required": false}, {"in": "query", "name": "fecha_entrada_max", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Entrada Max"}, "required": false}, {"in": "query", "name": "fecha_salida_min", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Salida Min"}, "required": false}, {"in": "query", "name": "fecha_salida_max", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Salida Max"}, "required": false}, {"in": "query", "name": "vpns_aduana", "schema": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Vpns Aduana"}, "required": false}, {"in": "query", "name": "carriles", "schema": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Carriles"}, "required": false}, {"in": "query", "name": "gafete_oce", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Gafete Oce"}, "required": false}, {"in": "query", "name": "folio_unico", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Folio Unico"}, "required": false}, {"in": "query", "name": "placa", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Placa"}, "required": false}, {"in": "query", "name": "timezone", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Timezone"}, "required": false}], "responses": {"200": {"description": "OK"}}, "tags": ["Expedientes Masivos"], "security": [{"BearerAuth": []}]}}, "/api/expedientes-masivos/aforo": {"get": {"operationId": "88e63ef2_controller_download_aforos_report", "summary": "Download Aforos Report", "parameters": [{"in": "query", "name": "anio", "schema": {"anyOf": [{"exclusiveMinimum": 0, "maximum": 9999, "type": "integer"}, {"type": "null"}], "title": "Anio"}, "required": false}, {"in": "query", "name": "vpn", "schema": {"items": {"type": "string"}, "title": "Vpn", "type": "array"}, "required": false}, {"in": "query", "name": "mes", "schema": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Mes"}, "required": false}, {"in": "query", "name": "fecha_de_creacion_min", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha De Creacion Min"}, "required": false}, {"in": "query", "name": "fecha_de_creacion_max", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha De Creacion Max"}, "required": false}, {"in": "query", "name": "timezone", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Timezone"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"title": "Response", "type": "object"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"title": "Response", "type": "object"}}}}}, "tags": ["Expedientes Masivos"], "security": [{"BearerAuth": []}]}}, "/api/inventario-componentes/report": {"get": {"operationId": "0fb943f0_controller_download_inventario_componentes_report", "summary": "Download Inventario Componentes Report", "parameters": [{"in": "query", "name": "tipo_componente", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Tipo Componente"}, "required": false}, {"in": "query", "name": "id_componente", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Id Componente"}, "required": false}, {"in": "query", "name": "tag", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Tag"}, "required": false}, {"in": "query", "name": "vpn_aduana", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Vpn Aduana"}, "required": false}, {"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "timezone", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Timezone"}, "required": false}], "responses": {"200": {"description": "OK"}}, "tags": ["Inventario Componentes"], "security": [{"BearerAuth": []}]}}, "/api/listas-negras/report": {"get": {"operationId": "f139736c_controller_download_listas_negras_report", "summary": "Download Listas Negras Report", "parameters": [{"in": "query", "name": "vpn_aduana", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Vpn Aduana"}, "required": false}, {"in": "query", "name": "fecha_hora_inicio_rango_min", "schema": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Fecha Hora Inicio Rango Min"}, "required": false}, {"in": "query", "name": "fecha_hora_inicio_rango_max", "schema": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Fecha Hora Inicio Rango Max"}, "required": false}, {"in": "query", "name": "timezone", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Timezone"}, "required": false}], "responses": {"200": {"description": "OK"}}, "tags": ["Listas Negras"], "security": [{"BearerAuth": []}]}}, "/api/puntos-tacticos/streaming-report": {"get": {"operationId": "a2a1536a_controller_get_pt_streaming_report", "summary": "Get Pt Streaming Report", "parameters": [{"in": "query", "name": "fecha_min", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Min"}, "required": false}, {"in": "query", "name": "fecha_max", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Max"}, "required": false}, {"in": "query", "name": "timezone", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Timezone"}, "required": false}, {"in": "query", "name": "resume_from_worksheet", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Resume From Worksheet"}, "required": false}, {"in": "query", "name": "resume_chunk_number", "schema": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": 0, "title": "Resume Chunk Number"}, "required": false}, {"in": "query", "name": "completed_worksheets", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Completed Worksheets"}, "required": false}], "responses": {"200": {"description": "OK"}}, "description": "Generate complex PT report with streaming response and checkpoints.\n\nArgs:\n    fecha_min: Start date filter\n    fecha_max: End date filter \n    timezone: Timezone for date conversions", "tags": ["Puntos Tacticos"], "security": [{"BearerAuth": []}]}}, "/api/sensores/report": {"get": {"operationId": "066e2c47_controller_download_inventario_componentes_report", "summary": "Download Inventario Componentes Report", "parameters": [{"in": "query", "name": "nombre_nodo", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Nombre Nodo"}, "required": false}, {"in": "query", "name": "valor", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Valor"}, "required": false}, {"in": "query", "name": "carriles", "schema": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Carriles"}, "required": false}, {"in": "query", "name": "vpns_aduana", "schema": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Vpns Aduana"}, "required": false}, {"in": "query", "name": "fecha_hora_min", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Hora Min"}, "required": false}, {"in": "query", "name": "fecha_hora_max", "schema": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Fecha Hora Max"}, "required": false}, {"in": "query", "name": "timezone", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Timezone"}, "required": false}], "responses": {"200": {"description": "OK"}}, "tags": ["Sensores"], "security": [{"BearerAuth": []}]}}}, "components": {"schemas": {"TokenObtainPairOutputSchema": {"properties": {"username": {"description": "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", "maxLength": 150, "title": "Username", "type": "string"}, "refresh": {"title": "Refresh", "type": "string"}, "access": {"title": "Access", "type": "string"}}, "required": ["username", "refresh", "access"], "title": "TokenObtainPairOutputSchema", "type": "object"}, "TokenObtainPairInputSchema": {"properties": {"password": {"maxLength": 128, "title": "Password", "type": "string"}, "username": {"description": "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", "maxLength": 150, "title": "Username", "type": "string"}}, "required": ["password", "username"], "title": "TokenObtainPairInputSchema", "type": "object"}, "TokenRefreshOutputSchema": {"properties": {"refresh": {"title": "Refresh", "type": "string"}, "access": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Access"}}, "required": ["refresh", "access"], "title": "TokenRefreshOutputSchema", "type": "object"}, "TokenRefreshInputSchema": {"properties": {"refresh": {"title": "Refresh", "type": "string"}}, "required": ["refresh"], "title": "TokenRefreshInputSchema", "type": "object"}, "Schema": {"properties": {}, "title": "Schema", "type": "object"}, "TokenVerifyInputSchema": {"properties": {"token": {"title": "Token", "type": "string"}}, "required": ["token"], "title": "TokenVerifyInputSchema", "type": "object"}}, "securitySchemes": {"BearerAuth": {"type": "http", "scheme": "bearer"}}}, "servers": []}