{
  "openapi": "3.0.1",
  "info": {
    "title": "eMabler | Data Management API",
    "description": "",
    "termsOfService": "https://www.emabler.com/privacy-policy",
    "contact": {
      "name": "eMabler Ltd",
      "url": "https://www.emabler.com/contact",
      "email": "hello@emabler.com"
    },
    "version": "2.0.1"
  },
  "servers": [
    {
      "url": "https://api.emabler.net/api/v2/data/"
    }
  ],
  "paths": {
    "/v2/statistics/charger-success-rate/aggregated": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get the aggregated success rate of chargers",
        "description": "Retrieve the aggregated success rate of chargers across the accessible fleet.",
        "operationId": "GetAggregatedChargerSuccessRate",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start timestamp for the period to be fetched. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp From",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End timestamp for the period to be fetched. Default: Now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp End",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerIds",
            "in": "query",
            "description": "Array of charger IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "socketIds",
            "in": "query",
            "description": "Array of socket IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "x-ms-summary": "Socket IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "manufacturers",
            "in": "query",
            "description": "Array of manufacturers to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Manufacturers",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerModels",
            "in": "query",
            "description": "Array of charger models to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger models",
            "x-ms-visibility": "important"
          },
          {
            "name": "firmwareVersions",
            "in": "query",
            "description": "Array of firmware versions to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Firmware Versions",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Aggregated success rate of chargers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getAggregatedChargerSuccessRateResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/charger-utilization-rate/aggregated": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get the aggregated utilization rate of chargers",
        "description": "Retrieve the aggregated utilization rate of chargers across the accessible fleet.",
        "operationId": "GetAggregatedChargerUtilizationRate",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start timestamp for the period to be fetched. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp From",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End timestamp for the period to be fetched. Default: Now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp End",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerIds",
            "in": "query",
            "description": "Array of charger IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "socketIds",
            "in": "query",
            "description": "Array of socket IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "x-ms-summary": "Socket IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "manufacturers",
            "in": "query",
            "description": "Array of manufacturers to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Manufacturers",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerModels",
            "in": "query",
            "description": "Array of charger models to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger models",
            "x-ms-visibility": "important"
          },
          {
            "name": "firmwareVersions",
            "in": "query",
            "description": "Array of firmware versions to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Firmware Versions",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Aggregated utilization rate of chargers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getAggregatedChargerUtilizationRateResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/charger-state-timeseries": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get a timeseries of charger states",
        "description": "Retrieve a time series of charger states.",
        "operationId": "GetChargerStateTimeSeries",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start timestamp for the period to be fetched. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp From",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End timestamp for the period to be fetched. Default: Now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp End",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerIds",
            "in": "query",
            "description": "Array of charger IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "socketIds",
            "in": "query",
            "description": "Array of socket IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "x-ms-summary": "Socket IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page to be fetched. Default: 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Page",
            "x-ms-visibility": "important"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit (No. of records per page). Default: 100",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Limit",
            "x-ms-visibility": "important"
          },
          {
            "name": "sortKey",
            "in": "query",
            "description": "Sort field to be used (Default: Timestamp)",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Sort Key",
            "x-ms-visibility": "important"
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Set to 'true' to sort descending based on sort key (Default: true)",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Sort Descending",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Time series of charger states.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerStateTimeSeriesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/charger-statuses": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get Charger Status Data",
        "description": "Fetches charger status data in the specified time range.",
        "operationId": "getChargerStatuses",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Format: YYYY-MM-DD HH:mm:ss",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-ms-summary": "Start date and time"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Format: YYYY-MM-DD HH:mm:ss",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-ms-summary": "End date and time"
          }
        ],
        "responses": {
          "200": {
            "description": "Charger statuses.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerStatusesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/charger-success-rate": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get the success rate of chargers",
        "description": "Retrieve the success rate of chargers.",
        "operationId": "GetChargerSuccessRate",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start timestamp for the period to be fetched. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp From",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End timestamp for the period to be fetched. Default: Now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp End",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerIds",
            "in": "query",
            "description": "Array of charger IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "socketIds",
            "in": "query",
            "description": "Array of socket IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "x-ms-summary": "Socket IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "manufacturers",
            "in": "query",
            "description": "Array of manufacturers to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Manufacturers",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerModels",
            "in": "query",
            "description": "Array of charger models to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger models",
            "x-ms-visibility": "important"
          },
          {
            "name": "firmwareVersions",
            "in": "query",
            "description": "Array of firmware versions to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Firmware Versions",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page to be fetched. Default: 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Page",
            "x-ms-visibility": "important"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit (No. of records per page). Default: 100",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Limit",
            "x-ms-visibility": "important"
          },
          {
            "name": "sortKey",
            "in": "query",
            "description": "Sort field to be used (Default: Timestamp)",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Sort Key",
            "x-ms-visibility": "important"
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Set to 'true' to sort descending based on sort key (Default: true)",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Sort Descending",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Success rate of chargers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerSuccessRateResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/charger-summary-metrics": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get summary metrics for chargers",
        "description": "Retrieve aggregated metrics including charger errors, success rate, and utilization rate for a specified time period with comparison to the previous period.",
        "operationId": "GetChargerSummaryMetrics",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "The start date for the metrics period. Defaults to 7 days ago if not provided.",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-ms-summary": "Start date for the metrics period"
          },
          {
            "name": "to",
            "in": "query",
            "description": "The end date for the metrics period. Defaults to now if not provided.",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-ms-summary": "End date for the metrics period"
          }
        ],
        "responses": {
          "200": {
            "description": "Summary metrics for chargers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerSummaryMetricsResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/charger-utilization-rate": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get the utilization rate of chargers",
        "description": "Retrieve the utilization rate of chargers.",
        "operationId": "GetChargerUtilizationRate",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start timestamp for the period to be fetched. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp From",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End timestamp for the period to be fetched. Default: Now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp End",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerIds",
            "in": "query",
            "description": "Array of charger IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "socketIds",
            "in": "query",
            "description": "Array of socket IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "x-ms-summary": "Socket IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "manufacturers",
            "in": "query",
            "description": "Array of manufacturers to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Manufacturers",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerModels",
            "in": "query",
            "description": "Array of charger models to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger models",
            "x-ms-visibility": "important"
          },
          {
            "name": "firmwareVersions",
            "in": "query",
            "description": "Array of firmware versions to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Firmware Versions",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page to be fetched. Default: 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Page",
            "x-ms-visibility": "important"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit (No. of records per page). Default: 100",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Limit",
            "x-ms-visibility": "important"
          },
          {
            "name": "sortKey",
            "in": "query",
            "description": "Sort field to be used (Default: Timestamp)",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Sort Key",
            "x-ms-visibility": "important"
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Set to 'true' to sort descending based on sort key (Default: true)",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Sort Descending",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Utilization rate of chargers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerUtilizationRateResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/session-timeseries": {
      "post": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get session statistics as a time series",
        "description": "Retrieve aggregated session statistics over time",
        "operationId": "GetSessionStatisticsTimeSeries",
        "requestBody": {
          "description": "Query parameters for the session statistics time series.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/getSessionStatisticsTimeSeriesRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Session statistics time series accessible by the user.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSessionStatisticsTimeSeriesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorised",
            "x-ms-summary": "Unauthorised"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/session-summary-metrics": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get summary metrics for charging sessions",
        "description": "Retrieve aggregated metrics including energy consumption and session count for a specified time period with comparison to the previous period.",
        "operationId": "GetSessionSummaryMetrics",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "The start date for the metrics period. Defaults to 7 days ago if not provided.",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-ms-summary": "Start date for the metrics period"
          },
          {
            "name": "to",
            "in": "query",
            "description": "The end date for the metrics period. Defaults to now if not provided.",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-ms-summary": "End date for the metrics period"
          }
        ],
        "responses": {
          "200": {
            "description": "Summary metrics for charging sessions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSessionSummaryMetricsResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/statistics/site-charger-state-timeseries": {
      "get": {
        "tags": [
          "Statistics"
        ],
        "summary": "Get a timeseries of charger states for sites",
        "description": "Retrieve a time series of charger states for sites.",
        "operationId": "GetSiteChargerStateTimeSeries",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start timestamp for the period to be fetched. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp From",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End timestamp for the period to be fetched. Default: Now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Timestamp End",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "chargerIds",
            "in": "query",
            "description": "Array of charger IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-ms-summary": "Charger IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "socketIds",
            "in": "query",
            "description": "Array of socket IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "x-ms-summary": "Socket IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page to be fetched. Default: 1",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Page",
            "x-ms-visibility": "important"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit (No. of records per page). Default: 100",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Limit",
            "x-ms-visibility": "important"
          },
          {
            "name": "sortKey",
            "in": "query",
            "description": "Sort field to be used (Default: Timestamp)",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Sort Key",
            "x-ms-visibility": "important"
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Set to 'true' to sort descending based on sort key (Default: true)",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Sort Descending",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Time series of charger states.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSiteChargerStateTimeSeriesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/charger-error-events-timeseries": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets charger error events as a time series",
        "description": "Returns the number of charger error events grouped into time bins.",
        "operationId": "GetChargerErrorEventsTimeSeries",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start of the interval to evaluate. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Start timestamp",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End of the interval to evaluate. Default: now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "End timestamp",
            "x-ms-visibility": "important"
          },
          {
            "name": "binSize",
            "in": "query",
            "description": "Size of each aggregation bin in minutes. Default: 60.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-ms-summary": "Bin size in minutes",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Time series of charger error events.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerErrorEventsTimeSeriesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/charger-going-offline-timeseries": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets charger offline events as a time series",
        "description": "Returns the number of times chargers went offline grouped into time bins.",
        "operationId": "GetChargerGoingOfflineTimeSeries",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start of the interval to evaluate. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Start timestamp",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End of the interval to evaluate. Default: now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "End timestamp",
            "x-ms-visibility": "important"
          },
          {
            "name": "binSize",
            "in": "query",
            "description": "Size of each aggregation bin in minutes. Default: 60.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-ms-summary": "Bin size in minutes",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Time series of charger offline events.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerGoingOfflineTimeSeriesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/charger-network-issues-timeseries": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets charger network issues as a time series",
        "description": "Returns the number of charger network issues grouped into time bins.",
        "operationId": "GetChargerNetworkIssuesTimeSeries",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start of the interval to evaluate. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Start timestamp",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End of the interval to evaluate. Default: now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "End timestamp",
            "x-ms-visibility": "important"
          },
          {
            "name": "binSize",
            "in": "query",
            "description": "Size of each aggregation bin in minutes. Default: 60.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-ms-summary": "Bin size in minutes",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Time series of charger network issues.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerNetworkIssuesTimeSeriesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/charger-reboots-overview-timeseries": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets charger reboot events as a time series",
        "description": "Returns the number of charger reboot events grouped into time bins.",
        "operationId": "GetChargerRebootsOverviewTimeSeries",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start of the interval to evaluate. Default: 7 days ago.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "Start timestamp",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End of the interval to evaluate. Default: now.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "End timestamp",
            "x-ms-visibility": "important"
          },
          {
            "name": "binSize",
            "in": "query",
            "description": "Size of each aggregation bin in minutes. Default: 60.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-ms-summary": "Bin size in minutes",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter the results.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "includeSubsites",
            "in": "query",
            "description": "Set to 'true' to include subsites in the results. Default: false",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include Subsites",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Time series of charger reboot events.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getChargerRebootsOverviewTimeSeriesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/live-ongoing-sessions": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets live ongoing charging sessions per site",
        "description": "Returns active charging session counts for each accessible site.",
        "operationId": "GetLiveOngoingSessions",
        "parameters": [
          {
            "name": "includeZeroSessions",
            "in": "query",
            "description": "Set to false to exclude sites with zero ongoing sessions from the response.",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Include sites with zero ongoing sessions",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Optional list of site IDs to filter the response.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "advanced"
          }
        ],
        "responses": {
          "200": {
            "description": "List of sites with ongoing charging sessions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getLiveOngoingSessionsResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/manufacturers": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets insights for manufacturers",
        "description": "Retrieves insights related to charger manufacturers based on various filters and metrics.",
        "operationId": "GetManufacturerInsights",
        "parameters": [
          {
            "name": "metrics",
            "in": "query",
            "description": "Array of metrics to include in the response.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "enum": [
                  "session_insights",
                  "ranking"
                ],
                "type": "string",
                "default": "session_insights"
              }
            },
            "x-ms-summary": "Metrics",
            "x-ms-visibility": "important"
          },
          {
            "name": "from",
            "in": "query",
            "description": "Start date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ. (Default: 7 days ago)",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter by.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "manufacturer",
            "in": "query",
            "description": "Filter by charger manufacturer.",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Manufacturer",
            "x-ms-visibility": "important"
          },
          {
            "name": "model",
            "in": "query",
            "description": "Filter by charger model.",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Model",
            "x-ms-visibility": "important"
          },
          {
            "name": "firmware",
            "in": "query",
            "description": "Filter by charger firmware version.",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Firmware",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteType",
            "in": "query",
            "description": "Filter by site type.",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Site Type",
            "x-ms-visibility": "important"
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "Timezone identifier (IANA format). Example: timezone=Europe/Helsinki",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Timezone",
            "x-ms-visibility": "important"
          },
          {
            "name": "isPublic",
            "in": "query",
            "description": "Filter by public sites. true for public, false for private.",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-ms-summary": "Is Public",
            "x-ms-visibility": "important"
          },
          {
            "name": "summarizeByModel",
            "in": "query",
            "description": "If true, summarizes insights by manufacturer and model.",
            "schema": {
              "type": "boolean"
            },
            "x-ms-summary": "Summarize By Model",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Gets insights for manufacturers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getManufacturerInsightsResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/network/utilization": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets network utilization",
        "description": "Retrieves network-wide utilization metrics with optional filters.",
        "operationId": "GetNetworkUtilization",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter by",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "manufacturer",
            "in": "query",
            "description": "Filter by charger manufacturer",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Manufacturer",
            "x-ms-visibility": "important"
          },
          {
            "name": "model",
            "in": "query",
            "description": "Filter by charger model",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Model",
            "x-ms-visibility": "important"
          },
          {
            "name": "firmware",
            "in": "query",
            "description": "Filter by charger firmware",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Firmware",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteType",
            "in": "query",
            "description": "Filter by site type",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Site Type",
            "x-ms-visibility": "important"
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "Timezone identifier (IANA). Example: Europe/Helsinki",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Timezone",
            "x-ms-visibility": "important"
          },
          {
            "name": "isPublic",
            "in": "query",
            "description": "true for public sites, false for private",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-ms-summary": "Is Public",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Network utilization summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/networkUtilizationResponseDto"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/power/site-timeseries": {
      "post": {
        "tags": [
          "Insights"
        ],
        "summary": "Get power time series data",
        "description": "Returns aggregated power data for sites with configurable time granularity.",
        "operationId": "GetPowerInsightsTimeSeries",
        "requestBody": {
          "description": "Query parameters for the power time series.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/getPowerInsightsTimeSeriesRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Gets power time series",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getPowerInsightsTimeSeriesResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/energy/site": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets energy insights based on sites",
        "description": "Retrieves various insights and metrics related to energy based on the provided filters and parameters.",
        "operationId": "GetSiteEnergyInsights",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter by.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "sessionType",
            "in": "query",
            "description": "Type of session to filter by. Example: Regular,Roaming, Adhoc",
            "schema": {
              "enum": [
                "regular",
                "roaming",
                "adhoc"
              ],
              "type": "string",
              "default": "regular",
              "nullable": true
            },
            "x-ms-summary": "SessionType",
            "x-ms-visibility": "important"
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "Timezone identifier (IANA format). Example: timezone=Europe/Helsinki",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Timezone",
            "x-ms-visibility": "important"
          },
          {
            "name": "isPublic",
            "in": "query",
            "description": "Filter by public sites. true for public, false for private.",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-ms-summary": "Is Public",
            "x-ms-visibility": "important"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Page",
            "x-ms-visibility": "important"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Page size (default: 50)",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Limit",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Gets site energy insights",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/siteEnergyInsightsResponseDtoPaginated"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/sites": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets insights for sites",
        "description": "Retrieves various insights and metrics for specified sites based on the provided filters and parameters.",
        "operationId": "GetSiteInsights",
        "parameters": [
          {
            "name": "metrics",
            "in": "query",
            "description": "Array of metrics to include in the response.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "enum": [
                  "total_sites",
                  "sites_with_offline_socket",
                  "sites_with_error_socket"
                ],
                "type": "string",
                "default": "total_sites"
              }
            },
            "x-ms-summary": "Metrics",
            "x-ms-visibility": "important"
          },
          {
            "name": "from",
            "in": "query",
            "description": "Start date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter by.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country code to filter sites by.",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Country",
            "x-ms-visibility": "important"
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "Timezone identifier (IANA format). Example: timezone=Europe/Helsinki",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Timezone",
            "x-ms-visibility": "important"
          },
          {
            "name": "isPublic",
            "in": "query",
            "description": "Filter by public sites. true for public, false for private.",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-ms-summary": "Is Public",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Gets insights for sites",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSiteInsightsResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/sites/{siteId}/metrics": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets insights for sites",
        "description": "Retrieves various insights and metrics for specified site.",
        "operationId": "GetSiteMetrics",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "ID of the site to calculate metrics for.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-summary": "Site ID",
            "x-ms-visibility": "important"
          },
          {
            "name": "from",
            "in": "query",
            "description": "Start date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Gets insights for sites",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSiteMetricsResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/sites/utilization": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets site utilization",
        "description": "Retrieves site utilization with optional filtering and pagination.",
        "operationId": "GetSiteUtilization",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter by",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "manufacturer",
            "in": "query",
            "description": "Filter by charger manufacturer",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Manufacturer",
            "x-ms-visibility": "important"
          },
          {
            "name": "model",
            "in": "query",
            "description": "Filter by charger model",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Model",
            "x-ms-visibility": "important"
          },
          {
            "name": "firmware",
            "in": "query",
            "description": "Filter by charger firmware",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Firmware",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteType",
            "in": "query",
            "description": "Filter by site type",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Site Type",
            "x-ms-visibility": "important"
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "Timezone identifier (IANA). Example: Europe/Helsinki",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Timezone",
            "x-ms-visibility": "important"
          },
          {
            "name": "isPublic",
            "in": "query",
            "description": "true for public sites, false for private",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-ms-summary": "Is Public",
            "x-ms-visibility": "important"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Page",
            "x-ms-visibility": "important"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Page size (default: 50)",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Limit",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Site utilization list (paginated)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/siteUtilizationDtoPaginated"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/energy/socket": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets energy insights based on sockets",
        "description": "Retrieves various insights and metrics related to energy based on the provided filters and parameters.",
        "operationId": "GetSocketEnergyInsights",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter by.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "sessionType",
            "in": "query",
            "description": "Type of session to filter by. Example: Regular,Roaming, Adhoc",
            "schema": {
              "enum": [
                "regular",
                "roaming",
                "adhoc"
              ],
              "type": "string",
              "default": "regular",
              "nullable": true
            },
            "x-ms-summary": "SessionType",
            "x-ms-visibility": "important"
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "Timezone identifier (IANA format). Example: timezone=Europe/Helsinki",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Timezone",
            "x-ms-visibility": "important"
          },
          {
            "name": "isPublic",
            "in": "query",
            "description": "Filter by public sites. true for public, false for private.",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-ms-summary": "Is Public",
            "x-ms-visibility": "important"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Page",
            "x-ms-visibility": "important"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Page size (default: 50)",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Limit",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Gets socket energy insights",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/socketEnergyInsightsResponseDtoPaginated"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/sockets": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets insights for sockets",
        "description": "Retrieves insights for sockets based on the provided filters and metrics.",
        "operationId": "GetSocketInsights",
        "parameters": [
          {
            "name": "metrics",
            "in": "query",
            "description": "Array of metrics to include in the response.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "enum": [
                  "total_sockets",
                  "sockets_in_status_count"
                ],
                "type": "string",
                "default": "total_sockets"
              }
            },
            "x-ms-summary": "Metrics",
            "x-ms-visibility": "important"
          },
          {
            "name": "from",
            "in": "query",
            "description": "Start date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date for the insights. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter by.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Status to filter sockets by.",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Status",
            "x-ms-visibility": "important"
          },
          {
            "name": "isPublic",
            "in": "query",
            "description": "Filter by public sites. true for public, false for private.",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-ms-summary": "Is Public",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Gets insights for sockets",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSocketInsightsResponse"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/sockets/utilization": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets socket utilization",
        "description": "Retrieves socket utilization with optional filtering and pagination.",
        "operationId": "GetSocketUtilization",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Array of site IDs to filter by",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "x-ms-summary": "Site IDs",
            "x-ms-visibility": "important"
          },
          {
            "name": "manufacturer",
            "in": "query",
            "description": "Filter by charger manufacturer",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Manufacturer",
            "x-ms-visibility": "important"
          },
          {
            "name": "model",
            "in": "query",
            "description": "Filter by charger model",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Model",
            "x-ms-visibility": "important"
          },
          {
            "name": "firmware",
            "in": "query",
            "description": "Filter by charger firmware",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Firmware",
            "x-ms-visibility": "important"
          },
          {
            "name": "siteType",
            "in": "query",
            "description": "Filter by site type",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Site Type",
            "x-ms-visibility": "important"
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "Timezone identifier (IANA). Example: Europe/Helsinki",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "Timezone",
            "x-ms-visibility": "important"
          },
          {
            "name": "isPublic",
            "in": "query",
            "description": "true for public sites, false for private",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "x-ms-summary": "Is Public",
            "x-ms-visibility": "important"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Page",
            "x-ms-visibility": "important"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Page size (default: 50)",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-ms-summary": "Limit",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Socket utilization list (paginated)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/socketUtilizationDtoPaginated"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/success-rate/comparison": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets success rate with comparison",
        "description": "Retrieves the average success rate and comparison metrics.",
        "operationId": "GetSuccessRateWithComparison",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Success rate comparison response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/successRateComparisonResponseDto"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    },
    "/v2/insights/utilization-rate/comparison": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Gets utilization rate with comparison",
        "description": "Retrieves the average utilization rate and comparison metrics.",
        "operationId": "GetUtilizationRateWithComparison",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "From Date",
            "x-ms-visibility": "important"
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date. Format: yyyy-MM-ddTHH:mm:ssZ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-ms-summary": "To Date",
            "x-ms-visibility": "important"
          }
        ],
        "responses": {
          "200": {
            "description": "Utilization rate comparison response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/utilizationRateComparisonResponseDto"
                }
              }
            },
            "x-ms-summary": "OK Reply"
          },
          "400": {
            "description": "Details of the validation error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            },
            "x-ms-summary": "Validation Error"
          },
          "500": {
            "description": "An unexpected error occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "x-ms-summary": "Internal Server Error"
          },
          "401": {
            "description": "User not authorized",
            "x-ms-summary": "Unauthorized"
          }
        },
        "security": [
          {
            "apiKey": [ ]
          },
          {
            "bearer": [ ]
          }
        ],
        "x-ms-visibility": "important"
      }
    }
  },
  "components": {
    "schemas": {
      "aggregatedChargerSuccessRate": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "successRate": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "aggregatedChargerUtilizationRate": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "utilizationRate": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "chargerErrorEventsTimeSeriesItem": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "errorCount": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "chargerGoingOfflineTimeSeriesItem": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "offlineCount": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "chargerNetworkIssuesTimeSeriesItem": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "networkIssuesCount": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "chargerRebootsOverviewTimeSeriesItem": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "rebootCount": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "chargerStateTimeSeries": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "chargerId": {
            "type": "string"
          },
          "chargerName": {
            "type": "string"
          },
          "socketId": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "string"
          }
        }
      },
      "chargerStatusCount": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "chargerStatusResult": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "statuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerStatusCount"
            }
          }
        }
      },
      "chargerSuccessRate": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "chargerId": {
            "type": "string"
          },
          "chargerName": {
            "type": "string"
          },
          "socketId": {
            "type": "integer",
            "format": "int32"
          },
          "successRate": {
            "type": "number",
            "format": "double"
          },
          "manufacturer": {
            "type": "string"
          },
          "chargerModel": {
            "type": "string"
          },
          "firmwareVersion": {
            "type": "string"
          }
        }
      },
      "chargerUtilizationRate": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "chargerId": {
            "type": "string"
          },
          "chargerName": {
            "type": "string"
          },
          "socketId": {
            "type": "integer",
            "format": "int32"
          },
          "utilizationRate": {
            "type": "number",
            "format": "double"
          },
          "manufacturer": {
            "type": "string"
          },
          "chargerModel": {
            "type": "string"
          },
          "firmwareVersion": {
            "type": "string"
          }
        }
      },
      "error": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "errorNumber": {
            "type": "integer",
            "format": "int32"
          },
          "helpLink": {
            "type": "string"
          }
        }
      },
      "getAggregatedChargerSuccessRateResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/aggregatedChargerSuccessRate"
            }
          }
        }
      },
      "getAggregatedChargerUtilizationRateResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/aggregatedChargerUtilizationRate"
            }
          }
        }
      },
      "getChargerErrorEventsTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerErrorEventsTimeSeriesItem"
            }
          }
        }
      },
      "getChargerGoingOfflineTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerGoingOfflineTimeSeriesItem"
            }
          }
        }
      },
      "getChargerNetworkIssuesTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerNetworkIssuesTimeSeriesItem"
            }
          }
        }
      },
      "getChargerRebootsOverviewTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerRebootsOverviewTimeSeriesItem"
            }
          }
        }
      },
      "getChargerStateTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int32"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerStateTimeSeries"
            }
          }
        }
      },
      "getChargerStatusesResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerStatusResult"
            }
          }
        }
      },
      "getChargerSuccessRateResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int32"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerSuccessRate"
            }
          }
        }
      },
      "getChargerSummaryMetricsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/summaryMetricItem"
            }
          }
        }
      },
      "getChargerUtilizationRateResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int32"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/chargerUtilizationRate"
            }
          }
        }
      },
      "getLiveOngoingSessionsResponse": {
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/liveOngoingSessionSite"
            }
          }
        }
      },
      "getManufacturerInsightsResponse": {
        "type": "object",
        "properties": {
          "sessionInsights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manufacturerSessionInsightsResponseDto"
            }
          },
          "ranking": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manufacturerRankingResponseDto"
            }
          }
        }
      },
      "getPowerInsightsTimeSeriesRequestBody": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "to": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "binSizeMinutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "chargerIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "siteIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "includeSubsites": {
            "type": "boolean",
            "nullable": true
          },
          "aggregateBySite": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "getPowerInsightsTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/powerTimeSeriesItem"
            }
          }
        }
      },
      "getSessionStatisticsTimeSeriesRequestBody": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "to": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "binSizeMinutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "chargerIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "driverIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "siteIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "rfidTags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "getSessionStatisticsTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/sessionStatisticsTimeSeriesItem"
            }
          }
        }
      },
      "getSessionSummaryMetricsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/summaryMetricItem"
            }
          }
        }
      },
      "getSiteChargerStateTimeSeriesResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int32"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/siteChargerStateTimeSeries"
            }
          }
        }
      },
      "getSiteInsightsResponse": {
        "type": "object",
        "properties": {
          "totalSites": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "sitesWithOfflineSocket": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "sitesWithErrorSocket": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        }
      },
      "getSiteMetricsResponse": {
        "type": "object",
        "properties": {
          "utilization": {
            "$ref": "#/components/schemas/siteMetric"
          },
          "energyThroughput": {
            "$ref": "#/components/schemas/siteMetric"
          },
          "turnover": {
            "$ref": "#/components/schemas/siteMetric"
          },
          "reliability": {
            "$ref": "#/components/schemas/siteMetric"
          },
          "availability": {
            "$ref": "#/components/schemas/siteMetric"
          },
          "capacityAdequacy": {
            "$ref": "#/components/schemas/siteMetric"
          }
        }
      },
      "getSocketInsightsResponse": {
        "type": "object",
        "properties": {
          "totalSockets": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "socketInStatusCount": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/socketStatusCountResponseDto"
            }
          }
        }
      },
      "liveOngoingSessionSite": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "lat": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "lng": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "sessions": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "manufacturerRankingResponseDto": {
        "type": "object",
        "properties": {
          "manufacturer": {
            "type": "string"
          },
          "rank": {
            "type": "integer",
            "format": "int32"
          },
          "successRatePercentage": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "manufacturerSessionInsightsResponseDto": {
        "type": "object",
        "properties": {
          "manufacturer": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "sessionAttempts": {
            "type": "integer",
            "format": "int32"
          },
          "successfulSessions": {
            "type": "integer",
            "format": "int32"
          },
          "successRatePercentage": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "networkUtilizationResponseDto": {
        "type": "object",
        "properties": {
          "average": {
            "type": "integer",
            "format": "int32"
          },
          "median": {
            "type": "integer",
            "format": "int32"
          },
          "percentile90Th": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "powerTimeSeriesItem": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "totalPowerW": {
            "type": "number",
            "format": "double"
          },
          "siteId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        }
      },
      "problemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string"
          },
          "instance": {
            "type": "string"
          },
          "extensions": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          }
        }
      },
      "sessionStatisticsTimeSeriesBreakdown": {
        "type": "object",
        "properties": {
          "sessionCount": {
            "type": "integer",
            "format": "int32"
          },
          "totalConsumptionWh": {
            "type": "integer",
            "format": "int64"
          },
          "avgConsumptionWh": {
            "type": "integer",
            "format": "int64"
          },
          "avgSessionDurationSeconds": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "sessionStatisticsTimeSeriesItem": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "sessionCount": {
            "type": "integer",
            "format": "int32"
          },
          "totalConsumptionWh": {
            "type": "integer",
            "format": "int64"
          },
          "avgConsumptionWh": {
            "type": "integer",
            "format": "int64"
          },
          "avgSessionDurationSeconds": {
            "type": "integer",
            "format": "int32"
          },
          "regular": {
            "$ref": "#/components/schemas/sessionStatisticsTimeSeriesBreakdown"
          },
          "ocpi": {
            "$ref": "#/components/schemas/sessionStatisticsTimeSeriesBreakdown"
          },
          "express": {
            "$ref": "#/components/schemas/sessionStatisticsTimeSeriesBreakdown"
          }
        }
      },
      "siteChargerStateTimeSeries": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "siteId": {
            "type": "integer",
            "format": "int64"
          },
          "siteName": {
            "type": "string"
          },
          "available": {
            "type": "integer",
            "format": "int64"
          },
          "error": {
            "type": "integer",
            "format": "int64"
          },
          "offline": {
            "type": "integer",
            "format": "int64"
          },
          "info": {
            "type": "integer",
            "format": "int64"
          },
          "charging": {
            "type": "integer",
            "format": "int64"
          },
          "suspendedCAR": {
            "type": "integer",
            "format": "int64"
          },
          "suspendedCharger": {
            "type": "integer",
            "format": "int64"
          },
          "preparing": {
            "type": "integer",
            "format": "int64"
          },
          "finishing": {
            "type": "integer",
            "format": "int64"
          },
          "reserved": {
            "type": "integer",
            "format": "int64"
          },
          "booting": {
            "type": "integer",
            "format": "int64"
          },
          "unavailable": {
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "siteEnergyInsightsResponseDto": {
        "type": "object",
        "properties": {
          "siteName": {
            "type": "string"
          },
          "totalEnergyDeliveredKwh": {
            "type": "number",
            "format": "double"
          },
          "avgDurationMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfSessions": {
            "type": "integer",
            "format": "int32"
          },
          "totalRevenue": {
            "type": "number",
            "format": "double"
          },
          "regularRevenue": {
            "type": "number",
            "format": "double"
          },
          "adhocRevenue": {
            "type": "number",
            "format": "double"
          },
          "roamingRevenue": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "siteEnergyInsightsResponseDtoPaginated": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int64"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/siteEnergyInsightsResponseDto"
            }
          }
        }
      },
      "siteMetric": {
        "type": "object",
        "properties": {
          "score": {
            "type": "number",
            "format": "double"
          },
          "rawValue": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "siteUtilizationDtoPaginated": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int64"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/siteUtilizationResponseDto"
            }
          }
        }
      },
      "siteUtilizationResponseDto": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string"
          },
          "siteName": {
            "type": "string"
          },
          "utilizationPercentage": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "socketEnergyInsightsResponseDto": {
        "type": "object",
        "properties": {
          "siteName": {
            "type": "string"
          },
          "chargerId": {
            "type": "string"
          },
          "socketId": {
            "type": "string"
          },
          "totalEnergyDeliveredKwh": {
            "type": "number",
            "format": "double"
          },
          "avgDurationMinutes": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfSessions": {
            "type": "integer",
            "format": "int32"
          },
          "totalRevenue": {
            "type": "number",
            "format": "double"
          },
          "regularRevenue": {
            "type": "number",
            "format": "double"
          },
          "adhocRevenue": {
            "type": "number",
            "format": "double"
          },
          "roamingRevenue": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "socketEnergyInsightsResponseDtoPaginated": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int64"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/socketEnergyInsightsResponseDto"
            }
          }
        }
      },
      "socketStatusCountResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "socketUtilizationDtoPaginated": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "totalRecords": {
            "type": "integer",
            "format": "int64"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/socketUtilizationResponseDto"
            }
          }
        }
      },
      "socketUtilizationResponseDto": {
        "type": "object",
        "properties": {
          "chargerId": {
            "type": "string"
          },
          "socketId": {
            "type": "string"
          },
          "utilizationPercentage": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "successRateComparisonResponseDto": {
        "type": "object",
        "properties": {
          "successRate": {
            "type": "number",
            "format": "double"
          },
          "minFromAll": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "maxFromAll": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      },
      "summaryMetricItem": {
        "type": "object",
        "properties": {
          "metric": {
            "type": "string"
          },
          "value": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "comparison": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      },
      "utilizationRateComparisonResponseDto": {
        "type": "object",
        "properties": {
          "utilizationRate": {
            "type": "number",
            "format": "double"
          },
          "minFromAll": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "maxFromAll": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      }
    },
    "securitySchemes": {
      "apiKey": {
        "type": "apiKey",
        "description": "The API key for authentication",
        "name": "x-api-key",
        "in": "header"
      },
      "bearer": {
        "type": "http",
        "description": "The bearer token for authentication",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  }
}