@ampeco/public-api-mcp 3.254.3 → 3.255.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "totalEndpoints": 657,
3
- "originalSize": 6140006,
4
- "optimizedSize": 1714637,
3
+ "originalSize": 6159653,
4
+ "optimizedSize": 1720553,
5
5
  "reductionPercent": 72.07,
6
- "buildDuration": 1600,
6
+ "buildDuration": 1481,
7
7
  "responseSchemas": {
8
8
  "total": 657,
9
9
  "withSchemas": 657,
10
- "totalSchemaSize": 3519465,
11
- "averageSchemaSize": 5357
10
+ "totalSchemaSize": 3531263,
11
+ "averageSchemaSize": 5375
12
12
  }
13
13
  }
@@ -9077,14 +9077,17 @@
9077
9077
  "status": {
9078
9078
  "type": "string",
9079
9079
  "enum": [
9080
+ "pending",
9080
9081
  "accepted",
9082
+ "rejected",
9081
9083
  "reserved",
9082
9084
  "completed",
9083
9085
  "cancelled",
9084
9086
  "no-show",
9085
9087
  "failed"
9086
9088
  ],
9087
- "description": "Filter by booking status"
9089
+ "example": "accepted",
9090
+ "description": "Status of booking: - **pending**: Booking has been requested and is awaiting an asynchronous decision - **accepted**: Booking has been approved and confirmed - **rejected**: Booking request has been declined - **reserved**: EVSE has been reserved via OCPP ReserveNow command - **completed**: User has started a charging session and fulfilled the booking - **cancelled**: Booking has been cancelled by user or system - **no-show**: User failed to start session within the no-show timeout period - **failed**: The booking could not be established - either the EVSE could not be reserved after multiple attempts, or the request could not be decided"
9088
9091
  },
9089
9092
  "userId": {
9090
9093
  "type": "integer",
@@ -11177,21 +11180,23 @@
11177
11180
  "type": "string",
11178
11181
  "enum": [
11179
11182
  "ocpp 1.5",
11183
+ "ocpp 1.5 json",
11180
11184
  "ocpp 1.6",
11181
11185
  "ocpp 1.6 soap",
11182
11186
  "ocpp 2.0.1"
11183
- ]
11187
+ ],
11188
+ "description": "Charge point OCPP protocol and transport: - **ocpp 1.5**: OCPP 1.5 over SOAP - **ocpp 1.5 json**: OCPP 1.5 over JSON - **ocpp 1.6**: OCPP 1.6 over JSON - **ocpp 1.6 soap**: OCPP 1.6 over SOAP - **ocpp 2.0.1**: OCPP 2.0.1 over JSON"
11184
11189
  },
11185
11190
  "password": {
11186
11191
  "type": "string"
11187
11192
  },
11188
11193
  "ip": {
11189
11194
  "type": "string",
11190
- "description": "Required for ocpp 1.5 (SOAP)"
11195
+ "description": "Required for communication over SOAP (OCPP 1.5 and OCPP 1.6)."
11191
11196
  },
11192
11197
  "port": {
11193
11198
  "type": "integer",
11194
- "description": "Required for ocpp 1.5 (SOAP)"
11199
+ "description": "Required for communication over SOAP (OCPP 1.5 and OCPP 1.6)."
11195
11200
  }
11196
11201
  },
11197
11202
  "description": "Required and non-empty for charge points communicating directly over OCPP, which is the default communication mode. The requirement applies when `communicationMode` is `direct_ocpp`, or when `communicationMode` is omitted and `managedByOperator` is omitted or `true`; it does not apply to `none`, `via_ocpp_connected_charge_point`, or `managedByOperator: false` charge points."
@@ -11639,11 +11644,13 @@
11639
11644
  "type": "string",
11640
11645
  "enum": [
11641
11646
  "ocpp 1.5",
11647
+ "ocpp 1.5 json",
11642
11648
  "ocpp 1.6",
11643
11649
  "ocpp 1.6 soap",
11644
11650
  "ocpp 2.0.1"
11645
11651
  ],
