@ampeco/public-api-mcp 3.246.0 → 3.247.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": 640,
3
- "originalSize": 5825490,
4
- "optimizedSize": 1630992,
5
- "reductionPercent": 72,
6
- "buildDuration": 1752,
3
+ "originalSize": 5828593,
4
+ "optimizedSize": 1631472,
5
+ "reductionPercent": 72.01,
6
+ "buildDuration": 1090,
7
7
  "responseSchemas": {
8
8
  "total": 640,
9
9
  "withSchemas": 640,
10
- "totalSchemaSize": 3315541,
11
- "averageSchemaSize": 5181
10
+ "totalSchemaSize": 3317461,
11
+ "averageSchemaSize": 5184
12
12
  }
13
13
  }
@@ -48645,9 +48645,10 @@
48645
48645
  "type": "string",
48646
48646
  "enum": [
48647
48647
  "policy",
48648
- "charge_point"
48648
+ "charge_point",
48649
+ "integration"
48649
48650
  ],
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."
48651
+ "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. - **integration**: An integration resolves the electricity rate — for example by the charge point's region. The integration and its region-to-rate bindings are configured in the admin panel. `electricityRateId` is not set on the policy."
48651
48652
  }
48652
48653
  }
48653
48654
  }
@@ -48695,14 +48696,6 @@
48695
48696
  "type": "string",
48696
48697
  "maxLength": 255
48697
48698
  },
48698
- "electricityRateSource": {
48699
- "type": "string",
48700
- "enum": [
48701
- "policy",
48702
- "charge_point"
48703
- ],
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."
48705
- },
48706
48699
  "validityStartsOn": {
48707
48700
  "type": "string",
48708
48701
  "format": "date",
@@ -48725,6 +48718,14 @@
48725
48718
  "format": "date",
48726
48719
  "description": "Uses the YYYY-MM-DD date format."
48727
48720
  },
48721
+ "electricityRateSource": {
48722
+ "type": "string",
48723
+ "enum": [
48724
+ "policy",
48725
+ "charge_point"
48726
+ ],
48727
+ "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. The `integration` source is not writable through this API: it cannot be submitted on create or update. Policies using it are configured in the admin panel."
48728
+ },
48728
48729
  "operatorId": {
48729
48730
  "type": "integer",
48730
48731
  "example": 1,
@@ -48791,7 +48792,7 @@
48791
48792
  "method": "DELETE",
48792
48793
  "operationId": "reimbursementPolicyDelete",
48793
48794
  "summary": "Reimbursement policy / Delete",
48794
- "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. Delete a reimbursement policy. Deletion is rejected while the policy is attached to partner invites.",
48795
+ "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. Delete a reimbursement policy. Deletion is rejected only while the policy is attached to partner invites. A policy is deletable whatever its `electricityRateSource` is, `integration` included; the restrictions on submitting `electricityRateSource` are described on the create and update operations and do not apply here.",
48795
48796
  "tags": [
48796
48797
  "resource / reimbursement policies"
48797
48798
  ],
@@ -48824,7 +48825,7 @@
48824
48825
  "method": "PATCH",
48825
48826
  "operationId": "reimbursementPolicyUpdate",
48826
48827
  "summary": "Reimbursement policy / Update",
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.",
48828
+ "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. A policy whose stored `electricityRateSource` is `integration` is updated through this API like any other policy, except that its rate source cannot be changed: a request that submits `electricityRateSource` on such a policy is rejected with 409, because the integration that resolves its rate is configured in the admin panel and the binding could not be restored through this API. Omit `electricityRateSource` to update `name`, the validity dates or the partner scope. 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.",
48828
48829
  "tags": [
48829
48830
  "resource / reimbursement policies"
48830
48831
  ],
@@ -48839,18 +48840,18 @@
48839
48840
  "type": "string",
48840
48841
  "maxLength": 255
48841
48842
  },
