@ampeco/public-api-mcp 3.244.2 → 3.245.0

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": 640,
3
- "originalSize": 5774967,
4
- "optimizedSize": 1609217,
5
- "reductionPercent": 72.13,
6
- "buildDuration": 1481,
3
+ "originalSize": 5796134,
4
+ "optimizedSize": 1619628,
5
+ "reductionPercent": 72.06,
6
+ "buildDuration": 1326,
7
7
  "responseSchemas": {
8
8
  "total": 640,
9
9
  "withSchemas": 640,
10
- "totalSchemaSize": 3295598,
11
- "averageSchemaSize": 5149
10
+ "totalSchemaSize": 3303477,
11
+ "averageSchemaSize": 5162
12
12
  }
13
13
  }
@@ -10966,7 +10966,7 @@
10966
10966
  "method": "PATCH",
10967
10967
  "operationId": "chargePointUpdate",
10968
10968
  "summary": "Charge Point / Update",
10969
- "description": "Update a charge point",
10969
+ "description": "Update a charge point. The update is rejected with 409 while it would leave the charge point in a state its configuration forbids — for example removing the electricity rate while a reimbursement policy that resolves the rate from the charge point is attached. Replacing the electricity rate with another valid rate is allowed.",
10970
10970
  "tags": [
10971
10971
  "resource / charge points"
10972
10972
  ],
@@ -11010,7 +11010,7 @@
11010
11010
  "electricityRateId": {
11011
11011
  "type": "integer",
11012
11012
  "nullable": true,
11013
- "description": "If there is Electricity rate set to the Charge point the electricity cost for each charging session would be tracked. Dynamic electricity rates could not be selected, only ones created in the resource / electricity-rate."
11013
+ "description": "If there is Electricity rate set to the Charge point the electricity cost for each charging session would be tracked. Dynamic electricity rates could not be selected, only ones created in the resource / electricity-rate. Set to `null` to clear the reference. Clearing the rate is rejected with HTTP 409 while a reimbursement policy that resolves the rate from the charge point is attached. Replacing it with another valid rate is allowed."
11014
11014
  },