11646
- "nullable": true
11652
+ "nullable": true,
11653
+ "description": "Charge point OCPP protocol and transport: - **ocpp 1.5**: OCPP 1.5 over SOAP - **ocpp 1.5 json**: OCPP 1.5 over JSON - **ocpp 1.6**: OCPP 1.6 over JSON - **ocpp 1.6 soap**: OCPP 1.6 over SOAP - **ocpp 2.0.1**: OCPP 2.0.1 over JSON"
11647
11654
  },
11648
11655
  "password": {
11649
11656
  "type": "string",
@@ -11652,12 +11659,12 @@
11652
11659
  "ip": {
11653
11660
  "type": "string",
11654
11661
  "nullable": true,
11655
- "description": "Required for ocpp 1.5 (SOAP)"
11662
+ "description": "Required for communication over SOAP (OCPP 1.5 and OCPP 1.6)."
11656
11663
  },
11657
11664
  "port": {
11658
11665
  "type": "integer",
11659
11666
  "nullable": true,
11660
- "description": "Required for ocpp 1.5 (SOAP)"
11667
+ "description": "Required for communication over SOAP (OCPP 1.5 and OCPP 1.6)."
11661
11668
  }
11662
11669
  }
11663
11670
  },
@@ -39200,6 +39207,7 @@
39200
39207
  "en",
39201
39208
  "be",
39202
39209
  "bg",
39210
+ "fa",
39203
39211
  "bn",
39204
39212
  "mk",
39205
39213
  "el",
@@ -39232,6 +39240,7 @@
39232
39240
  "ro",
39233
39241
  "lt",
39234
39242
  "uk",
39243
+ "ur",
39235
39244
  "ru",
39236
39245
  "nl",
39237
39246
  "ca-ES",
@@ -40008,7 +40017,7 @@
40008
40017
  "customFields": {
40009
40018
  "type": "string",
40010
40019
  "example": "filter[customFields.invoiceReference]=INV-42",
40011
- "description": "Filter a custom-field host resource by custom fields defined for that resource. Add one literal `customFields.<identifier>` key to the existing `filter` object for each criterion. The identifier suffix is administrator-defined and is never enumerated in this schema or generated per tenant. Use a scalar for boolean, text, email, and URL fields. Boolean accepts booleans and integer `1` or `0`, as well as the strings `\"true\"`, `\"false\"`, `\"1\"`, and `\"0\"`. Text, email, and URL accept strings and use contains matching that is case- and accent-insensitive; backslashes, `%`, and `_` are treated literally rather than as pattern syntax. Use `from`, `to`, or both below the dotted key for number, date, and date-time fields. Both bounds are inclusive. Number bounds are decimal strings from `-99999999999999.999999` through `99999999999999.999999` with at most six decimal places; comparisons preserve submitted and stored decimal precision without rounding. Date bounds use `YYYY-MM-DD` and compare calendar dates without time-zone conversion. Date-time bounds use ISO 8601; offsets are normalized to UTC, and an omitted offset is interpreted as UTC. Multiple identifiers combine with AND. Empty scalar criteria and ranges whose bounds are empty are ignored. An identifier resolves only to its current active definition, so values belonging to a deleted definition never match if its identifier is reused. Operator-scoped filters match only host records whose current operator owner is assigned to the field; retained inapplicable values are excluded before pagination. Criteria for unknown, inaccessible, disabled, or deleted custom fields, and for fields whose filtering is disabled or whose type does not support filtering, are ignored; the other criteria in the same request still apply. For a filterable field, malformed objects or values, a criterion shape that is invalid for the field type, and a range whose `from` bound is greater than its `to` bound return `422`. Custom-field filters apply only to resource listings. They do not participate in search and do not depend on an `include` parameter; any unrelated includes are defined by the host resource. Examples: `filter[customFields.invoiceReference]=INV-42` and `filter[customFields.capacity][from]=10&filter[customFields.capacity][to]=20`. URL-encode the query keys and values when sending the request."
40020
+ "description": "Filter a custom-field host resource by custom fields defined for that resource. Add one literal `customFields.<identifier>` key to the existing `filter` object for each criterion. The identifier suffix is administrator-defined and is never enumerated in this schema or generated per tenant. Use a scalar for boolean, text, email, and URL fields. Boolean accepts booleans and integer `1` or `0`, as well as the strings `\"true\"`, `\"false\"`, `\"1\"`, and `\"0\"`. Text, email, and URL accept strings and use contains matching that is case- and accent-insensitive; backslashes, `%`, and `_` are treated literally rather than as pattern syntax. Use `from`, `to`, or both below the dotted key for number, date, and date-time fields. Both bounds are inclusive. Number bounds are decimal strings from `-99999999999999.999999` through `99999999999999.999999` with at most six decimal places; comparisons preserve submitted and stored decimal precision without rounding. Date bounds use `YYYY-MM-DD` and compare calendar dates without time-zone conversion. Date-time bounds use ISO 8601; offsets are normalized to UTC, and an omitted offset is interpreted as UTC. Multiple identifiers combine with AND. Empty scalar criteria and ranges whose bounds are empty are ignored. An identifier resolves only to its current active definition, so values belonging to a deleted definition never match if its identifier is reused. Operator-scoped filters match only host records whose current operator owner is assigned to the field; retained inapplicable values are excluded before pagination. Criteria the request cannot use return `400` and name the rejected keys, and no criterion in the request is applied. This covers unknown, inaccessible, disabled, and deleted identifiers, and fields whose filtering is disabled or whose type does not support filtering. For a usable field, malformed objects or values, a criterion shape that is invalid for the field type, and a range whose `from` bound is greater than its `to` bound return `422`. Custom-field filters apply only to resource listings. They do not participate in search and do not depend on an `include` parameter; any unrelated includes are defined by the host resource. Examples: `filter[customFields.invoiceReference]=INV-42` and `filter[customFields.capacity][from]=10&filter[customFields.capacity][to]=20`. URL-encode the query keys and values when sending the request."
40012
40021
  },