48843
+ "validityStartsOn": {
48844
+ "type": "string",
48845
+ "format": "date",
48846
+ "description": "Uses the YYYY-MM-DD date format."
48847
+ },
48842
48848
  "electricityRateSource": {
48843
48849
  "type": "string",
48844
48850
  "enum": [
48845
48851
  "policy",
48846
48852
  "charge_point"
48847
48853
  ],
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."
48849
- },
48850
- "validityStartsOn": {
48851
- "type": "string",
48852
- "format": "date",
48853
- "description": "Uses the YYYY-MM-DD date format."
48854
+ "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. The `integration` source is not writable through this API: it cannot be submitted on create or update. Policies using it are configured in the admin panel."
48854
48855
  },
48855
48856
  "partnerId": {
48856
48857
  "type": "integer",
@@ -67616,7 +67617,7 @@
67616
67617
  "method": "POST",
67617
67618
  "operationId": "paymentMethodCreate",
67618
67619
  "summary": "Payment Method / Create",
67619
- "description": "Initiate a new payment method registration, or finalize it. Note that this is a two step process! # For payment processors with web view integration You will need to initiate a call with no parameters to this endpoint to get a new request to add payment method (Step 1). Then you will have to redirect to an endpoint and wait for the client to enter his credit card details there. Once he/she is done (and reaches the successURL) you must then issue another call to this endpoint with the transactionID that was returned from the first call to finalize the process and retrieve the newly added payment method data (Step 2). ## Step 1 POST with request body, containing `tokenizedType` to determine the type of the method and `bankTransferType` if applicable. This will create a new request to the payment processor for adding a new payment method. As response you will get the `transactionId` to track the payment method registration process, the `redirectUrl` and `successUrl`, to redirect your user to, along with any other attributes that the payment processor requires for tracking. Just pass those additional parameters to Step 2. ### Example request for tokenizedType = card Request: ```json { \"tokenizedType\": \"card\" } ``` ### Example request for tokenizedType = bank_transfer Request: ```json { \"tokenizedType\": \"bank_transfer\", \"bankTransferType\": \"sepa\" } ``` Response: ```json { \"transactionId\": 1234, \"successUrl\": \"http://example.com/payment-processor/success\", \"redirectUrl\": \"http://example.com/payment-processor/web-form/123abc\", \"additionalProcessorArguments\": \"just pass them all top the step 2\" } ``` ## Step 2 POST with request body, containing the `transactionId` along with any other attributes, that were in the response of Step 1 (other then the `transactionId`, `successUrl` and `redirectUrl`). This will finalize the payment method registration and will retrieve the newly added payment method for you. Note that you can also receive the payment methods using the payment methods listing endpoints. ### Example Request: ```json { \"transactionId\": 1234, \"successUrl\": \"http://example.com/payment-processor/success\", \"redirectUrl\": \"http://example.com/payment-processor/web-form/123abc\", \"additionalProcessorArguments\": \"just pass them all top the step 2\" } ``` Response for card: ```json { \"data\": { \"id\": 1234, \"name\": \"**** 1111\", \"type\": \"tokenized\", \"tokenizedType\": \"card\", \"issuer\": \"visa\", \"cardNetwork\": \"visa\", \"cardType\": \"credit\", \"bin\": \"411111\", \"fingerprint\": \"CjhjhUJ7EaIGzKuYpHGTLLsG6pNs5\", \"acquirerName\": \"Worldline\", \"expireYear\": 2026, \"expireMonth\": 5, \"default\": true, } } ``` Response for bank transfer: ```json { \"data\": { \"id\": 1234, \"name\": \"**** 1111\", \"type\": \"tokenized\", \"tokenizedType\": \"bank_transfer\", \"bankTransferType\": \"sepa\", \"issuer\": null, \"expireYear\": null, \"expireMonth\": null, \"default\": true, } } ``` # For payment processors with in-app integration Braintree and Stripe integrations DO NOT count out `redirectUrl` as these processors should have an ip-app integration and therefore the app itself should use the appropriate SDK to complete the credit-card tokenization process with the processor. ## Braintree The first step is not required for braintree as the full integration is done in-app. Step 2 needs to pass the `paymentMethodNonce` so that it can be exchanged for the payment method token. ### Example Step 2 Request: ```json {\"paymentMethodNonce\": \"abc123\"} ``` Response for card: ```json { \"data\": { \"id\": 1234, \"name\": \"**** 1111\", \"type\": \"tokenized\", \"tokenizedType\": \"card\", \"issuer\": \"visa\", \"cardNetwork\": \"visa\", \"cardType\": \"credit\", \"bin\": \"411111\", \"fingerprint\": \"CjhjhUJ7EaIGzKuYpHGTLLsG6pNs5\", \"acquirerName\": \"Worldline\", \"expireYear\": 2026, \"expireMonth\": 5, \"default\": true, } } ``` Response for bank transfer: ```json { \"data\": { \"id\": 1234, \"name\": \"**** 1111\", \"type\": \"tokenized\", \"tokenizedType\": \"bank_transfer\", \"bankTransferType\": \"sepa\", \"issuer\": null, \"expireYear\": null, \"expireMonth\": null, \"default\": true, } } ``` ## Stripe Step 1 with stripe will initialize a setup intent, that your app should complete. You will get the details you need in order to do that from the response of that call. Call step 2 once you have completed the setup intent. ### Example Step 1 - when tokenizing card ```json { \"tokenizedType\": \"card\" } ``` ### Example Step 1 - when tokenizing bank transfer Request: ```json { \"tokenizedType\": \"bank_transfer\", \"bankTransferType\": \"sepa\" } ``` Response: ```json { \"publishableKey\": \"345678986543\", \"clientSecret\": \"jyt37hgsv63\", \"setupIntentReference\": \"1234ABC\" } ``` ### Example Step 2 Request: ```json { \"publishableKey\": \"345678986543\", \"clientSecret\": \"jyt37hgsv63\", \"setupIntentReference\": \"1234ABC\" } ``` Response for card: ```json { \"data\": { \"id\": 1234, \"name\": \"**** 1111\", \"type\": \"tokenized\", \"tokenizedType\": \"card\", \"issuer\": \"visa\", \"cardNetwork\": \"visa\", \"cardType\": \"credit\", \"bin\": \"411111\", \"fingerprint\": \"CjhjhUJ7EaIGzKuYpHGTLLsG6pNs5\", \"acquirerName\": \"Worldline\", \"expireYear\": 2026, \"expireMonth\": 5, \"default\": true, } } ``` Response for bank transfer: ```json { \"data\": { \"id\": 1234, \"name\": \"**** 1111\", \"type\": \"tokenized\", \"tokenizedType\": \"bank_transfer\", \"bankTransferType\": \"sepa\", \"issuer\": null, \"expireYear\": null, \"expireMonth\": null, \"default\": true, } } ```",
67620
+ "description": "Initiate a new payment method registration, or finalize it. Note that this is a two step process! # For payment processors with web view integration You will need to initiate a call with no parameters to this endpoint to get a new request to add payment method (Step 1). Then you will have to redirect to an endpoint and wait for the client to enter his credit card details there. Once he/she is done (and reaches the successURL) you must then issue another call to this endpoint with the transactionID that was returned from the first call to finalize the process and retrieve the newly added payment method data (Step 2). ## Step 1 POST with request body, containing `tokenizedType` to determine the type of the method and `bankTransferType` if applicable. This will create a new request to the payment processor for adding a new payment method. As response you will get the `transactionId` to track the payment method registration process, the `redirectUrl` and `successUrl`, to redirect your user to, along with any other attributes that the payment processor requires for tracking. Just pass those additional parameters to Step 2. ### Example request for tokenizedType = card Request: ```json { \"tokenizedType\": \"card\" } ``` ### Example request for tokenizedType = bank_transfer Request: ```json { \"tokenizedType\": \"bank_transfer\", \"bankTransferType\": \"sepa\" } ``` Response: ```json { \"transactionId\": 1234, \"successUrl\": \"http://example.com/payment-processor/success\", \"redirectUrl\": \"http://example.com/payment-processor/web-form/123abc\", \"additionalProcessorArguments\": \"just pass them all top the step 2\" } ``` ## Step 2 POST with request body, containing the `transactionId` along with any other attributes, that were in the response of Step 1 (other then the `transactionId`, `successUrl` and `redirectUrl`). This will finalize the payment method registration and will retrieve the newly added payment method for you. Note that you can also receive the payment methods using the payment methods listing endpoints. The finalized payment method is returned in a `data` wrapper. Depending on the payment processor, the status is `200` or `201`; the body is the same in both cases. The optional `token` and `registrationTransactionId` properties are omitted when they are not set rather than returned as `null`; the card example includes both properties, while the bank transfer example omits `registrationTransactionId`. ### Example Request: ```json { \"transactionId\": 1234, \"successUrl\": \"http://example.com/payment-processor/success\", \"redirectUrl\": \"http://example.com/payment-processor/web-form/123abc\", \"additionalProcessorArguments\": \"just pass them all top the step 2\" } ``` Response: see the `Step 2 - card payment method` and `Step 2 - bank transfer payment method` response examples. # For payment processors with in-app integration Braintree and Stripe integrations DO NOT count out `redirectUrl` as these processors should have an ip-app integration and therefore the app itself should use the appropriate SDK to complete the credit-card tokenization process with the processor. ## Braintree The first step is not required for braintree as the full integration is done in-app. Step 2 needs to pass the `paymentMethodNonce` so that it can be exchanged for the payment method token. ### Example Step 2 Request: ```json {\"paymentMethodNonce\": \"abc123\"} ``` Response: see the `Step 2 - card payment method` and `Step 2 - bank transfer payment method` response examples. ## Stripe Step 1 with stripe will initialize a setup intent, that your app should complete. You will get the details you need in order to do that from the response of that call. Call step 2 once you have completed the setup intent. ### Example Step 1 - when tokenizing card ```json { \"tokenizedType\": \"card\" } ``` ### Example Step 1 - when tokenizing bank transfer Request: ```json { \"tokenizedType\": \"bank_transfer\", \"bankTransferType\": \"sepa\" } ``` Response: ```json { \"publishableKey\": \"345678986543\", \"clientSecret\": \"jyt37hgsv63\", \"setupIntentReference\": \"1234ABC\" } ``` ### Example Step 2 Request: ```json { \"publishableKey\": \"345678986543\", \"clientSecret\": \"jyt37hgsv63\", \"setupIntentReference\": \"1234ABC\" } ``` Response: see the `Step 2 - card payment method` and `Step 2 - bank transfer payment method` response examples.",
67620
67621
  "tags": [
67621
67622
  "resource / users"
67622
67623
  ],
@@ -67700,10 +67701,10 @@
67700
67701
  },