11015
11015
  "electricityCostReimbursementIntegrationId": {
11016
11016
  "type": "integer",
@@ -11358,7 +11358,7 @@
11358
11358
  "properties": {
11359
11359
  "enabled": {
11360
11360
  "type": "boolean",
11361
- "description": "When `true`, same-operator users without a sharing invite for this charge point can authorise sessions, and the owner is reimbursed by the operator for public-access sessions. Accepted independently of `roamingPublishEnabled`. Preconditions: enabling requires all three of (1) a location with country and postal code, (2) the tariff group assigned to the charge point's EVSEs (`tariffGroupId`) contains at least one tariff, and (3) `reimbursementPolicyId` references an active operator-owned reimbursement policy. A request that enables public sharing while any precondition is missing returns HTTP 422 with a `publicSharing.enabled` error naming each missing precondition."
11361
+ "description": "When `true`, same-operator users without a sharing invite for this charge point can authorise sessions, and the owner is reimbursed by the operator for public-access sessions. Accepted independently of `roamingPublishEnabled`. Preconditions: enabling requires each of (1) a location with country and postal code, (2) the tariff group assigned to the charge point's EVSEs (`tariffGroupId`) contains at least one tariff, and (3) `reimbursementPolicyId` references an active operator-owned reimbursement policy. A request that enables public sharing while any of those three preconditions is missing returns HTTP 422 with a `publicSharing.enabled` error naming each missing precondition."
11362
11362
  },
11363
11363
  "roamingPublishEnabled": {
11364
11364
  "type": "boolean",
@@ -11367,7 +11367,7 @@
11367
11367
  "reimbursementPolicyId": {
11368
11368
  "type": "integer",
11369
11369
  "nullable": true,
11370
- "description": "References the reimbursement policy used to reimburse the charge point owner for public-access sessions. Set to `null` to clear the reference."
11370
+ "description": "References the reimbursement policy used to reimburse the charge point owner for public-access sessions. Set to `null` to clear the reference. Selecting a policy that resolves the rate from the charge point requires the charge point to have an electricity rate assigned, whether or not the same request enables public sharing; that state conflict returns HTTP 409 rather than a validation error. Replacing the electricity rate with another valid rate is allowed."
11371
11371
  }
11372
11372
  },
11373
11373
  "description": "Public access controls for a `personal` charge point. Only applicable to `personal` charge points and requires the `home-charging-reimbursement` feature."
@@ -11390,6 +11390,9 @@
11390
11390
  "404": {
11391
11391
  "description": "The record is not found"
11392
11392
  },
11393
+ "409": {
11394
+ "description": "The request could not be completed due to a conflict with the current state of the resource. The operation may succeed if retried."
11395
+ },
11393
11396
  "422": {
11394
11397
  "description": "The payload you provided is invalid"
11395
11398
  },
@@ -13048,7 +13051,7 @@
13048
13051
  "method": "POST",
13049
13052
  "operationId": "personalSmartChargingPreferencesUpdate",
13050
13053
  "summary": "Charge Point / Personal smart charging preferences / Update",
13051
- "description": "Update personal smart charging preferences",
13054
+ "description": "Update personal smart charging preferences. Selecting the `charger_electricity_rate` type assigns the submitted `electricityRateId` to the charge point. Only two payloads remove the charge point's electricity rate, and both are subject to the 409 conflict described below. Sending `preferences.trackElectricityCosts` as `null` or as an empty object on `user_controlled_schedule` dissociates a rate that tracking electricity costs had created, while the request is handled. Leaving the charge point with no dynamic-price integration (`octopus_agile`, `octopus_go`, `nordpool`) while its current rate was created by one unlinks that rate asynchronously, after the response. Switching away from `charger_electricity_rate` to another type, and sending `enabled: false`, both leave the assigned rate in place. The update is rejected with 409 while removing the electricity rate would leave a reimbursement policy that resolves the rate from the charge point without a rate, whether the payload clears `preferences.trackElectricityCosts` or leaves no dynamic-price integration. The whole request is rejected: the submitted preferences are not stored, and the charge point keeps both its electricity rate and the dynamic-price integration the payload would have removed. Submitting `charger_electricity_rate` with a different `electricityRateId` replaces the rate and is allowed. The conflict clears only when the configuration changes: detach the policy, or keep an electricity rate on the charge point.",
13052
13055
  "tags": [
13053
13056
  "resource / charge points"
13054
13057
  ],
@@ -13685,6 +13688,9 @@
13685
13688
  "404": {
13686
13689
  "description": "The record is not found"
13687
13690
  },
13691
+ "409": {
13692
+ "description": "The request could not be completed due to a conflict with the current state of the resource. The operation may succeed if retried."
13693
+ },
13688
13694
  "422": {
13689
13695
  "description": "The payload you provided is invalid"
13690
13696
  },
@@ -19100,7 +19106,7 @@
19100
19106
  "method": "PUT",
19101
19107
  "operationId": "electricityRateUpdateDeprecated",
19102
19108
  "summary": "Electricity rate / Update",
19103
- "description": "Update a Electricity rate",
19109
+ "description": "Update a Electricity rate. The update is rejected with 409 while another process is modifying the same rate; that conflict clears on its own and the request may be retried.",
19104
19110
  "deprecated": true,
19105
19111
  "tags": [
19106
19112
  "resource / electricity rates"
@@ -19309,7 +19315,7 @@
19309
19315
  "method": "DELETE",
19310
19316
  "operationId": "electricityRateDeleteDeprecated",
19311
19317
  "summary": "Electricity rate / Delete",
19312
- "description": "Delete a Electricity rate",
19318
+ "description": "Delete a Electricity rate. Deletion is rejected with 409 while the rate is assigned to a charge point that has a reimbursement policy resolving the rate from the charge point. That conflict clears only when the configuration changes — either the policy is detached or the charge point is assigned another electricity rate; replacing the rate on the charge point is allowed.",
19313
19319
  "deprecated": true,
19314
19320
  "tags": [
19315
19321
  "resource / electricity rates"
@@ -19335,6 +19341,9 @@
19335
19341
  },
19336
19342
  "404": {
19337
19343
  "description": "The record is not found"
19344
+ },
19345
+ "409": {
19346
+ "description": "The request could not be completed due to a conflict with the current state of the resource. The operation may succeed if retried."
19338
19347
  }
19339
19348
  }
19340
19349
  },
@@ -19520,7 +19529,7 @@
19520
19529
  "method": "DELETE",
19521
19530
  "operationId": "electricityRateDelete",
19522
19531
  "summary": "Electricity rate / Delete",
19523
- "description": "Delete a Electricity rate",
19532
+ "description": "Delete a Electricity rate. Deletion is rejected with 409 while the rate is assigned to a charge point that has a reimbursement policy resolving the rate from the charge point. That conflict clears only when the configuration changes — either the policy is detached or the charge point is assigned another electricity rate; replacing the rate on the charge point is allowed.",
19524
19533
  "tags": [
19525
19534
  "resource / electricity rates"
19526
19535
  ],
@@ -19545,6 +19554,9 @@
19545
19554
  },