40013
40022
  "externalId": {
40014
40023
  "type": "string"
@@ -40033,6 +40042,9 @@
40033
40042
  "200": {
40034
40043
  "description": "Success"
40035
40044
  },
40045
+ "400": {
40046
+ "description": "Bad Request"
40047
+ },
40036
40048
  "401": {
40037
40049
  "description": "Access token is missing or invalid"
40038
40050
  },
@@ -41977,6 +41989,9 @@
41977
41989
  "200": {
41978
41990
  "description": "Success"
41979
41991
  },
41992
+ "400": {
41993
+ "description": "Bad Request"
41994
+ },
41980
41995
  "401": {
41981
41996
  "description": "Access token is missing or invalid"
41982
41997
  },
@@ -46978,6 +46993,9 @@
46978
46993
  "200": {
46979
46994
  "description": "Success"
46980
46995
  },
46996
+ "400": {
46997
+ "description": "Bad Request"
46998
+ },
46981
46999
  "401": {
46982
47000
  "description": "Access token is missing or invalid"
46983
47001
  },
@@ -50199,7 +50217,7 @@
50199
50217
  "customFields": {
50200
50218
  "type": "string",
50201
50219
  "example": "filter[customFields.invoiceReference]=INV-42",
50202
- "description": "Filter a custom-field host resource by custom fields defined for that resource. Add one literal `customFields.<identifier>` key to the existing `filter` object for each criterion. The identifier suffix is administrator-defined and is never enumerated in this schema or generated per tenant. Use a scalar for boolean, text, email, and URL fields. Boolean accepts booleans and integer `1` or `0`, as well as the strings `\"true\"`, `\"false\"`, `\"1\"`, and `\"0\"`. Text, email, and URL accept strings and use contains matching that is case- and accent-insensitive; backslashes, `%`, and `_` are treated literally rather than as pattern syntax. Use `from`, `to`, or both below the dotted key for number, date, and date-time fields. Both bounds are inclusive. Number bounds are decimal strings from `-99999999999999.999999` through `99999999999999.999999` with at most six decimal places; comparisons preserve submitted and stored decimal precision without rounding. Date bounds use `YYYY-MM-DD` and compare calendar dates without time-zone conversion. Date-time bounds use ISO 8601; offsets are normalized to UTC, and an omitted offset is interpreted as UTC. Multiple identifiers combine with AND. Empty scalar criteria and ranges whose bounds are empty are ignored. An identifier resolves only to its current active definition, so values belonging to a deleted definition never match if its identifier is reused. Operator-scoped filters match only host records whose current operator owner is assigned to the field; retained inapplicable values are excluded before pagination. Criteria for unknown, inaccessible, disabled, or deleted custom fields, and for fields whose filtering is disabled or whose type does not support filtering, are ignored; the other criteria in the same request still apply. For a filterable field, malformed objects or values, a criterion shape that is invalid for the field type, and a range whose `from` bound is greater than its `to` bound return `422`. Custom-field filters apply only to resource listings. They do not participate in search and do not depend on an `include` parameter; any unrelated includes are defined by the host resource. Examples: `filter[customFields.invoiceReference]=INV-42` and `filter[customFields.capacity][from]=10&filter[customFields.capacity][to]=20`. URL-encode the query keys and values when sending the request."
50220
+ "description": "Filter a custom-field host resource by custom fields defined for that resource. Add one literal `customFields.<identifier>` key to the existing `filter` object for each criterion. The identifier suffix is administrator-defined and is never enumerated in this schema or generated per tenant. Use a scalar for boolean, text, email, and URL fields. Boolean accepts booleans and integer `1` or `0`, as well as the strings `\"true\"`, `\"false\"`, `\"1\"`, and `\"0\"`. Text, email, and URL accept strings and use contains matching that is case- and accent-insensitive; backslashes, `%`, and `_` are treated literally rather than as pattern syntax. Use `from`, `to`, or both below the dotted key for number, date, and date-time fields. Both bounds are inclusive. Number bounds are decimal strings from `-99999999999999.999999` through `99999999999999.999999` with at most six decimal places; comparisons preserve submitted and stored decimal precision without rounding. Date bounds use `YYYY-MM-DD` and compare calendar dates without time-zone conversion. Date-time bounds use ISO 8601; offsets are normalized to UTC, and an omitted offset is interpreted as UTC. Multiple identifiers combine with AND. Empty scalar criteria and ranges whose bounds are empty are ignored. An identifier resolves only to its current active definition, so values belonging to a deleted definition never match if its identifier is reused. Operator-scoped filters match only host records whose current operator owner is assigned to the field; retained inapplicable values are excluded before pagination. Criteria the request cannot use return `400` and name the rejected keys, and no criterion in the request is applied. This covers unknown, inaccessible, disabled, and deleted identifiers, and fields whose filtering is disabled or whose type does not support filtering. For a usable field, malformed objects or values, a criterion shape that is invalid for the field type, and a range whose `from` bound is greater than its `to` bound return `422`. Custom-field filters apply only to resource listings. They do not participate in search and do not depend on an `include` parameter; any unrelated includes are defined by the host resource. Examples: `filter[customFields.invoiceReference]=INV-42` and `filter[customFields.capacity][from]=10&filter[customFields.capacity][to]=20`. URL-encode the query keys and values when sending the request."
50203
50221
  }
50204
50222
  }