67701
67702
  "responses": {
67702
67703
  "200": {
67703
- "description": "Request succeeded"
67704
+ "description": "Request succeeded. Step 1 returns one of the shapes below. Depending on the payment processor, step 2 may also return `200` with the finalized payment method body documented under the `201` response."
67704
67705
  },
67705
67706
  "201": {
67706
- "description": "Request succeeded"
67707
+ "description": "The registration created a new payment method. The finalized payment method is returned in a `data` wrapper."
67707
67708
  },
67708
67709
  "401": {
67709
67710
  "description": "Access token is missing or invalid"
@@ -67711,8 +67712,14 @@
67711
67712
  "403": {
67712
67713
  "description": "You do not have permission to perform the action"
67713
67714
  },
67715
+ "404": {
67716
+ "description": "The record is not found"
67717
+ },
67714
67718
  "422": {
67715
67719
  "description": "The payload you provided is invalid or problem with processing the request has occurred"
67720
+ },
67721
+ "429": {
67722
+ "description": "Too many requests. Please try again later. For more information, please check the rate limit headers X-RateLimit-*"
67716
67723
  }
67717
67724
  }
67718
67725
  },
@@ -71921,7 +71928,7 @@
71921
71928
  ],
71922
71929
  "info": {
71923
71930
  "title": "Public API",
71924
- "version": "3.246.0",
71931
+ "version": "3.247.1",
71925
71932
  "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"
71926
71933
  },