19546
19555
  "404": {
19547
19556
  "description": "The record is not found"
19557
+ },
19558
+ "409": {
19559
+ "description": "The request could not be completed due to a conflict with the current state of the resource. The operation may succeed if retried."
19548
19560
  }
19549
19561
  }
19550
19562
  },
@@ -19553,7 +19565,7 @@
19553
19565
  "method": "PATCH",
19554
19566
  "operationId": "electricityRateUpdate",
19555
19567
  "summary": "Electricity rate / Update",
19556
- "description": "Update a Electricity rate",
19568
+ "description": "Update a Electricity rate. The update is rejected with 409 while another process is modifying the same rate; that conflict clears on its own and the request may be retried.",
19557
19569
  "tags": [
19558
19570
  "resource / electricity rates"
19559
19571
  ],
@@ -38084,7 +38096,7 @@
38084
38096
  "properties": {
38085
38097
  "policyId": {
38086
38098
  "type": "integer",
38087
- "description": "The home-charging reimbursement policy attached to the invite. Must reference an active policy that belongs to the partner or has no partner. Omitted from the response when no policy is attached."
38099
+ "description": "The home-charging reimbursement policy attached to the invite. Must reference an active policy that belongs to the partner or has no partner. Omitted from the response when no policy is attached. When the policy resolves the electricity rate from the charge point, it is applied only to the invited user's charge points that have an electricity rate assigned. Charge points without one are skipped and the request still succeeds; assign an electricity rate to those charge points and re-apply the policy to cover them."
38088
38100
  },
38089
38101
  "restrictions": {
38090
38102
  "type": "object",
@@ -38283,7 +38295,7 @@
38283
38295
  "policyId": {
38284
38296
  "type": "integer",
38285
38297
  "nullable": true,
38286
- "description": "The home-charging reimbursement policy ID to attach. Must reference an active policy that belongs to the partner or has no partner. Send `null` to detach any policy; omit the field to leave the current value unchanged."
38298
+ "description": "The home-charging reimbursement policy ID to attach. Must reference an active policy that belongs to the partner or has no partner. Send `null` to detach any policy; omit the field to leave the current value unchanged. When the policy resolves the electricity rate from the charge point, it is applied only to the invited user's charge points that have an electricity rate assigned. Charge points without one are skipped and the request still succeeds; assign an electricity rate to those charge points and re-apply the policy to cover them."
38287
38299
  },
38288
38300
  "restrictions": {
38289
38301
  "type": "object",
@@ -40812,6 +40824,33 @@
40812
40824
  "type": "string",
40813
40825
  "description": "The Partner's business name is used when showing the name of the Partner to EV drivers and admin users. If not provided, the `name` will be used instead."
40814
40826
  },
40827
+ "reimbursement": {
40828
+ "type": "object",
40829
+ "properties": {
40830
+ "enabled": {
40831
+ "type": "boolean",
40832
+ "description": "Whether home-charging reimbursement is enabled for the Partner. Disabling it stops future reimbursement for the Partner. The reimbursement policies that are currently active for it remain attached but become ineligible, and the invites attached to them stop producing reimbursement records. Reimbursement records and reports that already exist are not affected."
40833
+ },
40834
+ "payoutMode": {
40835
+ "type": "string",
40836
+ "enum": [
40837
+ "operator_managed",
40838
+ "partner_managed"
40839
+ ],
40840
+ "description": "Determines who pays out the home-charging reimbursement to the drivers: - **operator_managed**: The operator handles the payouts on behalf of the Partner. - **partner_managed**: The Partner handles the payouts to their own drivers."
40841
+ },
40842
+ "cycle": {
40843
+ "type": "string",
40844
+ "enum": [
40845
+ "monthly",
40846
+ "quarterly",
40847
+ "annual"
40848
+ ],
40849
+ "description": "How often the home-charging reimbursement is calculated and reported: - **monthly**: Reimbursement is processed every month. - **quarterly**: Reimbursement is processed every three months. - **annual**: Reimbursement is processed every year."
40850
+ }
40851
+ },
40852
+ "description": "Home-charging reimbursement settings of the Partner. Submitting this object while the home-charging reimbursement feature is disabled for the operator is rejected with a `422` response."
40853
+ },
40815
40854
  "notifications": {
40816
40855
  "type": "object",
40817
40856
  "properties": {
@@ -41840,6 +41879,34 @@
41840
41879
  "type": "string",
41841
41880
  "description": "The Partner's business name is used when showing the name of the Partner to EV drivers and admin users."
41842
41881
  },
41882
+ "reimbursement": {
41883
+ "type": "object",
41884
+ "properties": {
41885
+ "enabled": {
41886
+ "type": "boolean",
41887
+ "description": "Whether home-charging reimbursement is enabled for the Partner. Disabling it stops future reimbursement for the Partner. The reimbursement policies that are currently active for it remain attached but become ineligible, and the invites attached to them stop producing reimbursement records. Reimbursement records and reports that already exist are not affected."
41888
+ },
41889
+ "payoutMode": {
41890
+ "type": "string",
41891
+ "enum": [
41892
+ "operator_managed",
41893
+ "partner_managed"
41894
+ ],
41895
+ "description": "Determines who pays out the home-charging reimbursement to the drivers: - **operator_managed**: The operator handles the payouts on behalf of the Partner. - **partner_managed**: The Partner handles the payouts to their own drivers."
41896
+ },
41897
+ "cycle": {
41898
+ "type": "string",
41899
+ "enum": [
41900
+ "monthly",
41901
+ "quarterly",
41902
+ "annual"
41903
+ ],
41904
+ "nullable": true,
41905
+ "description": "How often the home-charging reimbursement is calculated and reported: - **monthly**: Reimbursement is processed every month. - **quarterly**: Reimbursement is processed every three months. - **annual**: Reimbursement is processed every year."
41906
+ }
41907
+ },
41908
+ "description": "Home-charging reimbursement settings of the Partner. Submitting this object while the home-charging reimbursement feature is disabled for the operator is rejected with a `422` response."
41909
+ },
41843
41910
  "notifications": {
41844
41911
  "type": "object",
41845
41912
  "properties": {
@@ -48580,7 +48647,7 @@
48580
48647
  "policy",
48581
48648
  "charge_point"
48582
48649
  ],
48583
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session: - **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy. - **charge_point**: The rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set."
48650
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session: - **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy. - **charge_point**: The electricity rate assigned to the personal charge point provides the rate, whichever surface assigned it. `electricityRateId` must not be set on the policy."
48584
48651
  }
48585
48652
  }
48586
48653
  }
@@ -48634,7 +48701,7 @@
48634
48701
  "policy",
48635
48702
  "charge_point"
48636
48703
  ],