50205
50223
  }
@@ -50259,7 +50277,7 @@
50259
50277
  "method": "GET",
50260
50278
  "operationId": "reimbursementReportsListing",
50261
50279
  "summary": "Reimbursement reports / Listing",
50262
- "description": "⚠️ Experimental endpoint — not yet a stable contract. This resource ships as experimental / beta. While experimental, its schema and behaviour may change without a version bump — including breaking changes within v1.0 itself. Anyone consuming it does so for evaluation only, or by coordinating adoption with their account manager so changes can be sequenced with them. It graduates to a stable, version-locked contract (where the normal breaking-change rules apply) only when this experimental notice is removed. Get all reimbursement reports. A report is a periodic aggregate that groups the reimbursement records sharing a beneficiary, payer and period, and exposes their totals. For the per-session entries behind those totals, use the reimbursement records listing. Custom-field criteria use `filter[customFields.<identifier>]` keys and compose with the ordinary report filters before cursor pagination. Use scalar values for exact or text criteria and `from`, `to`, or both below the dotted key for ranges. Boolean `false` and integer `0` are active criteria; empty or whitespace-only scalars and ranges with no filled bounds are ignored. Criteria for unknown, disabled, deleted, or non-filterable custom fields are also ignored, while the other criteria in the same request still apply. A malformed value for a filterable custom field returns `422`. Examples: `filter[customFields.invoiceReference]=INV-42`, `filter[customFields.capacity][from]=10`, and `filter[customFields.capacity][from]=10&filter[customFields.capacity][to]=20`. Custom fields do not participate in search.",
50280
+ "description": "⚠️ Experimental endpoint — not yet a stable contract. This resource ships as experimental / beta. While experimental, its schema and behaviour may change without a version bump — including breaking changes within v1.0 itself. Anyone consuming it does so for evaluation only, or by coordinating adoption with their account manager so changes can be sequenced with them. It graduates to a stable, version-locked contract (where the normal breaking-change rules apply) only when this experimental notice is removed. Get all reimbursement reports. A report is a periodic aggregate that groups the reimbursement records sharing a beneficiary, payer and period, and exposes their totals. For the per-session entries behind those totals, use the reimbursement records listing. Custom-field criteria use `filter[customFields.<identifier>]` keys and compose with the ordinary report filters before cursor pagination. Use scalar values for exact or text criteria and `from`, `to`, or both below the dotted key for ranges. Boolean `false` and integer `0` are active criteria; empty or whitespace-only scalars and ranges with no filled bounds are ignored. Criteria for unknown, inaccessible, disabled, deleted, or non-filterable custom fields return `400` and name the rejected keys. A malformed value for a usable custom field returns `422`. Examples: `filter[customFields.invoiceReference]=INV-42`, `filter[customFields.capacity][from]=10`, and `filter[customFields.capacity][from]=10&filter[customFields.capacity][to]=20`. Custom fields do not participate in search.",
50263
50281
  "tags": [
50264
50282
  "resource / reimbursement reports"
50265
50283
  ],