71927
71934
  "servers": [
@@ -71935,18 +71942,18 @@
71935
71942
  }
71936
71943
  }
71937
71944
  ],
71938
- "buildTimestamp": "2026-09-09T11:53:44.781Z",
71945
+ "buildTimestamp": "2026-09-10T16:24:08.274Z",
71939
71946
  "stats": {
71940
71947
  "totalEndpoints": 640,
71941
- "originalSize": 5825490,
71942
- "optimizedSize": 1630992,
71943
- "reductionPercent": 72,
71944
- "buildDuration": 1752,
71948
+ "originalSize": 5828593,
71949
+ "optimizedSize": 1631472,
71950
+ "reductionPercent": 72.01,
71951
+ "buildDuration": 1090,
71945
71952
  "responseSchemas": {
71946
71953
  "total": 640,
71947
71954
  "withSchemas": 640,
71948
- "totalSchemaSize": 3315541,
71949
- "averageSchemaSize": 5181
71955
+ "totalSchemaSize": 3317461,
71956
+ "averageSchemaSize": 5184
71950
71957
  }
71951
71958
  }
71952
71959
  }
@@ -9849,11 +9849,12 @@
9849
9849
  "description": "Monetary rate per kWh applied when computing the reimbursement amount, in the record currency. Its origin is given by `electricityRateSource`. Omitted, together with `electricityRateSource`, on records computed before the platform required a resolved rate; such records are no longer produced."