48637
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session: - **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy. - **charge_point**: The rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set."
48704
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session: - **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy. - **charge_point**: The electricity rate assigned to the personal charge point provides the rate, whichever surface assigned it. `electricityRateId` must not be set on the policy."
48638
48705
  },
48639
48706
  "validityStartsOn": {
48640
48707
  "type": "string",
@@ -48757,7 +48824,7 @@
48757
48824
  "method": "PATCH",
48758
48825
  "operationId": "reimbursementPolicyUpdate",
48759
48826
  "summary": "Reimbursement policy / Update",
48760
- "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. Update a reimbursement policy.",
48827
+ "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. Update a reimbursement policy. The update is rejected with 409 while the requested change conflicts with the rate the policy resolves — selecting the `charge_point` rate source while an attached charge point has no electricity rate. That conflict clears only when the configuration changes: give the charge point a rate, or detach it from the policy. Every other rejection of the request body is reported as 422, keyed by the offending field — malformed or invalid field values, and changing `partnerId` on a policy that is already assigned to partner invites or has active charge point attachments, which returns a `partnerId` validation error rather than a 409. Deactivated attachments do not block the change.",
48761
48828
  "tags": [
48762
48829
  "resource / reimbursement policies"
48763
48830
  ],
@@ -48778,7 +48845,7 @@
48778
48845
  "policy",
48779
48846
  "charge_point"
48780
48847
  ],
