{
  "openapi": "3.0.0",
  "info": {
    "title": "tokelia-pay API",
    "version": "0.0.1",
    "description": "tokelia-pay backend: pagos cripto multi-inquilino para los productos de Beltsys Labs",
    "contact": {
      "name": "Beltsys Labs"
    }
  },
  "paths": {
    "/admin/company/brand-import": {
      "post": {
        "x-controller-name": "BrandImportController",
        "x-operation-name": "importBrand",
        "tags": [
          "BrandImportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of BrandImportController.importBrand"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "URL del sitio a analizar",
          "required": true
        },
        "operationId": "BrandImportController.importBrand"
      }
    },
    "/admin/company/config/update": {
      "post": {
        "x-controller-name": "CompanyAdminController",
        "x-operation-name": "updateAdminConfig",
        "tags": [
          "CompanyAdminController"
        ],
        "responses": {
          "200": {
            "description": "Update company configuration",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "company": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "backend": {
                    "type": "string"
                  },
                  "custom": {
                    "type": "object",
                    "properties": {
                      "styles": {
                        "type": "object"
                      },
                      "settings": {
                        "type": "object"
                      },
                      "signin": {
                        "type": "object"
                      },
                      "signup": {
                        "type": "object"
                      },
                      "web3": {
                        "type": "object"
                      },
                      "poweredBy": {
                        "type": "object"
                      },
                      "socialProvider": {
                        "type": "object"
                      },
                      "captcha": {
                        "type": "string"
                      },
                      "sancionedCountries": {
                        "type": "object"
                      },
                      "modules": {
                        "type": "object"
                      }
                    }
                  },
                  "apis": {
                    "type": "object"
                  },
                  "email": {
                    "type": "object"
                  },
                  "sms": {
                    "type": "object"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "description": "Company configuration update data",
          "required": true
        },
        "operationId": "CompanyAdminController.updateAdminConfig"
      }
    },
    "/admin/company/config": {
      "get": {
        "x-controller-name": "CompanyAdminController",
        "x-operation-name": "getAdminConfig",
        "tags": [
          "CompanyAdminController"
        ],
        "responses": {
          "200": {
            "description": "Company configuration for administrators",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "company": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "origin": {
                          "type": "string"
                        },
                        "backend": {
                          "type": "string"
                        },
                        "countryCode": {
                          "type": "string"
                        },
                        "maintance": {
                          "type": "boolean"
                        },
                        "is_block": {
                          "type": "boolean"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "isMasterCompany": {
                          "type": "boolean"
                        },
                        "custom": {
                          "type": "object"
                        },
                        "apis": {
                          "type": "object"
                        },
                        "email": {
                          "type": "object"
                        },
                        "sms": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyAdminController.getAdminConfig"
      }
    },
    "/admin/company/email/test": {
      "post": {
        "x-controller-name": "CompanyEmailController",
        "x-operation-name": "testEmailConfiguration",
        "tags": [
          "CompanyEmailController"
        ],
        "responses": {
          "200": {
            "description": "Email test result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "details": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "serverEmailType": {
                    "type": "string"
                  },
                  "testEmail": {
                    "type": "string"
                  },
                  "config": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyEmailController.testEmailConfiguration"
      }
    },
    "/admin/company/sms/test": {
      "post": {
        "x-controller-name": "CompanyEmailController",
        "x-operation-name": "testSmsConfiguration",
        "tags": [
          "CompanyEmailController"
        ],
        "responses": {
          "200": {
            "description": "SMS test result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "details": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "config",
                  "companyId"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "config": {
                    "type": "object"
                  },
                  "companyId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyEmailController.testSmsConfiguration"
      }
    },
    "/admin/company/whatsapp/test": {
      "post": {
        "x-controller-name": "CompanyEmailController",
        "x-operation-name": "testWhatsappConfiguration",
        "tags": [
          "CompanyEmailController"
        ],
        "responses": {
          "200": {
            "description": "WhatsApp test result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "details": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "config",
                  "companyId"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "config": {
                    "type": "object"
                  },
                  "companyId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyEmailController.testWhatsappConfiguration"
      }
    },
    "/admin/company/{companyId}/modules/enabled": {
      "get": {
        "x-controller-name": "CompanyModulesController",
        "x-operation-name": "getEnabledModules",
        "tags": [
          "CompanyModulesController"
        ],
        "responses": {
          "200": {
            "description": "Módulos asignados a la compañía",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "module": {
                            "type": "object"
                          },
                          "assignment": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyModulesController.getEnabledModules"
      }
    },
    "/admin/company/{companyId}/modules/visibility": {
      "post": {
        "x-controller-name": "CompanyModulesController",
        "x-operation-name": "setVisibility",
        "tags": [
          "CompanyModulesController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Ocultar o mostrar modulos concedidos"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "modules"
                ],
                "properties": {
                  "modules": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "moduleId",
                        "hidden"
                      ],
                      "properties": {
                        "moduleId": {
                          "type": "string"
                        },
                        "hidden": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CompanyModulesController.setVisibility"
      }
    },
    "/admin/company/{companyId}/modules": {
      "get": {
        "x-controller-name": "CompanyModulesController",
        "x-operation-name": "listForCompany",
        "tags": [
          "CompanyModulesController"
        ],
        "responses": {
          "200": {
            "description": "Listado de módulos disponibles y su estado para la compañía",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "module": {
                            "type": "object"
                          },
                          "enabled": {
                            "type": "boolean"
                          },
                          "companyModuleId": {
                            "type": "string",
                            "nullable": true
                          },
                          "config": {
                            "type": "object",
                            "nullable": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyModulesController.listForCompany"
      }
    },
    "/admin/dashboard/summary": {
      "get": {
        "x-controller-name": "CompanyDashboardController",
        "x-operation-name": "resumen",
        "tags": [
          "CompanyDashboardController"
        ],
        "responses": {
          "200": {
            "description": "Cifras de la compania del solicitante",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "operationId": "CompanyDashboardController.resumen"
      }
    },
    "/admin/kyc/reviews": {
      "get": {
        "x-controller-name": "KycVerificationAdminController",
        "x-operation-name": "revisionesVencidas",
        "tags": [
          "KycVerificationAdminController"
        ],
        "responses": {
          "200": {
            "description": "Empresas con la revision registral vencida",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "meses",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "KycVerificationAdminController.revisionesVencidas"
      }
    },
    "/admin/kyc/watchlist/{id}/assign": {
      "post": {
        "x-controller-name": "KycVerificationAdminController",
        "x-operation-name": "asignar",
        "tags": [
          "KycVerificationAdminController"
        ],
        "responses": {
          "200": {
            "description": "Quien se hace cargo de la alerta",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "description": "A quien se asigna. Sin esto, a quien hace la peticion."
                  }
                }
              }
            }
          },
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "KycVerificationAdminController.asignar"
      }
    },
    "/admin/kyc/watchlist/{id}/decision": {
      "post": {
        "x-controller-name": "KycVerificationAdminController",
        "x-operation-name": "decidir",
        "tags": [
          "KycVerificationAdminController"
        ],
        "responses": {
          "200": {
            "description": "Decision de un revisor sobre una alerta de vigilancia",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "estado",
                  "nota"
                ],
                "properties": {
                  "estado": {
                    "type": "string",
                    "enum": [
                      "ACTIVE",
                      "BLOCKED"
                    ],
                    "description": "ACTIVE descarta la alerta; BLOCKED suspende."
                  },
                  "nota": {
                    "type": "string",
                    "description": "Por que se decide esto. Obligatoria."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KycVerificationAdminController.decidir"
      }
    },
    "/admin/kyc/watchlist/{id}": {
      "get": {
        "x-controller-name": "KycVerificationAdminController",
        "x-operation-name": "detalle",
        "tags": [
          "KycVerificationAdminController"
        ],
        "responses": {
          "200": {
            "description": "Un expediente con su historial completo",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KycVerificationAdminController.detalle"
      }
    },
    "/admin/kyc/watchlist": {
      "get": {
        "x-controller-name": "KycVerificationAdminController",
        "x-operation-name": "listar",
        "tags": [
          "KycVerificationAdminController"
        ],
        "responses": {
          "200": {
            "description": "Expedientes con la vigilancia marcada",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "estado",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "KycVerificationAdminController.listar"
      }
    },
    "/admin/modules/{id}": {
      "patch": {
        "x-controller-name": "ModuleController",
        "x-operation-name": "updateById",
        "tags": [
          "ModuleController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Actualizar un módulo existente"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ModuleController.updateById"
      },
      "delete": {
        "x-controller-name": "ModuleController",
        "x-operation-name": "disableById",
        "tags": [
          "ModuleController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Deshabilitar un módulo"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ModuleController.disableById"
      }
    },
    "/admin/modules": {
      "post": {
        "x-controller-name": "ModuleController",
        "x-operation-name": "create",
        "tags": [
          "ModuleController"
        ],
        "responses": {
          "200": {
            "description": "Crear un nuevo módulo",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Module"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "code"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "ModuleController.create"
      },
      "get": {
        "x-controller-name": "ModuleController",
        "x-operation-name": "find",
        "tags": [
          "ModuleController"
        ],
        "responses": {
          "200": {
            "description": "Listado de módulos disponibles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Module"
                  }
                }
              }
            }
          }
        },
        "operationId": "ModuleController.find"
      }
    },
    "/admin/payments/api-keys/{id}": {
      "delete": {
        "x-controller-name": "ApiKeysController",
        "x-operation-name": "revocar",
        "tags": [
          "ApiKeysController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ApiKeysController.revocar"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ApiKeysController.revocar"
      }
    },
    "/admin/payments/api-keys": {
      "post": {
        "x-controller-name": "ApiKeysController",
        "x-operation-name": "crear",
        "tags": [
          "ApiKeysController"
        ],
        "responses": {
          "201": {
            "description": "Key creada",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApiKeyRequest"
              }
            }
          }
        },
        "operationId": "ApiKeysController.crear"
      },
      "get": {
        "x-controller-name": "ApiKeysController",
        "x-operation-name": "listar",
        "tags": [
          "ApiKeysController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ApiKeysController.listar"
          }
        },
        "operationId": "ApiKeysController.listar"
      }
    },
    "/admin/security/audit": {
      "get": {
        "x-controller-name": "SecurityMasterController",
        "x-operation-name": "actividad",
        "tags": [
          "SecurityMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Security audit trail (closed event list)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "event",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "actorId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "desde",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hasta",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "SecurityMasterController.actividad"
      }
    },
    "/admin/security/ip-reputation/recheck": {
      "post": {
        "x-controller-name": "SecurityMasterController",
        "x-operation-name": "reconsultarIp",
        "tags": [
          "SecurityMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Verdict purged; next request re-checks the IP"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ip",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SecurityMasterController.reconsultarIp"
      }
    },
    "/admin/security/ip-reputation": {
      "get": {
        "x-controller-name": "SecurityMasterController",
        "x-operation-name": "reputacionDeIps",
        "tags": [
          "SecurityMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cached AbuseIPDB verdicts"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "SecurityMasterController.reputacionDeIps"
      }
    },
    "/admin/security/summary": {
      "get": {
        "x-controller-name": "SecurityMasterController",
        "x-operation-name": "resumen",
        "tags": [
          "SecurityMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Security KPIs for the console dashboard"
                }
              }
            }
          }
        },
        "operationId": "SecurityMasterController.resumen"
      }
    },
    "/admin/support/agents": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getSupportAgents",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getSupportAgents"
          }
        },
        "operationId": "AdminSupportController.getSupportAgents"
      }
    },
    "/admin/support/dashboard": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getAdminDashboard",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getAdminDashboard"
          }
        },
        "operationId": "AdminSupportController.getAdminDashboard"
      }
    },
    "/admin/support/groups/{id}/assign-manager": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "assignGroupManager",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.assignGroupManager"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.assignGroupManager"
      }
    },
    "/admin/support/groups/{id}/delete": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "deleteSupportGroup",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.deleteSupportGroup"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportController.deleteSupportGroup"
      }
    },
    "/admin/support/groups/{id}/members/remove": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "removeMemberFromGroup",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.removeMemberFromGroup"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.removeMemberFromGroup"
      }
    },
    "/admin/support/groups/{id}/members": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "addMemberToGroup",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.addMemberToGroup"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.addMemberToGroup"
      },
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getGroupMembers",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getGroupMembers"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportController.getGroupMembers"
      }
    },
    "/admin/support/groups/{id}/update": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "updateSupportGroup",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.updateSupportGroup"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.updateSupportGroup"
      }
    },
    "/admin/support/groups": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "createSupportGroup",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.createSupportGroup"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AdminSupportController.createSupportGroup"
      },
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getSupportGroups",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getSupportGroups"
          }
        },
        "operationId": "AdminSupportController.getSupportGroups"
      }
    },
    "/admin/support/initialize": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "initializeSupport",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.initializeSupport"
          }
        },
        "operationId": "AdminSupportController.initializeSupport"
      }
    },
    "/admin/support/reports/performance": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getPerformanceReport",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getPerformanceReport"
          }
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminSupportController.getPerformanceReport"
      }
    },
    "/admin/support/reports/tickets": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getTicketReport",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getTicketReport"
          }
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminSupportController.getTicketReport"
      }
    },
    "/admin/support/settings": {
      "put": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "updateSupportSettings",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.updateSupportSettings"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AdminSupportController.updateSupportSettings"
      },
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getSupportSettings",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getSupportSettings"
          }
        },
        "operationId": "AdminSupportController.getSupportSettings"
      }
    },
    "/admin/support/stats/agents": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getAgentStats",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getAgentStats"
          }
        },
        "operationId": "AdminSupportController.getAgentStats"
      }
    },
    "/admin/support/ticket-types/{id}/delete": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "deleteTicketType",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.deleteTicketType"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.deleteTicketType"
      }
    },
    "/admin/support/ticket-types/{id}/update": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "updateTicketType",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.updateTicketType"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.updateTicketType"
      }
    },
    "/admin/support/ticket-types": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "createTicketType",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.createTicketType"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AdminSupportController.createTicketType"
      },
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getTicketTypes",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getTicketTypes"
          }
        },
        "operationId": "AdminSupportController.getTicketTypes"
      }
    },
    "/admin/support/tickets/{id}/assign": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "assignTicket",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.assignTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.assignTicket"
      }
    },
    "/admin/support/tickets/{id}/close": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "closeTicket",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.closeTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportController.closeTicket"
      }
    },
    "/admin/support/tickets/{id}/comments": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "addComment",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.addComment"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.addComment"
      },
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getComments",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getComments"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportController.getComments"
      }
    },
    "/admin/support/tickets/{id}/history": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getTicketHistoryAdmin",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getTicketHistoryAdmin"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportController.getTicketHistoryAdmin"
      }
    },
    "/admin/support/tickets/{id}/reopen": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "reopenTicket",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.reopenTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportController.reopenTicket"
      }
    },
    "/admin/support/tickets/{id}/resolve": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "resolveTicket",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.resolveTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.resolveTicket"
      }
    },
    "/admin/support/tickets/{id}/update": {
      "post": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "updateTicket",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.updateTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportController.updateTicket"
      }
    },
    "/admin/support/tickets/{id}": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getTicketById",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getTicketById"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportController.getTicketById"
      }
    },
    "/admin/support/tickets": {
      "get": {
        "x-controller-name": "AdminSupportController",
        "x-operation-name": "getAllTickets",
        "tags": [
          "AdminSupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportController.getAllTickets"
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assignee",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminSupportController.getAllTickets"
      }
    },
    "/admin/users/block-unblock": {
      "post": {
        "x-controller-name": "UserAdminController",
        "x-operation-name": "blockUnblock",
        "tags": [
          "UserAdminController"
        ],
        "responses": {
          "200": {
            "description": "WalletGaspump model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Load a gas pumps wallets for company",
          "required": true
        },
        "operationId": "UserAdminController.blockUnblock"
      }
    },
    "/admin/users/list": {
      "post": {
        "x-controller-name": "UserAdminController",
        "x-operation-name": "loadUsers",
        "tags": [
          "UserAdminController"
        ],
        "responses": {
          "200": {
            "description": "WalletGaspump model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Load a gas pumps wallets for company",
          "required": true
        },
        "operationId": "UserAdminController.loadUsers"
      }
    },
    "/admin/users/update": {
      "post": {
        "x-controller-name": "UserAdminController",
        "x-operation-name": "updateuser",
        "tags": [
          "UserAdminController"
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Load User by id",
          "required": true
        },
        "operationId": "UserAdminController.updateuser"
      }
    },
    "/admin/users/userid": {
      "post": {
        "x-controller-name": "UserAdminController",
        "x-operation-name": "userId",
        "tags": [
          "UserAdminController"
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Load User by id",
          "required": true
        },
        "operationId": "UserAdminController.userId"
      }
    },
    "/admin/workspaces/transfer-ownership": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "transferOwnership",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Transfer workspace ownership to another viewer member (admin endpoint)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "workspace": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "ownerId": {
                          "type": "string"
                        },
                        "kyc": {
                          "type": "boolean"
                        },
                        "previousKycStatus": {
                          "type": "boolean"
                        }
                      }
                    },
                    "previousOwner": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        }
                      }
                    },
                    "newOwner": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        }
                      }
                    },
                    "transferredAt": {
                      "type": "string"
                    },
                    "kycResetRequired": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "workspaceId",
                  "newOwnerId"
                ],
                "properties": {
                  "workspaceId": {
                    "type": "string",
                    "description": "ID del workspace del cliente"
                  },
                  "newOwnerId": {
                    "type": "string",
                    "description": "ID del nuevo propietario"
                  },
                  "reason": {
                    "type": "string",
                    "description": "Razón del cambio de ownership"
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceController.transferOwnership"
      }
    },
    "/admin/workspaces/user/{userId}": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "listUserWorkspaces",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "List all workspaces for a specific user (admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "ownerId": {
                        "type": "string"
                      },
                      "ownerName": {
                        "type": "string"
                      },
                      "account": {
                        "type": "string"
                      },
                      "companyId": {
                        "type": "string"
                      },
                      "kyc": {
                        "type": "boolean"
                      },
                      "isActive": {
                        "type": "boolean"
                      },
                      "createdAt": {
                        "type": "string"
                      },
                      "updatedAt": {
                        "type": "string"
                      },
                      "members": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "_id": {
                              "type": "string"
                            },
                            "userId": {
                              "type": "string"
                            },
                            "roleId": {
                              "type": "string"
                            },
                            "status": {
                              "type": "string"
                            },
                            "createdAt": {
                              "type": "string"
                            },
                            "user": {
                              "type": "object",
                              "properties": {
                                "_id": {
                                  "type": "string"
                                },
                                "email": {
                                  "type": "string"
                                },
                                "firstName": {
                                  "type": "string"
                                },
                                "lastName": {
                                  "type": "string"
                                },
                                "account": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workspace.Filter"
                }
              }
            }
          }
        ],
        "operationId": "WorkspaceController.listUserWorkspaces"
      }
    },
    "/admin/workspaces/{workspaceId}/activate": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "activateWorkspace",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Activate a workspace (admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "workspace": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "activatedAt": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Reason for activation"
                  },
                  "verificationCode": {
                    "type": "string",
                    "description": "2FA Verification Code"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceController.activateWorkspace"
      }
    },
    "/admin/workspaces/{workspaceId}/deactivate": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "deactivateWorkspace",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Deactivate a workspace (admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "workspace": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "deactivatedAt": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Reason for deactivation"
                  },
                  "verificationCode": {
                    "type": "string",
                    "description": "2FA Verification Code"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceController.deactivateWorkspace"
      }
    },
    "/admin/workspaces/{workspaceId}/kyc-reject": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "rejectWorkspaceKyc",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Reject KYC documentation for a workspace (admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "workspace": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "kyc": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "Nuevo estado KYC (por defecto \"rejected\")"
                  },
                  "reason": {
                    "type": "string",
                    "description": "Motivo del rechazo"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceController.rejectWorkspaceKyc"
      }
    },
    "/admin/workspaces/{workspaceId}/kyc-report": {
      "post": {
        "x-controller-name": "KycVerificationController",
        "x-operation-name": "obtenerExpedienteDeKyc",
        "tags": [
          "KycVerificationController"
        ],
        "responses": {
          "200": {
            "description": "PDF del expediente de verificacion de Didit",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KycVerificationController.obtenerExpedienteDeKyc"
      }
    },
    "/admin/workspaces/{workspaceId}/members": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "listWorkspaceMembers",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "List all members of a specific workspace (admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "_id": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "roleId": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string"
                      },
                      "updatedAt": {
                        "type": "string"
                      },
                      "user": {
                        "type": "object",
                        "properties": {
                          "_id": {
                            "type": "string"
                          },
                          "email": {
                            "type": "string"
                          },
                          "firstName": {
                            "type": "string"
                          },
                          "lastName": {
                            "type": "string"
                          },
                          "account": {
                            "type": "string"
                          },
                          "isActive": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspaceMember.Filter"
                }
              }
            }
          }
        ],
        "operationId": "WorkspaceController.listWorkspaceMembers"
      }
    },
    "/admin/workspaces/{workspaceId}/operational-status": {
      "get": {
        "x-controller-name": "KycVerificationTenantController",
        "x-operation-name": "operatividad",
        "tags": [
          "KycVerificationTenantController"
        ],
        "responses": {
          "200": {
            "description": "Si la cuenta puede operar, y por que no si es el caso",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "puedeOperar": {
                      "type": "boolean"
                    },
                    "motivo": {
                      "type": "string",
                      "nullable": true,
                      "description": "SIN_VERIFICACION o SUSPENDIDA. Nunca el hallazgo que lo causo."
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KycVerificationTenantController.operatividad"
      }
    },
    "/admin/workspaces/{workspaceId}": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "getWorkspaceDetails",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Get a specific workspace details (admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "ownerId": {
                      "type": "string"
                    },
                    "ownerName": {
                      "type": "string"
                    },
                    "account": {
                      "type": "string"
                    },
                    "companyId": {
                      "type": "string"
                    },
                    "kyc": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "members": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "_id": {
                            "type": "string"
                          },
                          "userId": {
                            "type": "string"
                          },
                          "roleId": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "user": {
                            "type": "object",
                            "properties": {
                              "_id": {
                                "type": "string"
                              },
                              "email": {
                                "type": "string"
                              },
                              "firstName": {
                                "type": "string"
                              },
                              "lastName": {
                                "type": "string"
                              },
                              "account": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceController.getWorkspaceDetails"
      }
    },
    "/admin/workspaces": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "listAdmin",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "List all workspaces for admin (by company)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "ownerId": {
                        "type": "string"
                      },
                      "ownerName": {
                        "type": "string"
                      },
                      "account": {
                        "type": "string"
                      },
                      "companyId": {
                        "type": "string"
                      },
                      "kyc": {
                        "type": "boolean"
                      },
                      "isActive": {
                        "type": "boolean"
                      },
                      "createdAt": {
                        "type": "string"
                      },
                      "updatedAt": {
                        "type": "string"
                      },
                      "members": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "_id": {
                              "type": "string"
                            },
                            "userId": {
                              "type": "string"
                            },
                            "roleId": {
                              "type": "string"
                            },
                            "status": {
                              "type": "string"
                            },
                            "createdAt": {
                              "type": "string"
                            },
                            "user": {
                              "type": "object",
                              "properties": {
                                "_id": {
                                  "type": "string"
                                },
                                "email": {
                                  "type": "string"
                                },
                                "firstName": {
                                  "type": "string"
                                },
                                "lastName": {
                                  "type": "string"
                                },
                                "account": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workspace.Filter"
                }
              }
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "WorkspaceController.listAdmin"
      }
    },
    "/bootstrap": {
      "post": {
        "x-controller-name": "BootstrapController",
        "x-operation-name": "inicializar",
        "tags": [
          "BootstrapController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Instalacion inicializada"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "X-Bootstrap-Token",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "description": "Token de instalacion (variable BOOTSTRAP_TOKEN del entorno)."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "maestra",
                  "fundador"
                ],
                "properties": {
                  "maestra": {
                    "type": "object",
                    "required": [
                      "name",
                      "origin",
                      "countryCode"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "origin": {
                        "type": "string"
                      },
                      "countryCode": {
                        "type": "string"
                      }
                    }
                  },
                  "fundador": {
                    "type": "object",
                    "required": [
                      "email"
                    ],
                    "properties": {
                      "email": {
                        "type": "string"
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "username": {
                        "type": "string"
                      }
                    }
                  },
                  "email": {
                    "type": "object",
                    "description": "serverEmailType: 0 SMTP, 1 AWS SES, 2 Azure. Los secretos (passwordSmtp, awsAccessKeyId, awsSecretAccessKey, azureConnectionString) se cifran al guardar.",
                    "properties": {
                      "serverEmailType": {
                        "type": "string"
                      },
                      "emailSender": {
                        "type": "string"
                      },
                      "emailSenderName": {
                        "type": "string"
                      },
                      "awsRegion": {
                        "type": "string"
                      },
                      "awsAccessKeyId": {
                        "type": "string"
                      },
                      "awsSecretAccessKey": {
                        "type": "string"
                      }
                    }
                  },
                  "cloudflare": {
                    "type": "object",
                    "description": "Turnstile. secretKey se cifra al guardar.",
                    "properties": {
                      "siteKey": {
                        "type": "string"
                      },
                      "secretKey": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": {
                  "maestra": {
                    "name": "Mi Plataforma",
                    "origin": "https://admin.miplataforma.com",
                    "countryCode": "ES"
                  },
                  "fundador": {
                    "email": "admin@miplataforma.com",
                    "firstName": "Admin",
                    "lastName": "Fundador",
                    "username": "admin"
                  },
                  "email": {
                    "serverEmailType": "1",
                    "emailSender": "no-reply@miplataforma.com",
                    "emailSenderName": "Mi Plataforma",
                    "awsRegion": "eu-north-1",
                    "awsAccessKeyId": "AKIA_TU_CLAVE",
                    "awsSecretAccessKey": "TU_SECRETO_SES"
                  },
                  "cloudflare": {
                    "siteKey": "0x_TU_SITE_KEY",
                    "secretKey": "0x_TU_SECRET_KEY"
                  }
                }
              }
            }
          },
          "description": "Configuracion inicial de la instalacion",
          "required": true
        },
        "operationId": "BootstrapController.inicializar"
      }
    },
    "/company": {
      "get": {
        "x-controller-name": "CompanyPublicController",
        "x-operation-name": "loadConfig",
        "tags": [
          "CompanyPublicController"
        ],
        "responses": {
          "200": {
            "description": "Public company configuration",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "companyId": {
                      "type": "string"
                    },
                    "styles": {
                      "type": "object",
                      "properties": {
                        "layout": {
                          "type": "string"
                        },
                        "logo": {
                          "type": "string"
                        },
                        "logoEmail": {
                          "type": "string"
                        },
                        "light_primary": {
                          "type": "string"
                        },
                        "light_secondary": {
                          "type": "string"
                        }
                      }
                    },
                    "settings": {
                      "type": "object",
                      "properties": {
                        "privacy": {
                          "type": "string"
                        },
                        "terms": {
                          "type": "string"
                        },
                        "app_name": {
                          "type": "string"
                        },
                        "contact": {
                          "type": "string"
                        },
                        "home": {
                          "type": "string"
                        },
                        "supportPage": {
                          "type": "string"
                        },
                        "backend": {
                          "type": "string"
                        },
                        "phone_verify": {
                          "type": "boolean"
                        },
                        "phone_verify_available": {
                          "type": "boolean"
                        },
                        "kyc": {
                          "type": "boolean"
                        },
                        "kyc_required": {
                          "type": "boolean"
                        },
                        "contract": {
                          "type": "boolean"
                        }
                      }
                    },
                    "signin": {
                      "type": "object",
                      "properties": {
                        "social_login": {
                          "type": "boolean"
                        },
                        "email_login": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        }
                      }
                    },
                    "signup": {
                      "type": "object",
                      "properties": {
                        "social_login": {
                          "type": "boolean"
                        },
                        "email_login": {
                          "type": "boolean"
                        },
                        "active": {
                          "type": "boolean"
                        }
                      }
                    },
                    "web3": {
                      "type": "object",
                      "properties": {
                        "wallets": {
                          "type": "array"
                        },
                        "chainsId": {
                          "type": "array"
                        },
                        "walletConnectId": {
                          "type": "string"
                        }
                      }
                    },
                    "socialProvider": {
                      "type": "object",
                      "properties": {
                        "google": {
                          "type": "boolean"
                        },
                        "facebook": {
                          "type": "boolean"
                        },
                        "linkedin": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Company.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CompanyPublicController.loadConfig"
      }
    },
    "/connections/browsers/delete": {
      "post": {
        "x-controller-name": "ConnectionsController",
        "x-operation-name": "deleteBrowser",
        "tags": [
          "ConnectionsController"
        ],
        "responses": {
          "200": {
            "description": "Delete browser connections",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Devices"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "ConnectionsController.deleteBrowser"
      }
    },
    "/connections/browsers": {
      "get": {
        "x-controller-name": "ConnectionsController",
        "x-operation-name": "findBrowsers",
        "tags": [
          "ConnectionsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Connections model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConnectionsWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Devices.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ConnectionsController.findBrowsers"
      }
    },
    "/connections/count": {
      "get": {
        "x-controller-name": "ConnectionsController",
        "x-operation-name": "count",
        "tags": [
          "ConnectionsController"
        ],
        "responses": {
          "200": {
            "description": "Connections model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Connections.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Connections>"
                }
              }
            }
          }
        ],
        "operationId": "ConnectionsController.count"
      }
    },
    "/connections/devices/delete": {
      "post": {
        "x-controller-name": "ConnectionsController",
        "x-operation-name": "deleteDevices",
        "tags": [
          "ConnectionsController"
        ],
        "responses": {
          "200": {
            "description": "Delete browser connections",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Devices"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "stepUp"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "stepUp": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "operationId": "ConnectionsController.deleteDevices"
      }
    },
    "/connections/devices": {
      "get": {
        "x-controller-name": "ConnectionsController",
        "x-operation-name": "findDevices",
        "tags": [
          "ConnectionsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Connections model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ConnectionsController.findDevices"
      }
    },
    "/connections": {
      "post": {
        "x-controller-name": "ConnectionsController",
        "x-operation-name": "create",
        "tags": [
          "ConnectionsController"
        ],
        "responses": {
          "200": {
            "description": "Connections model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connections"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewConnections"
              }
            }
          }
        },
        "operationId": "ConnectionsController.create"
      },
      "get": {
        "x-controller-name": "ConnectionsController",
        "x-operation-name": "find",
        "tags": [
          "ConnectionsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Connections model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConnectionsWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connections.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ConnectionsController.find"
      }
    },
    "/files/upload": {
      "post": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "uploadBase64",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "Upload file from base64",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "fileId": {
                          "type": "string"
                        },
                        "fileName": {
                          "type": "string"
                        },
                        "fileSize": {
                          "type": "number"
                        },
                        "fileType": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "folder": {
                          "type": "string"
                        },
                        "uploadedAt": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "base64",
                  "fileName"
                ],
                "properties": {
                  "base64": {
                    "type": "string",
                    "description": "Base64 encoded file data"
                  },
                  "fileName": {
                    "type": "string",
                    "description": "Original file name with extension"
                  },
                  "folder": {
                    "type": "string",
                    "description": "Custom folder path (optional). If not provided, uses automatic folder based on file type"
                  }
                }
              }
            }
          },
          "description": "Upload file from base64",
          "required": true
        },
        "operationId": "FileUploadController.uploadBase64"
      }
    },
    "/master/companies/stats/count-active": {
      "get": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "countActiveCompanies",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Count active non-master companies",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanySuperAdminController.countActiveCompanies"
      }
    },
    "/master/companies": {
      "get": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "getCompainies",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Company configuration for administrators",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "companies": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "_id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "origin": {
                            "type": "string"
                          },
                          "backend": {
                            "type": "string"
                          },
                          "countryCode": {
                            "type": "string"
                          },
                          "maintance": {
                            "type": "boolean"
                          },
                          "is_block": {
                            "type": "boolean"
                          },
                          "isActive": {
                            "type": "boolean"
                          },
                          "isMasterCompany": {
                            "type": "boolean"
                          },
                          "custom": {
                            "type": "object"
                          },
                          "apis": {
                            "type": "object"
                          },
                          "email": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanySuperAdminController.getCompainies"
      }
    },
    "/master/company/config/update": {
      "post": {
        "x-controller-name": "CompanyAdminMasterController",
        "x-operation-name": "updateAdminConfig",
        "tags": [
          "CompanyAdminMasterController"
        ],
        "responses": {
          "200": {
            "description": "Update company configuration",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "company": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "backend": {
                    "type": "string"
                  },
                  "custom": {
                    "type": "object",
                    "properties": {
                      "styles": {
                        "type": "object"
                      },
                      "settings": {
                        "type": "object"
                      },
                      "signin": {
                        "type": "object"
                      },
                      "signup": {
                        "type": "object"
                      },
                      "web3": {
                        "type": "object"
                      },
                      "poweredBy": {
                        "type": "object"
                      },
                      "socialProvider": {
                        "type": "object"
                      },
                      "captcha": {
                        "type": "string"
                      },
                      "sancionedCountries": {
                        "type": "object"
                      },
                      "modules": {
                        "type": "object"
                      }
                    }
                  },
                  "apis": {
                    "type": "object"
                  },
                  "email": {
                    "type": "object"
                  },
                  "sms": {
                    "type": "object"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "description": "Company configuration update data",
          "required": true
        },
        "operationId": "CompanyAdminMasterController.updateAdminConfig"
      }
    },
    "/master/company/config/{id}": {
      "get": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "getAdminConfig",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Company configuration for administrators",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "company": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "origin": {
                          "type": "string"
                        },
                        "backend": {
                          "type": "string"
                        },
                        "countryCode": {
                          "type": "string"
                        },
                        "maintance": {
                          "type": "boolean"
                        },
                        "is_block": {
                          "type": "boolean"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "isMasterCompany": {
                          "type": "boolean"
                        },
                        "apiKey": {
                          "type": "string"
                        },
                        "publicKey": {
                          "type": "string"
                        },
                        "custom": {
                          "type": "object"
                        },
                        "apis": {
                          "type": "object"
                        },
                        "email": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanySuperAdminController.getAdminConfig"
      }
    },
    "/master/company/config": {
      "get": {
        "x-controller-name": "CompanyAdminMasterController",
        "x-operation-name": "getAdminConfig",
        "tags": [
          "CompanyAdminMasterController"
        ],
        "responses": {
          "200": {
            "description": "Company configuration for administrators",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "company": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "origin": {
                          "type": "string"
                        },
                        "backend": {
                          "type": "string"
                        },
                        "countryCode": {
                          "type": "string"
                        },
                        "maintance": {
                          "type": "boolean"
                        },
                        "is_block": {
                          "type": "boolean"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "isMasterCompany": {
                          "type": "boolean"
                        },
                        "custom": {
                          "type": "object"
                        },
                        "apis": {
                          "type": "object"
                        },
                        "email": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyAdminMasterController.getAdminConfig"
      }
    },
    "/master/company/create": {
      "post": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "createCompany",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Company created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "company": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "origin": {
                          "type": "string"
                        },
                        "backend": {
                          "type": "string"
                        },
                        "countryCode": {
                          "type": "string"
                        },
                        "maintance": {
                          "type": "boolean"
                        },
                        "is_block": {
                          "type": "boolean"
                        },
                        "isMasterCompany": {
                          "type": "boolean"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "isDelete": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "origin",
                  "backend",
                  "passkeyAuthentication"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "origin": {
                    "type": "string"
                  },
                  "backend": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  },
                  "adminEmail": {
                    "type": "string",
                    "format": "email"
                  }
                }
              }
            }
          },
          "description": "Company creation data",
          "required": true
        },
        "operationId": "CompanySuperAdminController.createCompany"
      }
    },
    "/master/company/email/test": {
      "post": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "testEmailConfiguration",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Email test result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "details": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "testEmail": {
                    "type": "string",
                    "format": "email"
                  },
                  "serverEmailType": {
                    "type": "string"
                  },
                  "config": {
                    "type": "object"
                  },
                  "companyId": {
                    "type": "string"
                  }
                },
                "required": [
                  "testEmail",
                  "serverEmailType",
                  "config"
                ]
              }
            }
          }
        },
        "operationId": "CompanySuperAdminController.testEmailConfiguration"
      }
    },
    "/master/company/{id}/config/update": {
      "post": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "updateAdminConfig",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Update company configuration",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "company": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "backend": {
                    "type": "string"
                  },
                  "custom": {
                    "type": "object",
                    "properties": {
                      "styles": {
                        "type": "object"
                      },
                      "settings": {
                        "type": "object"
                      },
                      "signin": {
                        "type": "object"
                      },
                      "signup": {
                        "type": "object"
                      },
                      "web3": {
                        "type": "object"
                      },
                      "poweredBy": {
                        "type": "object"
                      },
                      "socialProvider": {
                        "type": "object"
                      },
                      "captcha": {
                        "type": "string"
                      },
                      "sancionedCountries": {
                        "type": "object"
                      },
                      "modules": {
                        "type": "object"
                      }
                    }
                  },
                  "apis": {
                    "type": "object"
                  },
                  "email": {
                    "type": "object"
                  },
                  "sms": {
                    "type": "object"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                },
                "required": [
                  "passkeyAuthentication"
                ]
              }
            }
          },
          "description": "Company configuration update data",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CompanySuperAdminController.updateAdminConfig"
      }
    },
    "/master/company/{id}/invite-admin": {
      "post": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "inviteCompanyAdmin",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Admin invitation sent",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "passkeyAuthentication"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "description": "Admin invitation data",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CompanySuperAdminController.inviteCompanyAdmin"
      }
    },
    "/master/company/{companyId}/modules/{moduleId}": {
      "delete": {
        "x-controller-name": "CompanyModulesMasterController",
        "x-operation-name": "removeModule",
        "tags": [
          "CompanyModulesMasterController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Eliminar la asignación de un módulo de la compañía"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "moduleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyModulesMasterController.removeModule"
      }
    },
    "/master/company/{companyId}/modules": {
      "post": {
        "x-controller-name": "CompanyModulesMasterController",
        "x-operation-name": "assignModules",
        "tags": [
          "CompanyModulesMasterController"
        ],
        "responses": {
          "200": {
            "description": "Asignar o actualizar módulos para la compañía",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "module": {
                            "type": "object"
                          },
                          "enabled": {
                            "type": "boolean"
                          },
                          "companyModuleId": {
                            "type": "string",
                            "nullable": true
                          },
                          "config": {
                            "type": "object",
                            "nullable": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "modules"
                ],
                "properties": {
                  "modules": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "moduleId"
                      ],
                      "properties": {
                        "moduleId": {
                          "type": "string"
                        },
                        "enabled": {
                          "type": "boolean"
                        },
                        "config": {
                          "type": "object"
                        }
                      }
                    }
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CompanyModulesMasterController.assignModules"
      }
    },
    "/master/company/{id}/update-basic-data": {
      "post": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "updateCompanyBasicData",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Company basic data updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "company": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "origin": {
                          "type": "string"
                        },
                        "backend": {
                          "type": "string"
                        },
                        "custom": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "origin": {
                    "type": "string"
                  },
                  "backend": {
                    "type": "string"
                  },
                  "custom": {
                    "type": "object",
                    "properties": {
                      "poweredBy": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                },
                "required": [
                  "passkeyAuthentication"
                ]
              }
            }
          },
          "description": "Company basic data update",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CompanySuperAdminController.updateCompanyBasicData"
      }
    },
    "/master/company/{id}/update-status": {
      "post": {
        "x-controller-name": "CompanySuperAdminController",
        "x-operation-name": "updateCompanyStatus",
        "tags": [
          "CompanySuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Company status updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "company": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "maintance": {
                          "type": "boolean"
                        },
                        "is_block": {
                          "type": "boolean"
                        },
                        "isActive": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "maintance": {
                    "type": "boolean"
                  },
                  "is_block": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                },
                "required": [
                  "passkeyAuthentication"
                ]
              }
            }
          },
          "description": "Company status update data",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CompanySuperAdminController.updateCompanyStatus"
      }
    },
    "/master/connections/{id}": {
      "get": {
        "x-controller-name": "ConnectionsController",
        "x-operation-name": "findSuperAdmin",
        "tags": [
          "ConnectionsController"
        ],
        "responses": {
          "200": {
            "description": "Paginated array of Connections model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ConnectionsWithRelations"
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "limit": {
                      "type": "number"
                    },
                    "skip": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connections.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ConnectionsController.findSuperAdmin"
      }
    },
    "/master/payments/companies/{companyId}/api-keys/{id}": {
      "delete": {
        "x-controller-name": "ApiKeysController",
        "x-operation-name": "revocarDeCompania",
        "tags": [
          "ApiKeysController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ApiKeysController.revocarDeCompania"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ApiKeysController.revocarDeCompania"
      }
    },
    "/master/payments/companies/{companyId}/api-keys": {
      "post": {
        "x-controller-name": "ApiKeysController",
        "x-operation-name": "crearParaCompania",
        "tags": [
          "ApiKeysController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ApiKeysController.crearParaCompania"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApiKeyRequest"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ApiKeysController.crearParaCompania"
      },
      "get": {
        "x-controller-name": "ApiKeysController",
        "x-operation-name": "listarDeCompania",
        "tags": [
          "ApiKeysController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ApiKeysController.listarDeCompania"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ApiKeysController.listarDeCompania"
      }
    },
    "/master/support/agents": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getSupportAgents",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getSupportAgents"
          }
        },
        "operationId": "AdminSupportMasterController.getSupportAgents"
      }
    },
    "/master/support/dashboard": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getAdminDashboard",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getAdminDashboard"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminSupportMasterController.getAdminDashboard"
      }
    },
    "/master/support/groups/{id}/assign-manager": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "assignGroupManager",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.assignGroupManager"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.assignGroupManager"
      }
    },
    "/master/support/groups/{id}/delete": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "deleteSupportGroup",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.deleteSupportGroup"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportMasterController.deleteSupportGroup"
      }
    },
    "/master/support/groups/{id}/members/remove": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "removeMemberFromGroup",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.removeMemberFromGroup"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.removeMemberFromGroup"
      }
    },
    "/master/support/groups/{id}/members": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "addMemberToGroup",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.addMemberToGroup"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.addMemberToGroup"
      },
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getGroupMembers",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getGroupMembers"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportMasterController.getGroupMembers"
      }
    },
    "/master/support/groups/{id}/update": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "updateSupportGroup",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.updateSupportGroup"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.updateSupportGroup"
      }
    },
    "/master/support/groups": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "createSupportGroup",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.createSupportGroup"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AdminSupportMasterController.createSupportGroup"
      },
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getSupportGroups",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getSupportGroups"
          }
        },
        "operationId": "AdminSupportMasterController.getSupportGroups"
      }
    },
    "/master/support/initialize": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "initializeSupport",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.initializeSupport"
          }
        },
        "operationId": "AdminSupportMasterController.initializeSupport"
      }
    },
    "/master/support/reports/performance": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getPerformanceReport",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getPerformanceReport"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminSupportMasterController.getPerformanceReport"
      }
    },
    "/master/support/reports/tickets": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getTicketReport",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getTicketReport"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminSupportMasterController.getTicketReport"
      }
    },
    "/master/support/settings": {
      "put": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "updateSupportSettings",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.updateSupportSettings"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AdminSupportMasterController.updateSupportSettings"
      },
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getSupportSettings",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getSupportSettings"
          }
        },
        "operationId": "AdminSupportMasterController.getSupportSettings"
      }
    },
    "/master/support/stats/agents": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getAgentStats",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getAgentStats"
          }
        },
        "operationId": "AdminSupportMasterController.getAgentStats"
      }
    },
    "/master/support/ticket-types": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getTicketTypes",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getTicketTypes"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminSupportMasterController.getTicketTypes"
      }
    },
    "/master/support/tickets/{id}/assign": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "assignTicket",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.assignTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.assignTicket"
      }
    },
    "/master/support/tickets/{id}/close": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "closeTicket",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.closeTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportMasterController.closeTicket"
      }
    },
    "/master/support/tickets/{id}/comments": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "addComment",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.addComment"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.addComment"
      },
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getComments",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getComments"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportMasterController.getComments"
      }
    },
    "/master/support/tickets/{id}/history": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getTicketHistoryAdmin",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getTicketHistoryAdmin"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportMasterController.getTicketHistoryAdmin"
      }
    },
    "/master/support/tickets/{id}/reopen": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "reopenTicket",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.reopenTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportMasterController.reopenTicket"
      }
    },
    "/master/support/tickets/{id}/resolve": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "resolveTicket",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.resolveTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.resolveTicket"
      }
    },
    "/master/support/tickets/{id}/update": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "updateTicket",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.updateTicket"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.updateTicket"
      }
    },
    "/master/support/tickets/{id}": {
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getTicketById",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getTicketById"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportMasterController.getTicketById"
      }
    },
    "/master/support/tickets": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "createTicket",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.createTicket"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AdminSupportMasterController.createTicket"
      },
      "get": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "getAllTickets",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.getAllTickets"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assignee",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminSupportMasterController.getAllTickets"
      }
    },
    "/master/support/types/{id}/delete": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "deleteTicketType",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.deleteTicketType"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSupportMasterController.deleteTicketType"
      }
    },
    "/master/support/types/{id}/update": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "updateTicketType",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.updateTicketType"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminSupportMasterController.updateTicketType"
      }
    },
    "/master/support/types": {
      "post": {
        "x-controller-name": "AdminSupportMasterController",
        "x-operation-name": "createTicketType",
        "tags": [
          "AdminSupportMasterController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AdminSupportMasterController.createTicketType"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AdminSupportMasterController.createTicketType"
      }
    },
    "/master/users/list": {
      "post": {
        "x-controller-name": "UserSuperAdminController",
        "x-operation-name": "loadUsers",
        "tags": [
          "UserSuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "WalletGaspump model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Load a gas pumps wallets for company",
          "required": true
        },
        "operationId": "UserSuperAdminController.loadUsers"
      }
    },
    "/master/users/stats/count-total": {
      "get": {
        "x-controller-name": "UserSuperAdminController",
        "x-operation-name": "countTotalUsers",
        "tags": [
          "UserSuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "Count total users in the application",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "UserSuperAdminController.countTotalUsers"
      }
    },
    "/master/users/update": {
      "post": {
        "x-controller-name": "UserSuperAdminController",
        "x-operation-name": "updateuser",
        "tags": [
          "UserSuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Load User by id",
          "required": true
        },
        "operationId": "UserSuperAdminController.updateuser"
      }
    },
    "/master/users/userid": {
      "post": {
        "x-controller-name": "UserSuperAdminController",
        "x-operation-name": "userId",
        "tags": [
          "UserSuperAdminController"
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Load User by id",
          "required": true
        },
        "operationId": "UserSuperAdminController.userId"
      }
    },
    "/master/workspace-invitations/{id}/cancel": {
      "post": {
        "x-controller-name": "WorkspaceInvitationMasterController",
        "x-operation-name": "cancelInvitation",
        "tags": [
          "WorkspaceInvitationMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cancel workspace invitation as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "passkeyAuthentication"
                ],
                "properties": {
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceInvitationMasterController.cancelInvitation"
      }
    },
    "/master/workspace-invitations/{id}/resend": {
      "post": {
        "x-controller-name": "WorkspaceInvitationMasterController",
        "x-operation-name": "resendInvitation",
        "tags": [
          "WorkspaceInvitationMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Resend workspace invitation as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "passkeyAuthentication"
                ],
                "properties": {
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceInvitationMasterController.resendInvitation"
      }
    },
    "/master/workspace-invitations": {
      "get": {
        "x-controller-name": "WorkspaceInvitationMasterController",
        "x-operation-name": "getWorkspaceInvitations",
        "tags": [
          "WorkspaceInvitationMasterController"
        ],
        "responses": {
          "200": {
            "description": "Get invitations as super admin",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceInvitationWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceInvitationMasterController.getWorkspaceInvitations"
      }
    },
    "/master/workspace-members/{id}/block": {
      "post": {
        "x-controller-name": "WorkspaceMemberMasterController",
        "x-operation-name": "blockMember",
        "tags": [
          "WorkspaceMemberMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Block workspace member as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "passkeyAuthentication"
                ],
                "properties": {
                  "reason": {
                    "type": "string"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceMemberMasterController.blockMember"
      }
    },
    "/master/workspace-members/{id}/change-role": {
      "post": {
        "x-controller-name": "WorkspaceMemberMasterController",
        "x-operation-name": "changeRole",
        "tags": [
          "WorkspaceMemberMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Change workspace member role as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "roleId",
                  "passkeyAuthentication"
                ],
                "properties": {
                  "roleId": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceMemberMasterController.changeRole"
      }
    },
    "/master/workspace-members/{id}/unblock": {
      "post": {
        "x-controller-name": "WorkspaceMemberMasterController",
        "x-operation-name": "unblockMember",
        "tags": [
          "WorkspaceMemberMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Unblock workspace member as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "passkeyAuthentication"
                ],
                "properties": {
                  "reason": {
                    "type": "string"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceMemberMasterController.unblockMember"
      }
    },
    "/master/workspace-members/{id}": {
      "delete": {
        "x-controller-name": "WorkspaceMemberMasterController",
        "x-operation-name": "deleteById",
        "tags": [
          "WorkspaceMemberMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Soft delete workspace member as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "passkeyAuthentication"
                ],
                "properties": {
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceMemberMasterController.deleteById"
      }
    },
    "/master/workspace-roles/{id}/update": {
      "post": {
        "x-controller-name": "WorkspaceRoleMasterController",
        "x-operation-name": "updateById",
        "tags": [
          "WorkspaceRoleMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update role as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "passkeyAuthentication"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "permissions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceRoleMasterController.updateById"
      }
    },
    "/master/workspace-roles/{id}": {
      "delete": {
        "x-controller-name": "WorkspaceRoleMasterController",
        "x-operation-name": "deleteById",
        "tags": [
          "WorkspaceRoleMasterController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delete role as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "passkeyAuthentication"
                ],
                "properties": {
                  "reassignToRoleId": {
                    "type": "string"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceRoleMasterController.deleteById"
      }
    },
    "/master/workspaces/stats/count-by-type": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "countWorkspacesByType",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Count workspaces by type (personal and business)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "personal": {
                      "type": "number"
                    },
                    "business": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceController.countWorkspacesByType"
      }
    },
    "/master/workspaces/transfer-ownership": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "transferOwnershipMaster",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transfer workspace ownership (master endpoint)"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "workspaceId",
                  "newOwnerId"
                ],
                "properties": {
                  "workspaceId": {
                    "type": "string"
                  },
                  "newOwnerId": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceController.transferOwnershipMaster"
      }
    },
    "/master/workspaces/user/{userId}": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "listUserWorkspacesSuperAdmin",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "List all workspaces for a specific user (admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "ownerId": {
                        "type": "string"
                      },
                      "ownerName": {
                        "type": "string"
                      },
                      "account": {
                        "type": "string"
                      },
                      "companyId": {
                        "type": "string"
                      },
                      "kyc": {
                        "type": "boolean"
                      },
                      "isActive": {
                        "type": "boolean"
                      },
                      "createdAt": {
                        "type": "string"
                      },
                      "updatedAt": {
                        "type": "string"
                      },
                      "members": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "_id": {
                              "type": "string"
                            },
                            "userId": {
                              "type": "string"
                            },
                            "roleId": {
                              "type": "string"
                            },
                            "status": {
                              "type": "string"
                            },
                            "createdAt": {
                              "type": "string"
                            },
                            "user": {
                              "type": "object",
                              "properties": {
                                "_id": {
                                  "type": "string"
                                },
                                "email": {
                                  "type": "string"
                                },
                                "firstName": {
                                  "type": "string"
                                },
                                "lastName": {
                                  "type": "string"
                                },
                                "account": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workspace.Filter"
                }
              }
            }
          }
        ],
        "operationId": "WorkspaceController.listUserWorkspacesSuperAdmin"
      }
    },
    "/master/workspaces/{workspaceId}/activate": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "activateWorkspaceMaster",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Activate a workspace (master endpoint)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string"
                  },
                  "verificationCode": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceController.activateWorkspaceMaster"
      }
    },
    "/master/workspaces/{workspaceId}/deactivate": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "deactivateWorkspaceSuperAdmin",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Deactivate a workspace (super admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "workspace": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Reason for deactivation"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                },
                "required": [
                  "passkeyAuthentication"
                ]
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceController.deactivateWorkspaceSuperAdmin"
      }
    },
    "/master/workspaces/{workspaceId}/invitations": {
      "get": {
        "x-controller-name": "WorkspaceInvitationMasterController",
        "x-operation-name": "getWorkspaceInvitationsById",
        "tags": [
          "WorkspaceInvitationMasterController"
        ],
        "responses": {
          "200": {
            "description": "Get invitations for workspace as super admin",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceInvitationWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceInvitationMasterController.getWorkspaceInvitationsById"
      }
    },
    "/master/workspaces/{workspaceId}/kyc-data": {
      "get": {
        "x-controller-name": "KycVerificationController",
        "x-operation-name": "getKycDataMaster",
        "tags": [
          "KycVerificationController"
        ],
        "responses": {
          "200": {
            "description": "Get saved KYC/KYB data for workspace (platform)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object"
                    },
                    "documents": {
                      "type": "array"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KycVerificationController.getKycDataMaster"
      }
    },
    "/master/workspaces/{workspaceId}/kyc-reject": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "rejectWorkspaceKycMaster",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Reject KYC documentation for a workspace (master endpoint)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceController.rejectWorkspaceKycMaster"
      }
    },
    "/master/workspaces/{workspaceId}/kyc-report": {
      "post": {
        "x-controller-name": "KycVerificationController",
        "x-operation-name": "obtenerExpedienteDeKycMaster",
        "tags": [
          "KycVerificationController"
        ],
        "responses": {
          "200": {
            "description": "PDF del expediente de verificacion de Didit (plataforma)",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KycVerificationController.obtenerExpedienteDeKycMaster"
      }
    },
    "/master/workspaces/{workspaceId}/members/{userId}/role": {
      "get": {
        "x-controller-name": "WorkspaceRoleMasterController",
        "x-operation-name": "getUserRoleInWorkspace",
        "tags": [
          "WorkspaceRoleMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get user role in workspace as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceRoleMasterController.getUserRoleInWorkspace"
      }
    },
    "/master/workspaces/{workspaceId}/members": {
      "post": {
        "x-controller-name": "WorkspaceMemberMasterController",
        "x-operation-name": "create",
        "tags": [
          "WorkspaceMemberMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Invite user to workspace as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "roleId",
                  "passkeyAuthentication"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "roleId": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceMemberMasterController.create"
      },
      "get": {
        "x-controller-name": "WorkspaceMemberMasterController",
        "x-operation-name": "list",
        "tags": [
          "WorkspaceMemberMasterController"
        ],
        "responses": {
          "200": {
            "description": "List workspace members as super admin",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceMemberWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceMemberMasterController.list"
      }
    },
    "/master/workspaces/{workspaceId}/roles/{roleId}/reassign": {
      "post": {
        "x-controller-name": "WorkspaceRoleMasterController",
        "x-operation-name": "reassignMembers",
        "tags": [
          "WorkspaceRoleMasterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Reassign role members as super admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "newRoleId",
                  "passkeyAuthentication"
                ],
                "properties": {
                  "newRoleId": {
                    "type": "string"
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "WorkspaceRoleMasterController.reassignMembers"
      }
    },
    "/master/workspaces/{workspaceId}/roles": {
      "post": {
        "x-controller-name": "WorkspaceRoleMasterController",
        "x-operation-name": "create",
        "tags": [
          "WorkspaceRoleMasterController"
        ],
        "responses": {
          "200": {
            "description": "Create role as super admin",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspaceRole"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "passkeyAuthentication"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "permissions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "passkeyAuthentication": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceRoleMasterController.create"
      },
      "get": {
        "x-controller-name": "WorkspaceRoleMasterController",
        "x-operation-name": "listByWorkspace",
        "tags": [
          "WorkspaceRoleMasterController"
        ],
        "responses": {
          "200": {
            "description": "List all roles for workspace as super admin",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceRole"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceRoleMasterController.listByWorkspace"
      }
    },
    "/master/workspaces/{workspaceId}": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "getWorkspaceSuperAdminDetails",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Get a specific workspace details (super admin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "ownerId": {
                      "type": "string"
                    },
                    "ownerName": {
                      "type": "string"
                    },
                    "account": {
                      "type": "string"
                    },
                    "companyId": {
                      "type": "string"
                    },
                    "kyc": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "members": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "_id": {
                            "type": "string"
                          },
                          "userId": {
                            "type": "string"
                          },
                          "roleId": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "user": {
                            "type": "object",
                            "properties": {
                              "_id": {
                                "type": "string"
                              },
                              "email": {
                                "type": "string"
                              },
                              "firstName": {
                                "type": "string"
                              },
                              "lastName": {
                                "type": "string"
                              },
                              "account": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceController.getWorkspaceSuperAdminDetails"
      }
    },
    "/master/workspaces": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "listSuperAdmin",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "List all workspaces for admin (by company)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "ownerId": {
                        "type": "string"
                      },
                      "ownerName": {
                        "type": "string"
                      },
                      "account": {
                        "type": "string"
                      },
                      "companyId": {
                        "type": "string"
                      },
                      "companyName": {
                        "type": "string"
                      },
                      "kyc": {
                        "type": "boolean"
                      },
                      "isActive": {
                        "type": "boolean"
                      },
                      "isBlock": {
                        "type": "boolean"
                      },
                      "createdAt": {
                        "type": "string"
                      },
                      "updatedAt": {
                        "type": "string"
                      },
                      "members": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "_id": {
                              "type": "string"
                            },
                            "userId": {
                              "type": "string"
                            },
                            "roleId": {
                              "type": "string"
                            },
                            "status": {
                              "type": "string"
                            },
                            "createdAt": {
                              "type": "string"
                            },
                            "user": {
                              "type": "object",
                              "properties": {
                                "_id": {
                                  "type": "string"
                                },
                                "email": {
                                  "type": "string"
                                },
                                "firstName": {
                                  "type": "string"
                                },
                                "lastName": {
                                  "type": "string"
                                },
                                "account": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workspace.Filter"
                }
              }
            }
          },
          {
            "name": "includeInactive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeBlocked",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "WorkspaceController.listSuperAdmin"
      }
    },
    "/modules/available": {
      "get": {
        "x-controller-name": "CompanyModulesController",
        "x-operation-name": "available",
        "tags": [
          "CompanyModulesController"
        ],
        "responses": {
          "200": {
            "description": "Modulos disponibles para la compañía del usuario",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "config": {
                            "type": "object",
                            "nullable": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyModulesController.available"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Estado del servicio",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Alguna dependencia no responde"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    },
    "/social-login/login-facebook": {
      "post": {
        "x-controller-name": "UserLoginSocialController",
        "x-operation-name": "facebookLogin",
        "tags": [
          "UserLoginSocialController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code",
                  "state"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "lang": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "User login",
          "required": true
        },
        "operationId": "UserLoginSocialController.facebookLogin"
      }
    },
    "/social-login/login-google": {
      "post": {
        "x-controller-name": "UserLoginSocialController",
        "x-operation-name": "signupSocial",
        "tags": [
          "UserLoginSocialController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code",
                  "state"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "lang": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "UserLoginSocialController.signupSocial"
      }
    },
    "/social-login/login-linkedin": {
      "post": {
        "x-controller-name": "UserLoginSocialController",
        "x-operation-name": "linkedinLogin",
        "tags": [
          "UserLoginSocialController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code",
                  "state"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "lang": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "User login",
          "required": true
        },
        "operationId": "UserLoginSocialController.linkedinLogin"
      }
    },
    "/social-login/oauth-token": {
      "post": {
        "x-controller-name": "UserLoginSocialController",
        "x-operation-name": "accessToken",
        "tags": [
          "UserLoginSocialController"
        ],
        "responses": {
          "200": {
            "description": "User social login – generar URL de autorización",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "provider"
                ],
                "properties": {
                  "provider": {
                    "type": "string",
                    "enum": [
                      "google",
                      "linkedin",
                      "facebook"
                    ]
                  }
                }
              }
            }
          },
          "description": "User social login – proveedor",
          "required": true
        },
        "operationId": "UserLoginSocialController.accessToken"
      }
    },
    "/sse/connect": {
      "get": {
        "x-controller-name": "SseController",
        "x-operation-name": "connect",
        "tags": [
          "SseController"
        ],
        "responses": {
          "200": {
            "description": "SSE Connection Response",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "string",
                  "example": "data: {\"message\": \"Connected to SSE\", \"timestamp\": \"2024-01-01T00:00:00.000Z\"}\n\n"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Origin header required",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SseController.connect"
      }
    },
    "/sse/debug": {
      "get": {
        "x-controller-name": "SseController",
        "x-operation-name": "getDebugInfo",
        "tags": [
          "SseController"
        ],
        "responses": {
          "200": {
            "description": "Debug information about SSE connections",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalClients": {
                      "type": "number"
                    },
                    "totalUserConnections": {
                      "type": "number"
                    },
                    "clientsByOrigin": {
                      "type": "object"
                    },
                    "userConnections": {
                      "type": "object"
                    },
                    "timestamp": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SseController.getDebugInfo"
      }
    },
    "/sse/disconnect": {
      "post": {
        "x-controller-name": "SseController",
        "x-operation-name": "disconnectDomain",
        "tags": [
          "SseController"
        ],
        "responses": {
          "200": {
            "description": "Clients disconnected successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "disconnectedClients": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "description": "Domain/origin to disconnect clients from"
                  }
                }
              }
            }
          },
          "description": "Domain to disconnect all clients from",
          "required": true
        },
        "operationId": "SseController.disconnectDomain"
      }
    },
    "/sse/send": {
      "post": {
        "x-controller-name": "SseController",
        "x-operation-name": "sendMessage",
        "tags": [
          "SseController"
        ],
        "responses": {
          "200": {
            "description": "Message sent successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "clientsCount": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid message data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "message",
                  "domain"
                ],
                "properties": {
                  "message": {
                    "type": "string",
                    "description": "Text message to send"
                  },
                  "domain": {
                    "type": "string",
                    "description": "Domain/origin to send message to"
                  },
                  "data": {
                    "type": "object",
                    "description": "Additional data to send with the message"
                  },
                  "type": {
                    "type": "string",
                    "description": "Type of message (notification, update, etc.)",
                    "default": "message"
                  }
                }
              }
            }
          },
          "description": "Message to send to SSE clients",
          "required": true
        },
        "operationId": "SseController.sendMessage"
      }
    },
    "/sse/stats": {
      "get": {
        "x-controller-name": "SseController",
        "x-operation-name": "getStats",
        "tags": [
          "SseController"
        ],
        "responses": {
          "200": {
            "description": "SSE Connection Statistics",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalDomains": {
                      "type": "number"
                    },
                    "totalClients": {
                      "type": "number"
                    },
                    "domains": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "clientCount": {
                            "type": "number"
                          },
                          "lastActivity": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SseController.getStats"
      }
    },
    "/support/groups": {
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getSupportGroups",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Grupos de soporte disponibles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "groups": {
                      "type": "array"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SupportController.getSupportGroups"
      }
    },
    "/support/priorities": {
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getPriorities",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Prioridades disponibles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "priorities": {
                      "type": "array"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SupportController.getPriorities"
      }
    },
    "/support/stats": {
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getUserStats",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Estadísticas del usuario",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "stats": {
                      "type": "object"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SupportController.getUserStats"
      }
    },
    "/support/status": {
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getSupportStatus",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Estado de la configuración de soporte del usuario",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "hasCredentials": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SupportController.getSupportStatus"
      }
    },
    "/support/statuses": {
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getStatuses",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Estados disponibles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "statuses": {
                      "type": "array"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SupportController.getStatuses"
      }
    },
    "/support/ticket-types": {
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getTicketTypes",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Tipos de ticket disponibles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "types": {
                      "type": "array"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SupportController.getTicketTypes"
      }
    },
    "/support/tickets/{id}/close": {
      "post": {
        "x-controller-name": "SupportController",
        "x-operation-name": "closeTicket",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Ticket cerrado exitosamente",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SupportController.closeTicket"
      }
    },
    "/support/tickets/{id}/comments": {
      "post": {
        "x-controller-name": "SupportController",
        "x-operation-name": "addCommentToTicket",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Comentario agregado exitosamente",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddCommentRequest"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "SupportController.addCommentToTicket"
      },
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getTicketComments",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Comentarios del ticket",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "comments": {
                      "type": "array"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "includeInternal",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "SupportController.getTicketComments"
      }
    },
    "/support/tickets/{id}/history": {
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getTicketHistory",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Return value of SupportController.getTicketHistory"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SupportController.getTicketHistory"
      }
    },
    "/support/tickets/{id}/update": {
      "post": {
        "x-controller-name": "SupportController",
        "x-operation-name": "updateTicket",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Ticket actualizado exitosamente",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subject": {
                    "type": "string"
                  },
                  "issue": {
                    "type": "string"
                  },
                  "priority": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "SupportController.updateTicket"
      }
    },
    "/support/tickets/{id}": {
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getClientTicket",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Ticket del cliente",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SupportController.getClientTicket"
      }
    },
    "/support/tickets": {
      "post": {
        "x-controller-name": "SupportController",
        "x-operation-name": "createClientTicket",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "201": {
            "description": "Ticket creado exitosamente",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTicketRequest"
              }
            }
          }
        },
        "operationId": "SupportController.createClientTicket"
      },
      "get": {
        "x-controller-name": "SupportController",
        "x-operation-name": "getClientTickets",
        "tags": [
          "SupportController"
        ],
        "responses": {
          "200": {
            "description": "Lista de tickets del cliente",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "SupportController.getClientTickets"
      }
    },
    "/system/permissions": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "getSystemPermissions",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Get system permissions with translations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "permissions": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "label": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceController.getSystemPermissions"
      }
    },
    "/telemetry/errors": {
      "post": {
        "x-controller-name": "ErrorTunnelController",
        "x-operation-name": "tunnel",
        "tags": [
          "ErrorTunnelController"
        ],
        "responses": {
          "204": {
            "description": "Sobre reenviado"
          }
        },
        "requestBody": {
          "content": {
            "text/plain": {
              "x-parser": "stream",
              "schema": {
                "type": "object"
              }
            },
            "application/x-sentry-envelope": {
              "x-parser": "stream",
              "schema": {
                "type": "object"
              }
            },
            "application/json": {
              "x-parser": "stream",
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Sobre de Sentry en formato NDJSON",
          "required": true
        },
        "operationId": "ErrorTunnelController.tunnel"
      }
    },
    "/telemetry/v1/{type}": {
      "post": {
        "x-controller-name": "TelemetryProxyController",
        "x-operation-name": "proxy",
        "tags": [
          "TelemetryProxyController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TelemetryProxyController.proxy"
          }
        },
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TelemetryProxyController.proxy"
      }
    },
    "/user/invitations/all": {
      "get": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "getAllInvitations",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Get all invitations for current user (pending, accepted, rejected, cancelled, etc.)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceInvitationWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceInvitationController.getAllInvitations"
      }
    },
    "/user/invitations/{id}/accept": {
      "post": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "acceptInvitation",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Accept workspace invitation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceInvitationController.acceptInvitation"
      }
    },
    "/user/invitations/{id}/reject": {
      "post": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "rejectInvitation",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Reject workspace invitation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceInvitationController.rejectInvitation"
      }
    },
    "/user/invitations": {
      "get": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "getPendingInvitations",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Get pending invitations for current user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceInvitationWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceInvitationController.getPendingInvitations"
      }
    },
    "/user/passkeys/challenge": {
      "post": {
        "x-controller-name": "UserPasskeyController",
        "x-operation-name": "challenge",
        "tags": [
          "UserPasskeyController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserPasskeyController.challenge"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "purpose"
                ],
                "properties": {
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "passkey-add",
                      "passkey-remove",
                      "registration",
                      "update-personal-data",
                      "delete-account",
                      "data-export"
                    ]
                  }
                }
              }
            }
          },
          "description": "Emite un challenge para el espacio de autogestion",
          "required": true
        },
        "operationId": "UserPasskeyController.challenge"
      }
    },
    "/user/passkeys/step-up-method": {
      "get": {
        "x-controller-name": "UserPasskeyController",
        "x-operation-name": "stepUpMethod",
        "tags": [
          "UserPasskeyController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserPasskeyController.stepUpMethod"
          }
        },
        "operationId": "UserPasskeyController.stepUpMethod"
      }
    },
    "/user/passkeys/{credentialId}": {
      "patch": {
        "x-controller-name": "UserPasskeyController",
        "x-operation-name": "rename",
        "tags": [
          "UserPasskeyController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserPasskeyController.rename"
          }
        },
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "UserPasskeyController.rename"
      },
      "delete": {
        "x-controller-name": "UserPasskeyController",
        "x-operation-name": "remove",
        "tags": [
          "UserPasskeyController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserPasskeyController.remove"
          }
        },
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "stepUp"
                ],
                "properties": {
                  "stepUp": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "UserPasskeyController.remove"
      }
    },
    "/user/passkeys": {
      "post": {
        "x-controller-name": "UserPasskeyController",
        "x-operation-name": "register",
        "tags": [
          "UserPasskeyController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserPasskeyController.register"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "credential",
                  "stepUp"
                ],
                "properties": {
                  "credential": {
                    "type": "object"
                  },
                  "name": {
                    "type": "string"
                  },
                  "stepUp": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "description": "Registra un passkey nuevo para el usuario en sesion",
          "required": true
        },
        "operationId": "UserPasskeyController.register"
      },
      "get": {
        "x-controller-name": "UserPasskeyController",
        "x-operation-name": "list",
        "tags": [
          "UserPasskeyController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserPasskeyController.list"
          }
        },
        "operationId": "UserPasskeyController.list"
      }
    },
    "/users/consent": {
      "post": {
        "x-controller-name": "UserConsentController",
        "x-operation-name": "registrar",
        "tags": [
          "UserConsentController"
        ],
        "responses": {
          "204": {
            "description": "Consentimiento registrado"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "purpose",
                  "channel",
                  "granted"
                ],
                "properties": {
                  "purpose": {
                    "type": "string"
                  },
                  "channel": {
                    "type": "string"
                  },
                  "granted": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "UserConsentController.registrar"
      },
      "get": {
        "x-controller-name": "UserConsentController",
        "x-operation-name": "obtener",
        "tags": [
          "UserConsentController"
        ],
        "responses": {
          "200": {
            "description": "Estado del consentimiento del usuario"
          }
        },
        "operationId": "UserConsentController.obtener"
      }
    },
    "/users/data-requests": {
      "post": {
        "x-controller-name": "UserDataRequestController",
        "x-operation-name": "solicitar",
        "tags": [
          "UserDataRequestController"
        ],
        "responses": {
          "200": {
            "description": "Solicitud registrada"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "right"
                ],
                "properties": {
                  "right": {
                    "type": "string"
                  },
                  "stepUp": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "UserDataRequestController.solicitar"
      },
      "get": {
        "x-controller-name": "UserDataRequestController",
        "x-operation-name": "pendientes",
        "tags": [
          "UserDataRequestController"
        ],
        "responses": {
          "200": {
            "description": "Derechos con una solicitud en curso"
          }
        },
        "operationId": "UserDataRequestController.pendientes"
      }
    },
    "/users/delete-account": {
      "post": {
        "x-controller-name": "UserProfileController",
        "x-operation-name": "delete",
        "tags": [
          "UserProfileController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "stepUp"
                ],
                "properties": {
                  "stepUp": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "description": "User Delete",
          "required": true
        },
        "operationId": "UserProfileController.delete"
      }
    },
    "/users/me/console-access": {
      "get": {
        "x-controller-name": "WorkspaceMemberMasterController",
        "x-operation-name": "consoleAccess",
        "tags": [
          "WorkspaceMemberMasterController"
        ],
        "responses": {
          "200": {
            "description": "Console access of the requesting user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "superAdmin": {
                      "type": "boolean"
                    },
                    "permisos": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceMemberMasterController.consoleAccess"
      }
    },
    "/users/me": {
      "get": {
        "x-controller-name": "UserProfileController",
        "x-operation-name": "getCurrentUserData",
        "tags": [
          "UserProfileController"
        ],
        "responses": {
          "200": {
            "description": "Current user data retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "user": {
                      "type": "object",
                      "description": "Current user data"
                    },
                    "token": {
                      "type": "string",
                      "description": "New JWT token with updated data"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "UserProfileController.getCurrentUserData"
      }
    },
    "/users/otp-off": {
      "post": {
        "x-controller-name": "UserSecurityController",
        "x-operation-name": "tfaOff",
        "tags": [
          "UserSecurityController"
        ],
        "responses": {
          "200": {
            "description": "Deactive 2FA",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "otp"
                ],
                "properties": {
                  "otp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "UserSecurityController.tfaOff"
      }
    },
    "/users/otp-on": {
      "post": {
        "x-controller-name": "UserSecurityController",
        "x-operation-name": "tfaOn",
        "tags": [
          "UserSecurityController"
        ],
        "responses": {
          "200": {
            "description": "Active 2FA",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "otp",
                  "otpSecret"
                ],
                "properties": {
                  "otp": {
                    "type": "string"
                  },
                  "otpSecret": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "UserSecurityController.tfaOn"
      }
    },
    "/users/send-sms": {
      "post": {
        "x-controller-name": "UserPhoneController",
        "x-operation-name": "sendSMS",
        "tags": [
          "UserPhoneController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "User login",
          "required": true
        },
        "operationId": "UserPhoneController.sendSMS"
      }
    },
    "/users/set-default-workspace": {
      "post": {
        "x-controller-name": "UserProfileController",
        "x-operation-name": "setDefaultWorkspace",
        "tags": [
          "UserProfileController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserProfileController.setDefaultWorkspace"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "workspaceId"
                ],
                "properties": {
                  "workspaceId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "UserProfileController.setDefaultWorkspace"
      }
    },
    "/users/sign-in": {
      "post": {
        "x-controller-name": "UserLoginPasswordController",
        "x-operation-name": "login",
        "tags": [
          "UserLoginPasswordController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "password",
                  "turnstileToken",
                  "lang"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "password": {
                    "type": "string"
                  },
                  "turnstileToken": {
                    "type": "string"
                  },
                  "lang": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "User login",
          "required": true
        },
        "operationId": "UserLoginPasswordController.login"
      }
    },
    "/users/sign-in-link": {
      "post": {
        "x-controller-name": "UserLoginPasswordController",
        "x-operation-name": "loginLink",
        "tags": [
          "UserLoginPasswordController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "email": {
                      "type": "string"
                    },
                    "lang": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "turnstileToken": {
                    "type": "string"
                  },
                  "lang": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "User login",
          "required": true
        },
        "operationId": "UserLoginPasswordController.loginLink"
      }
    },
    "/users/two-factor-login": {
      "post": {
        "x-controller-name": "UserLoginPasswordController",
        "x-operation-name": "loginTfa",
        "tags": [
          "UserLoginPasswordController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "password",
                  "token"
                ],
                "properties": {
                  "password": {
                    "type": "string"
                  },
                  "token": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "2FA Login Autentication",
          "required": true
        },
        "operationId": "UserLoginPasswordController.loginTfa"
      }
    },
    "/users/unverify-phone": {
      "post": {
        "x-controller-name": "UserPhoneController",
        "x-operation-name": "unverifySMSPhone",
        "tags": [
          "UserPhoneController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Unverify phone",
          "required": true
        },
        "operationId": "UserPhoneController.unverifySMSPhone"
      }
    },
    "/users/update-data-signup": {
      "post": {
        "x-controller-name": "UserRegistrationController",
        "x-operation-name": "updateDataSignup",
        "tags": [
          "UserRegistrationController"
        ],
        "responses": {
          "200": {
            "description": "Update data signup",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "firstName",
                  "lastName",
                  "agreements",
                  "accountName",
                  "accountType",
                  "token"
                ],
                "properties": {
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "acceptsCommercialEmail": {
                    "type": "boolean"
                  },
                  "agreements": {
                    "type": "object",
                    "properties": {
                      "terms": {
                        "type": "boolean"
                      },
                      "privacy": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "terms",
                      "privacy"
                    ]
                  },
                  "referralCode": {
                    "type": "string"
                  },
                  "accountName": {
                    "type": "string"
                  },
                  "accountType": {
                    "type": "string"
                  },
                  "join": {
                    "type": "boolean"
                  },
                  "otp": {
                    "type": "string"
                  },
                  "otpSecret": {
                    "type": "string"
                  },
                  "token": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Update data signup",
          "required": true
        },
        "operationId": "UserRegistrationController.updateDataSignup"
      }
    },
    "/users/update-lang": {
      "post": {
        "x-controller-name": "UserProfileController",
        "x-operation-name": "changLang",
        "tags": [
          "UserProfileController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "lang": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Change lang",
          "required": true
        },
        "operationId": "UserProfileController.changLang"
      }
    },
    "/users/update-personal-data": {
      "post": {
        "x-controller-name": "UserProfileController",
        "x-operation-name": "personalData",
        "tags": [
          "UserProfileController"
        ],
        "responses": {
          "200": {
            "description": "Update user data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "stepUp"
                ],
                "properties": {
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  },
                  "address": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "type": "string"
                      },
                      "addressComplement": {
                        "type": "string"
                      },
                      "addressComplemet": {
                        "type": "string"
                      },
                      "city": {
                        "type": "string"
                      },
                      "state": {
                        "type": "string"
                      },
                      "postalCode": {
                        "type": "string"
                      },
                      "country": {
                        "type": "string"
                      },
                      "countryCode": {
                        "type": "string"
                      }
                    }
                  },
                  "stepUp": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "description": "Update user data",
          "required": true
        },
        "operationId": "UserProfileController.personalData"
      }
    },
    "/users/user-address": {
      "post": {
        "x-controller-name": "UserProfileController",
        "x-operation-name": "getPersonalData",
        "tags": [
          "UserProfileController"
        ],
        "responses": {
          "200": {
            "description": "User details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "operationId": "UserProfileController.getPersonalData"
      }
    },
    "/users/username-availability": {
      "post": {
        "x-controller-name": "UserProfileController",
        "x-operation-name": "checkUsernameAvailability",
        "tags": [
          "UserProfileController"
        ],
        "responses": {
          "200": {
            "description": "Check username availability",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "isAvailable": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "username": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Username to check",
          "required": true
        },
        "operationId": "UserProfileController.checkUsernameAvailability"
      }
    },
    "/users/verify-phone": {
      "post": {
        "x-controller-name": "UserPhoneController",
        "x-operation-name": "verifySmsPhone",
        "tags": [
          "UserPhoneController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "User login",
          "required": true
        },
        "operationId": "UserPhoneController.verifySmsPhone"
      }
    },
    "/users/{id}/avatar": {
      "post": {
        "x-controller-name": "UserProfileController",
        "x-operation-name": "uploadAvatar",
        "tags": [
          "UserProfileController"
        ],
        "responses": {
          "200": {
            "description": "Update user avatar",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "base64",
                  "fileName"
                ],
                "properties": {
                  "base64": {
                    "type": "string",
                    "description": "Cadena Base64, puede incluir data URL"
                  },
                  "fileName": {
                    "type": "string",
                    "description": "Nombre sugerido para el archivo (ej: avatar.png)"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "UserProfileController.uploadAvatar"
      }
    },
    "/v1/attempts/{id}": {
      "get": {
        "x-controller-name": "AttemptsController",
        "x-operation-name": "obtener",
        "tags": [
          "AttemptsController"
        ],
        "responses": {
          "200": {
            "description": "Intento"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AttemptsController.obtener"
      }
    },
    "/v1/buttons/{id}": {
      "patch": {
        "x-controller-name": "ButtonsController",
        "x-operation-name": "actualizar",
        "tags": [
          "ButtonsController"
        ],
        "responses": {
          "200": {
            "description": "Boton actualizado"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateButtonRequest"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ButtonsController.actualizar"
      },
      "get": {
        "x-controller-name": "ButtonsController",
        "x-operation-name": "obtener",
        "tags": [
          "ButtonsController"
        ],
        "responses": {
          "200": {
            "description": "Boton"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ButtonsController.obtener"
      },
      "delete": {
        "x-controller-name": "ButtonsController",
        "x-operation-name": "desactivar",
        "tags": [
          "ButtonsController"
        ],
        "responses": {
          "204": {
            "description": "Boton desactivado"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ButtonsController.desactivar"
      }
    },
    "/v1/buttons": {
      "post": {
        "x-controller-name": "ButtonsController",
        "x-operation-name": "crear",
        "tags": [
          "ButtonsController"
        ],
        "responses": {
          "201": {
            "description": "Boton creado"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateButtonRequest"
              }
            }
          }
        },
        "operationId": "ButtonsController.crear"
      },
      "get": {
        "x-controller-name": "ButtonsController",
        "x-operation-name": "listar",
        "tags": [
          "ButtonsController"
        ],
        "responses": {
          "200": {
            "description": "Listado de botones"
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "ButtonsController.listar"
      }
    },
    "/v1/chains": {
      "get": {
        "x-controller-name": "ChainsController",
        "x-operation-name": "listar",
        "tags": [
          "ChainsController"
        ],
        "responses": {
          "200": {
            "description": "Catalogo de cadenas y tokens"
          }
        },
        "operationId": "ChainsController.listar"
      }
    },
    "/v1/intents/{id}/attempts": {
      "get": {
        "x-controller-name": "AttemptsController",
        "x-operation-name": "listarDeIntent",
        "tags": [
          "AttemptsController"
        ],
        "responses": {
          "200": {
            "description": "Intentos del intent"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AttemptsController.listarDeIntent"
      }
    },
    "/v1/intents/{id}/cancel": {
      "post": {
        "x-controller-name": "IntentsController",
        "x-operation-name": "cancelar",
        "tags": [
          "IntentsController"
        ],
        "responses": {
          "200": {
            "description": "Intent cancelado"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "IntentsController.cancelar"
      }
    },
    "/v1/intents/{id}": {
      "get": {
        "x-controller-name": "IntentsController",
        "x-operation-name": "obtener",
        "tags": [
          "IntentsController"
        ],
        "responses": {
          "200": {
            "description": "Intent"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "IntentsController.obtener"
      }
    },
    "/v1/intents": {
      "post": {
        "x-controller-name": "IntentsController",
        "x-operation-name": "crear",
        "tags": [
          "IntentsController"
        ],
        "responses": {
          "201": {
            "description": "Intent creado"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIntentRequest"
              }
            }
          }
        },
        "operationId": "IntentsController.crear"
      },
      "get": {
        "x-controller-name": "IntentsController",
        "x-operation-name": "listar",
        "tags": [
          "IntentsController"
        ],
        "responses": {
          "200": {
            "description": "Listado de intents"
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "IntentsController.listar"
      }
    },
    "/v1/public/attempts/{id}": {
      "get": {
        "x-controller-name": "PublicCheckoutController",
        "x-operation-name": "estado",
        "tags": [
          "PublicCheckoutController"
        ],
        "responses": {
          "200": {
            "description": "Estado del intento"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PublicCheckoutController.estado"
      }
    },
    "/v1/public/checkouts/{id}/attempts": {
      "post": {
        "x-controller-name": "PublicCheckoutController",
        "x-operation-name": "registrarIntento",
        "tags": [
          "PublicCheckoutController"
        ],
        "responses": {
          "200": {
            "description": "Intento registrado"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PublicCheckoutController.registrarIntento"
      }
    },
    "/v1/public/checkouts/{id}/routes/all": {
      "post": {
        "x-controller-name": "PublicRoutesController",
        "x-operation-name": "todas",
        "tags": [
          "PublicRoutesController"
        ],
        "responses": {
          "200": {
            "description": "Rutas directas disponibles"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PublicRoutesController.todas"
      }
    },
    "/v1/public/checkouts/{id}/routes/best": {
      "post": {
        "x-controller-name": "PublicRoutesController",
        "x-operation-name": "mejor",
        "tags": [
          "PublicRoutesController"
        ],
        "responses": {
          "200": {
            "description": "Mejor ruta"
          },
          "404": {
            "description": "Sin ruta con saldo"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PublicRoutesController.mejor"
      }
    },
    "/v1/public/checkouts/{id}/rpc/{chain}": {
      "post": {
        "x-controller-name": "PublicRpcController",
        "x-operation-name": "reenviar",
        "tags": [
          "PublicRpcController"
        ],
        "responses": {
          "200": {
            "description": "Respuesta JSON-RPC del proveedor"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "chain",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "PublicRpcController.reenviar"
      }
    },
    "/v1/public/checkouts/{id}": {
      "get": {
        "x-controller-name": "PublicCheckoutController",
        "x-operation-name": "configuracion",
        "tags": [
          "PublicCheckoutController"
        ],
        "responses": {
          "200": {
            "description": "Configuracion del checkout"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PublicCheckoutController.configuracion"
      }
    },
    "/v1/public/links/{slug}": {
      "get": {
        "x-controller-name": "PublicCheckoutController",
        "x-operation-name": "link",
        "tags": [
          "PublicCheckoutController"
        ],
        "responses": {
          "200": {
            "description": "Configuracion del checkout por slug"
          }
        },
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "company",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PublicCheckoutController.link"
      }
    },
    "/v1/public/rates/usd/{currency}": {
      "get": {
        "x-controller-name": "PublicRatesController",
        "x-operation-name": "tasa",
        "tags": [
          "PublicRatesController"
        ],
        "responses": {
          "200": {
            "description": "Tasa fiat->USD"
          }
        },
        "parameters": [
          {
            "name": "currency",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PublicRatesController.tasa"
      }
    },
    "/v1/settings": {
      "put": {
        "x-controller-name": "SettingsController",
        "x-operation-name": "guardar",
        "tags": [
          "SettingsController"
        ],
        "responses": {
          "200": {
            "description": "Configuracion guardada"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSettingsRequest"
              }
            }
          }
        },
        "operationId": "SettingsController.guardar"
      },
      "get": {
        "x-controller-name": "SettingsController",
        "x-operation-name": "obtener",
        "tags": [
          "SettingsController"
        ],
        "responses": {
          "200": {
            "description": "Configuracion de pagos del inquilino"
          }
        },
        "operationId": "SettingsController.obtener"
      }
    },
    "/webauthn/challenge": {
      "post": {
        "x-controller-name": "UserLoginWebauthnController",
        "x-operation-name": "getWebAuthnChallenge",
        "tags": [
          "UserLoginWebauthnController"
        ],
        "responses": {
          "200": {
            "description": "WebAuthn challenge created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Email and type for challenge generation",
          "required": true
        },
        "operationId": "UserLoginWebauthnController.getWebAuthnChallenge"
      }
    },
    "/webauthn/link-otp": {
      "post": {
        "x-controller-name": "UserLoginWebauthnController",
        "x-operation-name": "loginLinkWebAuth",
        "tags": [
          "UserLoginWebauthnController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "email": {
                      "type": "string"
                    },
                    "lang": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "lang": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "User OTP",
          "required": true
        },
        "operationId": "UserLoginWebauthnController.loginLinkWebAuth"
      }
    },
    "/webauthn/register": {
      "post": {
        "x-controller-name": "UserLoginWebauthnController",
        "x-operation-name": "register",
        "tags": [
          "UserLoginWebauthnController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserLoginWebauthnController.register"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string"
                  },
                  "credential": {
                    "type": "object"
                  }
                },
                "required": [
                  "email",
                  "credential",
                  "code"
                ]
              }
            }
          },
          "description": "Request to register a WebAuthn credential",
          "required": true
        },
        "operationId": "UserLoginWebauthnController.register"
      }
    },
    "/webauthn/verify": {
      "post": {
        "x-controller-name": "UserLoginWebauthnController",
        "x-operation-name": "verify",
        "tags": [
          "UserLoginWebauthnController"
        ],
        "responses": {
          "200": {
            "description": "Authentication verified successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "authentication": {
                    "type": "object"
                  }
                },
                "required": [
                  "authentication"
                ]
              }
            }
          },
          "description": "Request to verify a WebAuthn authentication",
          "required": true
        },
        "operationId": "UserLoginWebauthnController.verify"
      }
    },
    "/webauthn/verify-email": {
      "post": {
        "x-controller-name": "UserLoginWebauthnController",
        "x-operation-name": "verifiEmail",
        "tags": [
          "UserLoginWebauthnController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserLoginWebauthnController.verifiEmail"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "code"
                ]
              }
            }
          },
          "description": "Request to verify email WebAuthn credential",
          "required": true
        },
        "operationId": "UserLoginWebauthnController.verifiEmail"
      }
    },
    "/webhooks/{service}": {
      "post": {
        "x-controller-name": "WebhooksController",
        "x-operation-name": "processWebhook",
        "tags": [
          "WebhooksController"
        ],
        "responses": {
          "200": {
            "description": "Webhook processed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "timestamp": {
                      "type": "string"
                    },
                    "service": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "x-signature",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-signature-v2",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-timestamp",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WebhooksController.processWebhook"
      }
    },
    "/workspace-invitations/{id}/cancel": {
      "post": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "cancelInvitation",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Cancel workspace invitation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceInvitationController.cancelInvitation"
      }
    },
    "/workspace-invitations/{id}/resend": {
      "post": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "resendInvitation",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Resend workspace invitation notification",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceInvitationController.resendInvitation"
      }
    },
    "/workspace-invitations/{workspaceId}": {
      "get": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "getWorkspaceInvitationsById",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Get invitations for specific workspace",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceInvitationWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceInvitationController.getWorkspaceInvitationsById"
      }
    },
    "/workspace-invitations/{id}": {
      "get": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "getInvitationDetails",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Get invitation details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspaceInvitationWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceInvitationController.getInvitationDetails"
      }
    },
    "/workspace-invitations": {
      "get": {
        "x-controller-name": "WorkspaceInvitationController",
        "x-operation-name": "getWorkspaceInvitations",
        "tags": [
          "WorkspaceInvitationController"
        ],
        "responses": {
          "200": {
            "description": "Get pending invitations for workspace",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceInvitationWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceInvitationController.getWorkspaceInvitations"
      }
    },
    "/workspace-members/leave": {
      "post": {
        "x-controller-name": "WorkspaceMemberController",
        "x-operation-name": "leaveWorkspace",
        "tags": [
          "WorkspaceMemberController"
        ],
        "responses": {
          "200": {
            "description": "Leave workspace",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceMemberController.leaveWorkspace"
      }
    },
    "/workspace-members/{id}/block": {
      "post": {
        "x-controller-name": "WorkspaceMemberController",
        "x-operation-name": "blockMember",
        "tags": [
          "WorkspaceMemberController"
        ],
        "responses": {
          "200": {
            "description": "Block workspace member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Razón del bloqueo"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceMemberController.blockMember"
      }
    },
    "/workspace-members/{id}/change-role": {
      "post": {
        "x-controller-name": "WorkspaceMemberController",
        "x-operation-name": "changeRole",
        "tags": [
          "WorkspaceMemberController"
        ],
        "responses": {
          "200": {
            "description": "Change workspace member role",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "member": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "userId": {
                          "type": "string"
                        },
                        "roleId": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "previousRoleId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "roleId"
                ],
                "properties": {
                  "roleId": {
                    "type": "string",
                    "description": "Nuevo rol del miembro"
                  },
                  "reason": {
                    "type": "string",
                    "description": "Razón del cambio de rol"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceMemberController.changeRole"
      }
    },
    "/workspace-members/{id}/unblock": {
      "post": {
        "x-controller-name": "WorkspaceMemberController",
        "x-operation-name": "unblockMember",
        "tags": [
          "WorkspaceMemberController"
        ],
        "responses": {
          "200": {
            "description": "Unblock workspace member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Razón del desbloqueo"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceMemberController.unblockMember"
      }
    },
    "/workspace-members/{id}": {
      "delete": {
        "x-controller-name": "WorkspaceMemberController",
        "x-operation-name": "deleteById",
        "tags": [
          "WorkspaceMemberController"
        ],
        "responses": {
          "200": {
            "description": "Soft delete workspace member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceMemberController.deleteById"
      }
    },
    "/workspace-members": {
      "post": {
        "x-controller-name": "WorkspaceMemberController",
        "x-operation-name": "create",
        "tags": [
          "WorkspaceMemberController"
        ],
        "responses": {
          "200": {
            "description": "Invite user to workspace",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspaceMember"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "roleId"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "roleId": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceMemberController.create"
      },
      "get": {
        "x-controller-name": "WorkspaceMemberController",
        "x-operation-name": "list",
        "tags": [
          "WorkspaceMemberController"
        ],
        "responses": {
          "200": {
            "description": "List workspace members",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceMemberWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspaceMember.Filter"
                }
              }
            }
          }
        ],
        "operationId": "WorkspaceMemberController.list"
      }
    },
    "/workspace-roles/{id}/update": {
      "post": {
        "x-controller-name": "WorkspaceRoleController",
        "x-operation-name": "updateById",
        "tags": [
          "WorkspaceRoleController"
        ],
        "responses": {
          "200": {
            "description": "Update role",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "permissions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceRoleController.updateById"
      }
    },
    "/workspace-roles/{id}": {
      "delete": {
        "x-controller-name": "WorkspaceRoleController",
        "x-operation-name": "deleteById",
        "tags": [
          "WorkspaceRoleController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delete role"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reassignToRoleId": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceRoleController.deleteById"
      }
    },
    "/workspaces/bootstrap": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "bootstrap",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Bootstrap personal workspace for existing user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workspace"
                }
              }
            }
          }
        },
        "operationId": "WorkspaceController.bootstrap"
      }
    },
    "/workspaces/create-own": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "createOwn",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Create own workspace (personal or business) - no special permissions required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workspace"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "type"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "personal",
                      "business"
                    ]
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceController.createOwn"
      }
    },
    "/workspaces/{workspaceId}/activate": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "activateWorkspaceByUser",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Activate a workspace (user with privileges)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "workspace": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "activatedAt": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Reason for activation"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceController.activateWorkspaceByUser"
      }
    },
    "/workspaces/{workspaceId}/deactivate": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "deactivateWorkspaceByUser",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Deactivate a workspace (user with privileges)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "workspace": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "isActive": {
                          "type": "boolean"
                        },
                        "deactivatedAt": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Reason for deactivation"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceController.deactivateWorkspaceByUser"
      }
    },
    "/workspaces/{workspaceId}/kyc-data": {
      "get": {
        "x-controller-name": "KycVerificationController",
        "x-operation-name": "getKycData",
        "tags": [
          "KycVerificationController"
        ],
        "responses": {
          "200": {
            "description": "Get saved KYC/KYB data for workspace",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object"
                    },
                    "documents": {
                      "type": "array"
                    },
                    "updatedAt": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KycVerificationController.getKycData"
      }
    },
    "/workspaces/{workspaceId}/kyc-session": {
      "post": {
        "x-controller-name": "KycVerificationController",
        "x-operation-name": "createDiditKycSession",
        "tags": [
          "KycVerificationController"
        ],
        "responses": {
          "200": {
            "description": "Create Didit KYC session URL for a workspace",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "session_id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KycVerificationController.createDiditKycSession"
      }
    },
    "/workspaces/{workspaceId}/members/{userId}/role": {
      "get": {
        "x-controller-name": "WorkspaceRoleController",
        "x-operation-name": "getUserRoleInWorkspace",
        "tags": [
          "WorkspaceRoleController"
        ],
        "responses": {
          "200": {
            "description": "Get user role in specific workspace",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "workspaceId": {
                      "type": "string"
                    },
                    "roleId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "joinedAt": {
                      "type": "string"
                    },
                    "role": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "permissions": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "isSystemRole": {
                          "type": "boolean"
                        }
                      }
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "_id": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceRoleController.getUserRoleInWorkspace"
      }
    },
    "/workspaces/{workspaceId}/members": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "getWorkspaceMembersById",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Get workspace members for user member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "_id": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "workspaceId": {
                        "type": "string"
                      },
                      "roleId": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "joinedAt": {
                        "type": "string"
                      },
                      "user": {
                        "type": "object",
                        "properties": {
                          "_id": {
                            "type": "string"
                          },
                          "firstName": {
                            "type": "string"
                          },
                          "lastName": {
                            "type": "string"
                          },
                          "email": {
                            "type": "string"
                          }
                        }
                      },
                      "role": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "isSystemRole": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceController.getWorkspaceMembersById"
      }
    },
    "/workspaces/{workspaceId}/roles": {
      "post": {
        "x-controller-name": "WorkspaceRoleController",
        "x-operation-name": "create",
        "tags": [
          "WorkspaceRoleController"
        ],
        "responses": {
          "200": {
            "description": "Create role",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspaceRole"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "permissions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkspaceRoleController.create"
      },
      "get": {
        "x-controller-name": "WorkspaceRoleController",
        "x-operation-name": "listByWorkspace",
        "tags": [
          "WorkspaceRoleController"
        ],
        "responses": {
          "200": {
            "description": "List all roles for specific workspace",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceRole"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceRoleController.listByWorkspace"
      }
    },
    "/workspaces/{workspaceId}": {
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "getWorkspaceById",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Get workspace details for user member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "ownerId": {
                      "type": "string"
                    },
                    "ownerName": {
                      "type": "string"
                    },
                    "account": {
                      "type": "string"
                    },
                    "companyId": {
                      "type": "string"
                    },
                    "kyc": {
                      "type": "boolean"
                    },
                    "isActive": {
                      "type": "boolean"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "updatedAt": {
                      "type": "string"
                    },
                    "members": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "_id": {
                            "type": "string"
                          },
                          "userId": {
                            "type": "string"
                          },
                          "roleId": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "user": {
                            "type": "object",
                            "properties": {
                              "_id": {
                                "type": "string"
                              },
                              "email": {
                                "type": "string"
                              },
                              "firstName": {
                                "type": "string"
                              },
                              "lastName": {
                                "type": "string"
                              },
                              "account": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "workspaceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkspaceController.getWorkspaceById"
      }
    },
    "/workspaces": {
      "post": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "create",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "Create a new workspace (owner only)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workspace"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkspaceController.create"
      },
      "get": {
        "x-controller-name": "WorkspaceController",
        "x-operation-name": "list",
        "tags": [
          "WorkspaceController"
        ],
        "responses": {
          "200": {
            "description": "List of workspaces for current user (by company)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkspaceWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workspace.Filter"
                }
              }
            }
          }
        ],
        "operationId": "WorkspaceController.list"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "jwt": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "WorkspaceWithRelations": {
        "title": "WorkspaceWithRelations",
        "type": "object",
        "description": "(tsType: WorkspaceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "ownerId": {
            "type": "string"
          },
          "account": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "kyc": {
            "type": "string",
            "enum": [
              "pending",
              "processing",
              "under_review",
              "approved",
              "rejected",
              "expiring_soon",
              "expired",
              "suspended"
            ]
          },
          "metadata": {
            "type": "object"
          },
          "isActive": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "deletedBy": {
            "type": "string"
          },
          "deleteReason": {
            "type": "string"
          },
          "isBlock": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "WorkspaceWithRelations"
      },
      "Workspace": {
        "title": "Workspace",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "ownerId": {
            "type": "string"
          },
          "account": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "kyc": {
            "type": "string",
            "enum": [
              "pending",
              "processing",
              "under_review",
              "approved",
              "rejected",
              "expiring_soon",
              "expired",
              "suspended"
            ]
          },
          "metadata": {
            "type": "object"
          },
          "isActive": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "deletedBy": {
            "type": "string"
          },
          "deleteReason": {
            "type": "string"
          },
          "isBlock": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "WorkspaceRole": {
        "title": "WorkspaceRole",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isSystemRole": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "User": {
        "title": "User",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "account": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "referralCode": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "webauthnCredentials": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "companyId": {
            "type": "string"
          },
          "defaultWorkspaceId": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "lang": {
            "type": "string"
          },
          "createAt": {
            "type": "string",
            "format": "date-time"
          },
          "updateAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastConection": {
            "type": "string",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDelete": {
            "type": "boolean"
          },
          "isBlock": {
            "type": "boolean"
          },
          "isAdminBlocked": {
            "type": "boolean"
          },
          "address": {
            "type": "object"
          },
          "kyc": {
            "type": "object"
          },
          "passwordSecret": {
            "type": "string"
          },
          "accessCodeIssuedAt": {
            "type": "number"
          },
          "accessCodeAttempts": {
            "type": "number"
          },
          "twoFactorAttempts": {
            "type": "number"
          },
          "twoFactor": {
            "type": "boolean"
          },
          "twoFactorSecret": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "phoneCode": {
            "type": "string"
          },
          "phoneCodeIssuedAt": {
            "type": "number"
          },
          "verifyPhone": {
            "type": "boolean"
          },
          "phone_create_At": {
            "type": "string",
            "format": "date-time"
          },
          "phoneChange": {
            "type": "number"
          },
          "agreements": {
            "type": "boolean"
          },
          "agreements_data": {
            "type": "string",
            "format": "date-time"
          },
          "provider": {
            "type": "string"
          },
          "isKyc": {
            "type": "boolean"
          }
        },
        "required": [
          "role"
        ],
        "additionalProperties": false
      },
      "UserWithRelations": {
        "title": "UserWithRelations",
        "type": "object",
        "description": "(tsType: UserWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "account": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "referralCode": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "webauthnCredentials": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "companyId": {
            "type": "string"
          },
          "defaultWorkspaceId": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "lang": {
            "type": "string"
          },
          "createAt": {
            "type": "string",
            "format": "date-time"
          },
          "updateAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastConection": {
            "type": "string",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDelete": {
            "type": "boolean"
          },
          "isBlock": {
            "type": "boolean"
          },
          "isAdminBlocked": {
            "type": "boolean"
          },
          "address": {
            "type": "object"
          },
          "kyc": {
            "type": "object"
          },
          "passwordSecret": {
            "type": "string"
          },
          "accessCodeIssuedAt": {
            "type": "number"
          },
          "accessCodeAttempts": {
            "type": "number"
          },
          "twoFactorAttempts": {
            "type": "number"
          },
          "twoFactor": {
            "type": "boolean"
          },
          "twoFactorSecret": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "phoneCode": {
            "type": "string"
          },
          "phoneCodeIssuedAt": {
            "type": "number"
          },
          "verifyPhone": {
            "type": "boolean"
          },
          "phone_create_At": {
            "type": "string",
            "format": "date-time"
          },
          "phoneChange": {
            "type": "number"
          },
          "agreements": {
            "type": "boolean"
          },
          "agreements_data": {
            "type": "string",
            "format": "date-time"
          },
          "provider": {
            "type": "string"
          },
          "isKyc": {
            "type": "boolean"
          }
        },
        "required": [
          "role"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserWithRelations"
      },
      "WorkspaceMemberWithRelations": {
        "title": "WorkspaceMemberWithRelations",
        "type": "object",
        "description": "(tsType: WorkspaceMemberWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "roleId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "isDelete": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "foreignKey": {}
        },
        "required": [
          "roleId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "WorkspaceMemberWithRelations"
      },
      "WorkspaceMember": {
        "title": "WorkspaceMember",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "roleId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "isDelete": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "roleId"
        ],
        "additionalProperties": false
      },
      "WorkspaceInvitationWithRelations": {
        "title": "WorkspaceInvitationWithRelations",
        "type": "object",
        "description": "(tsType: WorkspaceInvitationWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "workspaceId": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "roleId": {
            "type": "string"
          },
          "invitedBy": {
            "type": "string"
          },
          "invitedTo": {
            "type": "string"
          },
          "workspaceName": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "respondedAt": {
            "type": "string",
            "format": "date-time"
          },
          "respondedBy": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "workspaceId",
          "companyId",
          "roleId",
          "invitedBy",
          "invitedTo",
          "workspaceName"
        ],
        "additionalProperties": true,
        "x-typescript-type": "WorkspaceInvitationWithRelations"
      },
      "CreateTicketRequest": {},
      "AddCommentRequest": {},
      "UpdateSettingsRequest": {},
      "CreateIntentRequest": {},
      "CreateButtonRequest": {},
      "UpdateButtonRequest": {},
      "CreateApiKeyRequest": {},
      "Module": {
        "title": "Module",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "Connections": {
        "title": "Connections",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "user": {
            "type": "string"
          },
          "deviceId": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "createAt": {
            "type": "string",
            "format": "date-time"
          },
          "isDelete": {
            "type": "boolean"
          }
        },
        "required": [
          "user"
        ],
        "additionalProperties": true
      },
      "NewConnections": {
        "title": "NewConnections",
        "type": "object",
        "description": "(tsType: Omit<Connections, '_id'>, schemaOptions: { title: 'NewConnections', exclude: [ '_id' ] })",
        "properties": {
          "user": {
            "type": "string"
          },
          "deviceId": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "createAt": {
            "type": "string",
            "format": "date-time"
          },
          "isDelete": {
            "type": "boolean"
          }
        },
        "required": [
          "user"
        ],
        "additionalProperties": true,
        "x-typescript-type": "Omit<Connections, '_id'>"
      },
      "ConnectionsWithRelations": {
        "title": "ConnectionsWithRelations",
        "type": "object",
        "description": "(tsType: ConnectionsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "user": {
            "type": "string"
          },
          "deviceId": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "createAt": {
            "type": "string",
            "format": "date-time"
          },
          "isDelete": {
            "type": "boolean"
          }
        },
        "required": [
          "user"
        ],
        "additionalProperties": true,
        "x-typescript-type": "ConnectionsWithRelations"
      },
      "Devices": {
        "title": "Devices",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "user": {
            "type": "string"
          },
          "deviceId": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "userAgent": {
            "type": "string"
          },
          "os": {
            "type": "string"
          },
          "browser": {
            "type": "string"
          },
          "device": {
            "type": "string"
          },
          "os_version": {
            "type": "string"
          },
          "browser_version": {
            "type": "string"
          },
          "deviceType": {
            "type": "string"
          },
          "orientation": {
            "type": "string"
          },
          "fingerprint": {
            "type": "string"
          },
          "create_At": {
            "type": "string",
            "format": "date-time"
          },
          "isDelete": {
            "type": "boolean"
          }
        },
        "required": [
          "user"
        ],
        "additionalProperties": true
      },
      "Workspace.Filter": {
        "type": "object",
        "title": "Workspace.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Workspace.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "ownerId": {
                    "type": "boolean"
                  },
                  "account": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "externalId": {
                    "type": "boolean"
                  },
                  "customerId": {
                    "type": "boolean"
                  },
                  "kyc": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "deleteReason": {
                    "type": "boolean"
                  },
                  "isBlock": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "companyId",
                    "name",
                    "ownerId",
                    "account",
                    "type",
                    "externalId",
                    "customerId",
                    "kyc",
                    "metadata",
                    "isActive",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "isDeleted",
                    "deletedBy",
                    "deleteReason",
                    "isBlock"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Workspace.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Workspace>"
      },
      "WorkspaceMember.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "WorkspaceMember.ScopeFilter"
      },
      "WorkspaceMember.IncludeFilter.Items": {
        "title": "WorkspaceMember.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/WorkspaceMember.ScopeFilter"
          }
        }
      },
      "WorkspaceMember.Filter": {
        "type": "object",
        "title": "WorkspaceMember.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "WorkspaceMember.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "workspaceId": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "roleId": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isDelete": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "user": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "workspaceId",
                    "userId",
                    "roleId",
                    "status",
                    "isDelete",
                    "createdAt",
                    "updatedAt",
                    "user"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "WorkspaceMember.Fields"
          },
          "include": {
            "title": "WorkspaceMember.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/WorkspaceMember.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<WorkspaceMember>"
      },
      "Company.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Company.ScopeFilter"
      },
      "Company.IncludeFilter.Items": {
        "title": "Company.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "modules"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Company.ScopeFilter"
          }
        }
      },
      "Company.Filter": {
        "type": "object",
        "title": "Company.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Company.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "origin": {
                    "type": "boolean"
                  },
                  "countryCode": {
                    "type": "boolean"
                  },
                  "maintance": {
                    "type": "boolean"
                  },
                  "is_block": {
                    "type": "boolean"
                  },
                  "isMasterCompany": {
                    "type": "boolean"
                  },
                  "superAdminBootstrapped": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDelete": {
                    "type": "boolean"
                  },
                  "custom": {
                    "type": "boolean"
                  },
                  "apis": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "sms": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "name",
                    "origin",
                    "countryCode",
                    "maintance",
                    "is_block",
                    "isMasterCompany",
                    "superAdminBootstrapped",
                    "isActive",
                    "isDelete",
                    "custom",
                    "apis",
                    "email",
                    "sms"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Company.Fields"
          },
          "include": {
            "title": "Company.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Company.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Company>"
      },
      "Devices.Filter": {
        "type": "object",
        "title": "Devices.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Devices.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "user": {
                    "type": "boolean"
                  },
                  "deviceId": {
                    "type": "boolean"
                  },
                  "company": {
                    "type": "boolean"
                  },
                  "userAgent": {
                    "type": "boolean"
                  },
                  "os": {
                    "type": "boolean"
                  },
                  "browser": {
                    "type": "boolean"
                  },
                  "device": {
                    "type": "boolean"
                  },
                  "os_version": {
                    "type": "boolean"
                  },
                  "browser_version": {
                    "type": "boolean"
                  },
                  "deviceType": {
                    "type": "boolean"
                  },
                  "orientation": {
                    "type": "boolean"
                  },
                  "fingerprint": {
                    "type": "boolean"
                  },
                  "create_At": {
                    "type": "boolean"
                  },
                  "isDelete": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Devices.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Devices>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "User.Filter": {
        "type": "object",
        "title": "User.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "User.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "role": {
                    "type": "boolean"
                  },
                  "account": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "referralCode": {
                    "type": "boolean"
                  },
                  "username": {
                    "type": "boolean"
                  },
                  "webauthnCredentials": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "defaultWorkspaceId": {
                    "type": "boolean"
                  },
                  "picture": {
                    "type": "boolean"
                  },
                  "lang": {
                    "type": "boolean"
                  },
                  "createAt": {
                    "type": "boolean"
                  },
                  "updateAt": {
                    "type": "boolean"
                  },
                  "lastConection": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDelete": {
                    "type": "boolean"
                  },
                  "isBlock": {
                    "type": "boolean"
                  },
                  "isAdminBlocked": {
                    "type": "boolean"
                  },
                  "address": {
                    "type": "boolean"
                  },
                  "kyc": {
                    "type": "boolean"
                  },
                  "passwordSecret": {
                    "type": "boolean"
                  },
                  "accessCodeIssuedAt": {
                    "type": "boolean"
                  },
                  "accessCodeAttempts": {
                    "type": "boolean"
                  },
                  "twoFactorAttempts": {
                    "type": "boolean"
                  },
                  "twoFactor": {
                    "type": "boolean"
                  },
                  "twoFactorSecret": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "phoneCode": {
                    "type": "boolean"
                  },
                  "phoneCodeIssuedAt": {
                    "type": "boolean"
                  },
                  "verifyPhone": {
                    "type": "boolean"
                  },
                  "phone_create_At": {
                    "type": "boolean"
                  },
                  "phoneChange": {
                    "type": "boolean"
                  },
                  "agreements": {
                    "type": "boolean"
                  },
                  "agreements_data": {
                    "type": "boolean"
                  },
                  "provider": {
                    "type": "boolean"
                  },
                  "isKyc": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "role",
                    "account",
                    "email",
                    "firstName",
                    "lastName",
                    "referralCode",
                    "username",
                    "webauthnCredentials",
                    "companyId",
                    "defaultWorkspaceId",
                    "picture",
                    "lang",
                    "createAt",
                    "updateAt",
                    "lastConection",
                    "isActive",
                    "isDelete",
                    "isBlock",
                    "isAdminBlocked",
                    "address",
                    "kyc",
                    "passwordSecret",
                    "accessCodeIssuedAt",
                    "accessCodeAttempts",
                    "twoFactorAttempts",
                    "twoFactor",
                    "twoFactorSecret",
                    "phone",
                    "phoneCode",
                    "phoneCodeIssuedAt",
                    "verifyPhone",
                    "phone_create_At",
                    "phoneChange",
                    "agreements",
                    "agreements_data",
                    "provider",
                    "isKyc"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "User.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<User>"
      },
      "Connections.Filter": {
        "type": "object",
        "title": "Connections.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Connections.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "user": {
                    "type": "boolean"
                  },
                  "deviceId": {
                    "type": "boolean"
                  },
                  "company": {
                    "type": "boolean"
                  },
                  "createAt": {
                    "type": "boolean"
                  },
                  "isDelete": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Connections.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Connections>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "status": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "uptime": {
            "type": "number"
          },
          "db": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string"
              },
              "ms": {
                "type": "number"
              }
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "/"
    }
  ],
  "security": [
    {
      "jwt": []
    }
  ]
}