9850
9850
  },
9851
9851
  "electricityRateSource": {
9852
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n",
9852
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n- **integration**: An integration resolves the electricity rate — for example by the charge point's region. The integration and its region-to-rate bindings are configured in the admin panel. `electricityRateId` is not set on the policy.\n",
9853
9853
  "type": "string",
9854
9854
  "enum": [
9855
9855
  "policy",
9856
- "charge_point"
9856
+ "charge_point",
9857
+ "integration"
9857
9858
  ]
9858
9859
  },
9859
9860
  "taxBasis": {
@@ -115974,14 +115975,6 @@
115974
115975
  "type": "string",
115975
115976
  "maxLength": 255
115976
115977
  },
115977
- "electricityRateSource": {
115978
- "type": "string",
115979
- "enum": [
115980
- "policy",
115981
- "charge_point"
115982
- ],
115983
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n"
115984
- },
115985
115978
  "validityStartsOn": {
115986
115979
  "description": "Uses the YYYY-MM-DD date format.",
115987
115980
  "type": "string",
@@ -116004,6 +115997,15 @@
116004
115997
  "type": "string",
116005
115998
  "format": "date"
116006
115999
  },
116000
+ "electricityRateSource": {
116001
+ "type": "string",
116002
+ "enum": [
116003
+ "policy",
116004
+ "charge_point",
116005
+ "integration"
116006
+ ],
116007
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n- **integration**: An integration resolves the electricity rate — for example by the charge point's region. The integration and its region-to-rate bindings are configured in the admin panel. `electricityRateId` is not set on the policy.\n"
116008
+ },
116007
116009
  "id": {
116008
116010
  "type": "integer",
116009
116011
  "readOnly": true
@@ -116163,14 +116165,6 @@
116163
116165
  "type": "string",
116164
116166
  "maxLength": 255
116165
116167
  },