@@ -53204,7 +53222,7 @@
53204
53222
  "customFields": {
53205
53223
  "type": "string",
53206
53224
  "example": "filter[customFields.invoiceReference]=INV-42",
53207
- "description": "Filter a custom-field host resource by custom fields defined for that resource. Add one literal `customFields.<identifier>` key to the existing `filter` object for each criterion. The identifier suffix is administrator-defined and is never enumerated in this schema or generated per tenant. Use a scalar for boolean, text, email, and URL fields. Boolean accepts booleans and integer `1` or `0`, as well as the strings `\"true\"`, `\"false\"`, `\"1\"`, and `\"0\"`. Text, email, and URL accept strings and use contains matching that is case- and accent-insensitive; backslashes, `%`, and `_` are treated literally rather than as pattern syntax. Use `from`, `to`, or both below the dotted key for number, date, and date-time fields. Both bounds are inclusive. Number bounds are decimal strings from `-99999999999999.999999` through `99999999999999.999999` with at most six decimal places; comparisons preserve submitted and stored decimal precision without rounding. Date bounds use `YYYY-MM-DD` and compare calendar dates without time-zone conversion. Date-time bounds use ISO 8601; offsets are normalized to UTC, and an omitted offset is interpreted as UTC. Multiple identifiers combine with AND. Empty scalar criteria and ranges whose bounds are empty are ignored. An identifier resolves only to its current active definition, so values belonging to a deleted definition never match if its identifier is reused. Operator-scoped filters match only host records whose current operator owner is assigned to the field; retained inapplicable values are excluded before pagination. Criteria for unknown, inaccessible, disabled, or deleted custom fields, and for fields whose filtering is disabled or whose type does not support filtering, are ignored; the other criteria in the same request still apply. For a filterable field, malformed objects or values, a criterion shape that is invalid for the field type, and a range whose `from` bound is greater than its `to` bound return `422`. Custom-field filters apply only to resource listings. They do not participate in search and do not depend on an `include` parameter; any unrelated includes are defined by the host resource. Examples: `filter[customFields.invoiceReference]=INV-42` and `filter[customFields.capacity][from]=10&filter[customFields.capacity][to]=20`. URL-encode the query keys and values when sending the request."
53225
+ "description": "Filter a custom-field host resource by custom fields defined for that resource. Add one literal `customFields.<identifier>` key to the existing `filter` object for each criterion. The identifier suffix is administrator-defined and is never enumerated in this schema or generated per tenant. Use a scalar for boolean, text, email, and URL fields. Boolean accepts booleans and integer `1` or `0`, as well as the strings `\"true\"`, `\"false\"`, `\"1\"`, and `\"0\"`. Text, email, and URL accept strings and use contains matching that is case- and accent-insensitive; backslashes, `%`, and `_` are treated literally rather than as pattern syntax. Use `from`, `to`, or both below the dotted key for number, date, and date-time fields. Both bounds are inclusive. Number bounds are decimal strings from `-99999999999999.999999` through `99999999999999.999999` with at most six decimal places; comparisons preserve submitted and stored decimal precision without rounding. Date bounds use `YYYY-MM-DD` and compare calendar dates without time-zone conversion. Date-time bounds use ISO 8601; offsets are normalized to UTC, and an omitted offset is interpreted as UTC. Multiple identifiers combine with AND. Empty scalar criteria and ranges whose bounds are empty are ignored. An identifier resolves only to its current active definition, so values belonging to a deleted definition never match if its identifier is reused. Operator-scoped filters match only host records whose current operator owner is assigned to the field; retained inapplicable values are excluded before pagination. Criteria the request cannot use return `400` and name the rejected keys, and no criterion in the request is applied. This covers unknown, inaccessible, disabled, and deleted identifiers, and fields whose filtering is disabled or whose type does not support filtering. For a usable field, malformed objects or values, a criterion shape that is invalid for the field type, and a range whose `from` bound is greater than its `to` bound return `422`. Custom-field filters apply only to resource listings. They do not participate in search and do not depend on an `include` parameter; any unrelated includes are defined by the host resource. Examples: `filter[customFields.invoiceReference]=INV-42` and `filter[customFields.capacity][from]=10&filter[customFields.capacity][to]=20`. URL-encode the query keys and values when sending the request."
53208
53226
  }