48781
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session: - **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy. - **charge_point**: The rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set."
48848
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session: - **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy. - **charge_point**: The electricity rate assigned to the personal charge point provides the rate, whichever surface assigned it. `electricityRateId` must not be set on the policy."
48782
48849
  },
48783
48850
  "validityStartsOn": {
48784
48851
  "type": "string",
@@ -48825,6 +48892,9 @@
48825
48892
  "404": {
48826
48893
  "description": "The record is not found"
48827
48894
  },
48895
+ "409": {
48896
+ "description": "The request could not be completed due to a conflict with the current state of the resource. The operation may succeed if retried."
48897
+ },
48828
48898
  "422": {
48829
48899
  "description": "The payload you provided is invalid"
48830
48900
  },
@@ -51884,6 +51954,11 @@
51884
51954
  "description": "Filter sessions by roaming connection. Accepts one or more roaming connection IDs."
51885
51955
  }
51886
51956
  }
51957
+ },
51958
+ "customFields": {
51959
+ "type": "string",
51960
+ "example": "filter[customFields.invoiceReference]=INV-42",
51961
+ "description": "Filter sessions by custom fields defined for the session resource. Add one literal `customFields.<identifier>` key to the existing `filter` object for each criterion. The identifier suffix is administrator-defined and is not enumerated in this schema. 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. Unknown, inaccessible, tenant-disabled, resource-disabled, deleted, and otherwise unavailable identifiers all return the same non-disclosing `404` response. An active accessible custom field whose filtering is disabled returns `422` with `Custom field \"{identifier}\" is not filterable for resource \"{resource}\".` 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`. 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."
51887
51962
  }
51888
51963
  }
51889
51964
  }
@@ -51928,8 +52003,11 @@
51928
52003
  "403": {
51929
52004
  "description": "You do not have permission to perform the action"
51930
52005
  },
52006
+ "404": {
52007
+ "description": "The requested custom field filter identifier is unavailable"
52008
+ },
51931
52009
  "422": {
51932
- "description": "The payload you provided is invalid"
52010
+ "description": "The request contains invalid criteria, including malformed or non-filterable custom field filters"
51933
52011
  },
51934
52012
  "429": {
51935
52013
  "description": "Too many requests. Please try again later. For more information, please check the rate limit headers X-RateLimit-*"
@@ -52031,7 +52109,7 @@
52031
52109
  "path": "/public-api/resources/sessions/v1.0/{session}",
52032
52110
  "method": "PATCH",
52033
52111
  "operationId": "sessionUpdate",
52034
- "summary": "Session / update custom fields",
52112
+ "summary": "Session / Update",
52035
52113
  "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. Update the applicable custom field values of a session without changing any other session properties.",
52036
52114
  "tags": [
52037
52115
  "resource / sessions"
@@ -71587,7 +71665,7 @@
71587
71665
  ],
71588
71666
  "info": {
71589
71667
  "title": "Public API",
71590
- "version": "3.244.2",
71668
+ "version": "3.245.0",
71591
71669
  "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"
71592
71670
  },
71593
71671
  "servers": [
@@ -71601,18 +71679,18 @@
71601
71679
  }
71602
71680
  }
71603
71681
  ],
71604
- "buildTimestamp": "2026-09-04T13:58:39.395Z",
71682
+ "buildTimestamp": "2026-09-08T11:33:02.856Z",
71605
71683
  "stats": {
71606
71684
  "totalEndpoints": 640,
71607
- "originalSize": 5774967,
71608
- "optimizedSize": 1609217,
71609
- "reductionPercent": 72.13,
71610
- "buildDuration": 1481,
71685
+ "originalSize": 5796134,
71686
+ "optimizedSize": 1619628,
71687
+ "reductionPercent": 72.06,
71688
+ "buildDuration": 1326,
71611
71689
  "responseSchemas": {
71612
71690
  "total": 640,
71613
71691
  "withSchemas": 640,
71614
- "totalSchemaSize": 3295598,
71615
- "averageSchemaSize": 5149
71692
+ "totalSchemaSize": 3303477,
71693
+ "averageSchemaSize": 5162
71616
71694
  }
71617
71695
  }
71618
71696
  }