116166
- "electricityRateSource": {
116167
- "type": "string",
116168
- "enum": [
116169
- "policy",
116170
- "charge_point"
116171
- ],
116172
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n"
116173
- },
116174
116168
  "validityStartsOn": {
116175
116169
  "description": "Uses the YYYY-MM-DD date format.",
116176
116170
  "type": "string",
@@ -116193,6 +116187,15 @@
116193
116187
  "type": "string",
116194
116188
  "format": "date"
116195
116189
  },
116190
+ "electricityRateSource": {
116191
+ "type": "string",
116192
+ "enum": [
116193
+ "policy",
116194
+ "charge_point",
116195
+ "integration"
116196
+ ],
116197
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n- **integration**: An integration resolves the electricity rate — for example by the charge point's region. The integration and its region-to-rate bindings are configured in the admin panel. `electricityRateId` is not set on the policy.\n"
116198
+ },
116196
116199
  "id": {
116197
116200
  "type": "integer",
116198
116201
  "readOnly": true
@@ -116293,14 +116296,6 @@
116293
116296
  "type": "string",
116294
116297
  "maxLength": 255
116295
116298
  },
116296
- "electricityRateSource": {
116297
- "type": "string",
116298
- "enum": [
116299
- "policy",
116300
- "charge_point"
116301
- ],
116302
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n"
116303
- },
116304
116299
  "validityStartsOn": {
116305
116300
  "description": "Uses the YYYY-MM-DD date format.",
116306
116301
  "type": "string",
@@ -116323,6 +116318,15 @@
116323
116318
  "type": "string",
116324
116319
  "format": "date"
116325
116320
  },
116321
+ "electricityRateSource": {
116322
+ "type": "string",
116323
+ "enum": [
116324
+ "policy",
116325
+ "charge_point",
116326
+ "integration"
116327
+ ],
116328
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n- **integration**: An integration resolves the electricity rate — for example by the charge point's region. The integration and its region-to-rate bindings are configured in the admin panel. `electricityRateId` is not set on the policy.\n"
116329
+ },
116326
116330
  "id": {
116327
116331
  "type": "integer",
116328
116332
  "readOnly": true
@@ -116486,14 +116490,6 @@
116486
116490
  "type": "string",
116487
116491
  "maxLength": 255
116488
116492
  },
116489
- "electricityRateSource": {
116490
- "type": "string",
116491
- "enum": [
116492
- "policy",
116493
- "charge_point"
116494
- ],
116495
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n"
116496
- },
116497
116493
  "validityStartsOn": {
116498
116494
  "description": "Uses the YYYY-MM-DD date format.",
116499
116495
  "type": "string",
@@ -116516,6 +116512,15 @@
116516
116512
  "type": "string",
116517
116513
  "format": "date"
116518
116514
  },
116515
+ "electricityRateSource": {
116516
+ "type": "string",
116517
+ "enum": [
116518
+ "policy",
116519
+ "charge_point",
116520
+ "integration"
116521
+ ],
116522
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n- **integration**: An integration resolves the electricity rate — for example by the charge point's region. The integration and its region-to-rate bindings are configured in the admin panel. `electricityRateId` is not set on the policy.\n"
116523
+ },
116519
116524
  "id": {
116520
116525
  "type": "integer",
116521
116526
  "readOnly": true
@@ -116680,11 +116685,12 @@
116680
116685
  "description": "Monetary rate per kWh applied when computing the reimbursement amount, in the record currency. Its origin is given by `electricityRateSource`. Omitted, together with `electricityRateSource`, on records computed before the platform required a resolved rate; such records are no longer produced."
116681
116686
  },
116682
116687
  "electricityRateSource": {
116683
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n",
116688
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n- **integration**: An integration resolves the electricity rate — for example by the charge point's region. The integration and its region-to-rate bindings are configured in the admin panel. `electricityRateId` is not set on the policy.\n",
116684
116689
  "type": "string",
116685
116690
  "enum": [
116686
116691
  "policy",
116687
- "charge_point"
116692
+ "charge_point",
116693
+ "integration"
116688
116694
  ]
116689
116695
  },