53209
53227
  }
53210
53228
  }
@@ -53243,6 +53261,9 @@
53243
53261
  "200": {
53244
53262
  "description": "Success"
53245
53263
  },
53264
+ "400": {
53265
+ "description": "Bad Request"
53266
+ },
53246
53267
  "401": {
53247
53268
  "description": "Access token is missing or invalid"
53248
53269
  },
@@ -58070,6 +58091,17 @@
58070
58091
  "nullable": true,
58071
58092
  "description": "Connection Fee Minimum Session Energy (kWh). Optional. Up to 5 digits after the decimal point depending on the currency precision."
58072
58093
  },
58094
+ "connectionFeeMaximumSessionDuration": {
58095
+ "type": "integer",
58096
+ "nullable": true,
58097
+ "description": "Connection fee maximum session duration in minutes. Optional. The connection fee is not charged once the session duration exceeds this value. Applicable for duration+energy and duration+energy time of day. Whole minutes, greater than zero, and strictly greater than connectionFeeMinimumSessionDuration when that is configured."
58098
+ },
58099
+ "connectionFeeMaximumSessionEnergy": {
58100
+ "type": "number",
58101
+ "format": "decimal",
58102
+ "nullable": true,
58103
+ "description": "Connection fee maximum session energy in kWh. Optional. The connection fee is not charged once the energy consumed exceeds this value. Applicable for duration+energy and duration+energy time of day. Greater than zero with up to 2 digits after the decimal point, and strictly greater than connectionFeeMinimumSessionEnergy when that is configured."
58104
+ },
58073
58105
  "durationFeeGracePeriod": {
58074
58106
  "type": "integer",
58075
58107
  "nullable": true,
@@ -59196,6 +59228,17 @@
59196
59228
  "nullable": true,
59197
59229
  "description": "Connection Fee Minimum Session Energy (kWh). Optional. Up to 5 digits after the decimal point depending on the currency precision."
59198
59230
  },