116690
116696
  "taxBasis": {
@@ -117144,11 +117150,12 @@
117144
117150
  "description": "Monetary rate per kWh applied when computing the reimbursement amount, in the record currency. Its origin is given by `electricityRateSource`. Omitted, together with `electricityRateSource`, on records computed before the platform required a resolved rate; such records are no longer produced."
117145
117151
  },
117146
117152
  "electricityRateSource": {
117147
- "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n",
117153
+ "description": "Origin of the per-kWh rate used to reimburse a home-charging session:\n- **policy**: The electricity rate linked to the policy provides the rate. `electricityRateId` is required and must belong to the same operator as the policy.\n- **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.\n- **integration**: An integration resolves the electricity rate — for example by the charge point's region. The integration and its region-to-rate bindings are configured in the admin panel. `electricityRateId` is not set on the policy.\n",
117148
117154
  "type": "string",
117149
117155
  "enum": [
117150
117156
  "policy",
117151
- "charge_point"
117157
+ "charge_point",
117158
+ "integration"
117152
117159
  ]
117153
117160
  },
117154
117161
  "taxBasis": {
@@ -169556,6 +169563,16 @@
169556
169563
  }
169557
169564
  }
169558
169565
  },
169566
+ "404": {
169567
+ "schema": {
169568
+ "type": "object",
169569
+ "properties": {
169570
+ "message": {
169571
+ "type": "string"
169572
+ }
169573
+ }
169574
+ }
169575
+ },
169559
169576
  "422": {
169560
169577
  "schema": {
169561
169578
  "type": "object",
@@ -169578,6 +169595,16 @@
169578
169595
  }
169579
169596
  }
169580
169597
  }
169598
+ },
169599
+ "429": {
169600
+ "schema": {
169601
+ "type": "object",
169602
+ "properties": {
169603
+ "message": {
169604
+ "type": "string"
169605
+ }
169606
+ }
169607
+ }
169581
169608
  }
169582
169609
  },