59231
+ "connectionFeeMaximumSessionDuration": {
59232
+ "type": "integer",
59233
+ "nullable": true,
59234
+ "description": "Connection fee maximum session duration in minutes. Optional. The connection fee is not charged once the session duration exceeds this value. Applicable for duration+energy and duration+energy time of day. Whole minutes, greater than zero, and strictly greater than connectionFeeMinimumSessionDuration when that is configured."
59235
+ },
59236
+ "connectionFeeMaximumSessionEnergy": {
59237
+ "type": "number",
59238
+ "format": "decimal",
59239
+ "nullable": true,
59240
+ "description": "Connection fee maximum session energy in kWh. Optional. The connection fee is not charged once the energy consumed exceeds this value. Applicable for duration+energy and duration+energy time of day. Greater than zero with up to 2 digits after the decimal point, and strictly greater than connectionFeeMinimumSessionEnergy when that is configured."
59241
+ },
59199
59242
  "durationFeeGracePeriod": {
59200
59243
  "type": "integer",
59201
59244
  "nullable": true,
@@ -60348,6 +60391,17 @@
60348
60391
  "nullable": true,
60349
60392
  "description": "Connection Fee Minimum Session Energy (kWh). Optional. Up to 5 digits after the decimal point depending on the currency precision."
60350
60393
  },
60394
+ "connectionFeeMaximumSessionDuration": {
60395
+ "type": "integer",
60396
+ "nullable": true,
60397
+ "description": "Connection fee maximum session duration in minutes. Optional. The connection fee is not charged once the session duration exceeds this value. Applicable for duration+energy and duration+energy time of day. Whole minutes, greater than zero, and strictly greater than connectionFeeMinimumSessionDuration when that is configured."
60398
+ },
60399
+ "connectionFeeMaximumSessionEnergy": {
60400
+ "type": "number",
60401
+ "format": "decimal",
60402
+ "nullable": true,
60403
+ "description": "Connection fee maximum session energy in kWh. Optional. The connection fee is not charged once the energy consumed exceeds this value. Applicable for duration+energy and duration+energy time of day. Greater than zero with up to 2 digits after the decimal point, and strictly greater than connectionFeeMinimumSessionEnergy when that is configured."
60404
+ },
60351
60405
  "durationFeeGracePeriod": {
60352
60406
  "type": "integer",
60353
60407
  "nullable": true,
@@ -61545,6 +61599,17 @@
61545
61599
  "nullable": true,
61546
61600
  "description": "Connection Fee Minimum Session Energy (kWh). Optional. Up to 5 digits after the decimal point depending on the currency precision."
61547
61601
  },
61602
+ "connectionFeeMaximumSessionDuration": {
61603
+ "type": "integer",
61604
+ "nullable": true,
61605
+ "description": "Connection fee maximum session duration in minutes. Optional. The connection fee is not charged once the session duration exceeds this value. Applicable for duration+energy and duration+energy time of day. Whole minutes, greater than zero, and strictly greater than connectionFeeMinimumSessionDuration when that is configured."
61606
+ },
61607
+ "connectionFeeMaximumSessionEnergy": {
61608
+ "type": "number",
61609
+ "format": "decimal",
61610
+ "nullable": true,
61611
+ "description": "Connection fee maximum session energy in kWh. Optional. The connection fee is not charged once the energy consumed exceeds this value. Applicable for duration+energy and duration+energy time of day. Greater than zero with up to 2 digits after the decimal point, and strictly greater than connectionFeeMinimumSessionEnergy when that is configured."
61612
+ },
61548
61613
  "durationFeeGracePeriod": {
61549
61614
  "type": "integer",
61550
61615
  "nullable": true,
@@ -62485,6 +62550,17 @@
62485
62550
  "nullable": true,
62486
62551
  "description": "Connection Fee Minimum Session Energy (kWh). Optional. Up to 5 digits after the decimal point depending on the currency precision."
62487
62552
  },
62553
+ "connectionFeeMaximumSessionDuration": {
62554
+ "type": "integer",
62555
+ "nullable": true,
62556
+ "description": "Connection fee maximum session duration in minutes. Optional. The connection fee is not charged once the session duration exceeds this value. Applicable for duration+energy and duration+energy time of day. Whole minutes, greater than zero, and strictly greater than connectionFeeMinimumSessionDuration when that is configured."
62557
+ },
62558
+ "connectionFeeMaximumSessionEnergy": {
62559
+ "type": "number",
62560
+ "format": "decimal",
62561
+ "nullable": true,
62562
+ "description": "Connection fee maximum session energy in kWh. Optional. The connection fee is not charged once the energy consumed exceeds this value. Applicable for duration+energy and duration+energy time of day. Greater than zero with up to 2 digits after the decimal point, and strictly greater than connectionFeeMinimumSessionEnergy when that is configured."
62563
+ },
62488
62564
  "durationFeeGracePeriod": {
62489
62565
  "type": "integer",
62490
62566
  "nullable": true,
@@ -73287,7 +73363,7 @@
73287
73363
  ],
73288
73364
  "info": {
73289
73365
  "title": "Public API",
73290
- "version": "3.254.3",
73366
+ "version": "3.255.1",
73291
73367
  "description": "The Public API provides server-to-server integration capabilities for your EV charging platform.\n\n**Authentication.** Existing integrations continue to work unchanged — long-lived UUID admin tokens are sent in `Authorization: Bearer ...` with no exchange required. Two security schemes are documented for OpenAPI client tooling, both resulting in the same Bearer header at the wire level:\n - `bearerAuth` — the token in the `Authorization: Bearer ...` header is either a long-lived UUID admin token (issued via the admin UI, used directly) or a short-lived access token previously obtained via OAuth.\n - `oauth2ClientCredentials` - a `client_id` / `client_secret` pair should be exchanged for a short-lived access token at `/public-api/oauth/token` per RFC 6749 Section 4.4 (Client Credentials Grant), and the short-lived token should be used in the `Authorization: Bearer ...` header. The OAuth `client_secret` itself cannot be sent directly as a bearer token — it must be exchanged first.\n"
73292
73368
  },
73293
73369
  "servers": [
@@ -73301,18 +73377,18 @@
73301
73377
  }
73302
73378
  }
73303
73379
  ],
73304
- "buildTimestamp": "2026-09-29T07:09:50.519Z",
73380
+ "buildTimestamp": "2026-09-29T09:58:23.904Z",
73305
73381
  "stats": {
73306
73382
  "totalEndpoints": 657,
73307
- "originalSize": 6140006,
73308
- "optimizedSize": 1714637,
73383
+ "originalSize": 6159653,
73384
+ "optimizedSize": 1720553,
73309
73385
  "reductionPercent": 72.07,
73310
- "buildDuration": 1600,
73386
+ "buildDuration": 1481,
73311
73387
  "responseSchemas": {
73312
73388
  "total": 657,
73313
73389
  "withSchemas": 657,
73314
- "totalSchemaSize": 3519465,
73315
- "averageSchemaSize": 5357
73390
+ "totalSchemaSize": 3531263,
73391
+ "averageSchemaSize": 5375
73316
73392
  }
73317
73393
  }
73318
73394
  }