169583
169610
  "paymentMethodRead": {
@@ -17181,17 +17181,17 @@ export declare const updatePcIdBody: z.ZodObject<{
17181
17181
  }>;
17182
17182
  export declare const reimbursementPolicyCreateBody: z.ZodObject<{
17183
17183
  name: z.ZodString;
17184
- electricityRateSource: z.ZodEnum<["policy", "charge_point"]>;
17185
17184
  validityStartsOn: z.ZodString;
17186
17185
  partnerId: z.ZodOptional<z.ZodNumber>;
17187
17186
  partnerContractId: z.ZodOptional<z.ZodNumber>;
17188
17187
  electricityRateId: z.ZodOptional<z.ZodNumber>;
17189
17188
  validityEndsOn: z.ZodOptional<z.ZodString>;
17189
+ electricityRateSource: z.ZodEnum<["policy", "charge_point"]>;
17190
17190
  operatorId: z.ZodOptional<z.ZodNumber>;
17191
17191
  }, "strip", z.ZodTypeAny, {
17192
17192
  name: string;
17193
- electricityRateSource: "policy" | "charge_point";
17194
17193
  validityStartsOn: string;
17194
+ electricityRateSource: "policy" | "charge_point";
17195
17195
  operatorId?: number | undefined;
17196
17196
  partnerId?: number | undefined;
17197
17197
  electricityRateId?: number | undefined;
@@ -17199,8 +17199,8 @@ export declare const reimbursementPolicyCreateBody: z.ZodObject<{
17199
17199
  validityEndsOn?: string | undefined;
17200
17200
  }, {
17201
17201
  name: string;
17202
- electricityRateSource: "policy" | "charge_point";
17203
17202
  validityStartsOn: string;
17203
+ electricityRateSource: "policy" | "charge_point";
17204
17204
  operatorId?: number | undefined;
17205
17205
  partnerId?: number | undefined;
17206
17206
  electricityRateId?: number | undefined;
@@ -17209,8 +17209,8 @@ export declare const reimbursementPolicyCreateBody: z.ZodObject<{
17209
17209
  }>;
17210
17210
  export declare const reimbursementPolicyUpdateBody: z.ZodObject<{
17211
17211
  name: z.ZodOptional<z.ZodString>;
17212
- electricityRateSource: z.ZodOptional<z.ZodEnum<["policy", "charge_point"]>>;
17213
17212
  validityStartsOn: z.ZodOptional<z.ZodString>;
17213
+ electricityRateSource: z.ZodOptional<z.ZodEnum<["policy", "charge_point"]>>;
17214
17214
  partnerId: z.ZodOptional<z.ZodNumber>;
17215
17215
  partnerContractId: z.ZodOptional<z.ZodNumber>;
17216
17216
  electricityRateId: z.ZodOptional<z.ZodNumber>;
@@ -17219,18 +17219,18 @@ export declare const reimbursementPolicyUpdateBody: z.ZodObject<{
17219
17219
  name?: string | undefined;
17220
17220
  partnerId?: number | undefined;
17221
17221
  electricityRateId?: number | undefined;
17222
- electricityRateSource?: "policy" | "charge_point" | undefined;
17223
17222
  validityStartsOn?: string | undefined;
17224
17223
  partnerContractId?: number | undefined;
17225
17224
  validityEndsOn?: string | undefined;
17225
+ electricityRateSource?: "policy" | "charge_point" | undefined;
17226
17226
  }, {
17227
17227
  name?: string | undefined;
17228
17228
  partnerId?: number | undefined;
17229
17229
  electricityRateId?: number | undefined;
17230
- electricityRateSource?: "policy" | "charge_point" | undefined;
17231
17230
  validityStartsOn?: string | undefined;
17232
17231
  partnerContractId?: number | undefined;
17233
17232
  validityEndsOn?: string | undefined;
17233
+ electricityRateSource?: "policy" | "charge_point" | undefined;
17234
17234
  }>;
17235
17235
  export declare const rfidTagCreateDeprecatedBody: z.ZodObject<{
17236
17236
  id: z.ZodOptional<z.ZodNumber>;
@@ -4539,12 +4539,12 @@ export const updatePcIdBody = z.object({
4539
4539
  // POST /public-api/resources/reimbursement-policies/v1.0
4540
4540
  export const reimbursementPolicyCreateBody = z.object({
4541
4541
  name: z.string().max(255),
4542
- electricityRateSource: z.enum(["policy", "charge_point"]),
4543
4542
  validityStartsOn: z.string(),
4544
4543
  partnerId: z.number().int().optional(),
4545
4544
  partnerContractId: z.number().int().optional(),
4546
4545
  electricityRateId: z.number().int().optional(),
4547
4546
  validityEndsOn: z.string().optional(),
4547
+ electricityRateSource: z.enum(["policy", "charge_point"]),
4548
4548
  operatorId: z.number().int().optional()
4549
4549
  });
4550
4550
  // GET /public-api/resources/reimbursement-policies/v1.0/{reimbursementPolicy}
@@ -4552,8 +4552,8 @@ export const reimbursementPolicyCreateBody = z.object({
4552
4552
  // PATCH /public-api/resources/reimbursement-policies/v1.0/{reimbursementPolicy}
4553
4553
  export const reimbursementPolicyUpdateBody = z.object({
4554
4554
  name: z.string().max(255).optional(),
4555
- electricityRateSource: z.enum(["policy", "charge_point"]).optional(),
4556
4555
  validityStartsOn: z.string().optional(),
4556
+ electricityRateSource: z.enum(["policy", "charge_point"]).optional(),
4557
4557
  partnerId: z.number().int().optional(),
4558
4558
  partnerContractId: z.number().int().optional(),
4559
4559
  electricityRateId: z.number().int().optional(),