@ampeco/public-api-mcp 3.232.1 → 3.234.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.
@@ -5601,6 +5601,16 @@
5601
5601
  "format": "date",
5602
5602
  "description": "Date by which the partner invoice must be paid. Equal to the issued date when payment terms are \"Due on receipt\"."
5603
5603
  },
5604
+ "periodStartsOn": {
5605
+ "type": "string",
5606
+ "format": "date",
5607
+ "description": "First date of the billing period captured when the partner invoice was issued. Present only when the complete period is available."
5608
+ },
5609
+ "periodEndsOn": {
5610
+ "type": "string",
5611
+ "format": "date",
5612
+ "description": "Last date of the billing period captured when the partner invoice was issued. Present only when the complete period is available."
5613
+ },
5604
5614
  "paymentTermsDays": {
5605
5615
  "type": "integer",
5606
5616
  "description": "Number of days the party has to pay after the invoice is issued. `0` represents \"Due on receipt\". Snapshotted at generation time."
@@ -6778,6 +6788,16 @@
6778
6788
  "format": "date",
6779
6789
  "description": "Date by which the partner invoice must be paid. Equal to the issued date when payment terms are \"Due on receipt\"."
6780
6790
  },
6791
+ "periodStartsOn": {
6792
+ "type": "string",
6793
+ "format": "date",
6794
+ "description": "First date of the billing period captured when the partner invoice was issued. Present only when the complete period is available."
6795
+ },
6796
+ "periodEndsOn": {
6797
+ "type": "string",
6798
+ "format": "date",
6799
+ "description": "Last date of the billing period captured when the partner invoice was issued. Present only when the complete period is available."
6800
+ },
6781
6801
  "paymentTermsDays": {
6782
6802
  "type": "integer",
6783
6803
  "description": "Number of days the party has to pay after the invoice is issued. `0` represents \"Due on receipt\". Snapshotted at generation time."
@@ -9779,7 +9799,475 @@
9779
9799
  }
9780
9800
  }
9781
9801
  },
9782
- "reservationCancel": {
9802
+ "reimbursementRecordIssueCredit": {
9803
+ "201": {
9804
+ "schema": {
9805
+ "type": "object",
9806
+ "properties": {
9807
+ "data": {
9808
+ "description": "Reimbursement record read schema. A record is one immutable computed reimbursement entry for a single charging session, and has no write surface. Reversing (credit) records are records too — they carry negated amounts and point at the record they reverse.\n",
9809
+ "type": "object",
9810
+ "properties": {
9811
+ "id": {
9812
+ "type": "integer",
9813
+ "readOnly": true,
9814
+ "description": "Identifier of this reimbursement record."
9815
+ },
9816
+ "operatorId": {
9817
+ "type": "integer",
9818
+ "description": "Operator the record belongs to, as exposed by the operators resource."
9819
+ },
9820
+ "sessionId": {
9821
+ "type": "integer",
9822
+ "description": "Charging session the reimbursement was computed for, as exposed by the sessions resource. Reversing (credit) records repeat the reversed record's session."
9823
+ },
9824
+ "beneficiary": {
9825
+ "description": "Party the reimbursement is owed to.\n",
9826
+ "type": "object",
9827
+ "properties": {
9828
+ "userId": {
9829
+ "type": "integer",
9830
+ "description": "User the reimbursement is owed to, as exposed by the users resource."
9831
+ }
9832
+ }
9833
+ },
9834
+ "payer": {
9835
+ "description": "Party that owes the reimbursement. Company reimbursements carry `partnerId` (and `partnerContractId` when the payment is governed by a partner contract); public reimbursements carry `operatorId`.\n",
9836
+ "type": "object",
9837
+ "properties": {
9838
+ "partnerId": {
9839
+ "type": "integer",
9840
+ "description": "Partner paying the reimbursement. Present on company reimbursements."
9841
+ },
9842
+ "partnerContractId": {
9843
+ "type": "integer",
9844
+ "description": "Partner contract the reimbursement is settled under. Present when the paying partner has a contract."
9845
+ },
9846
+ "operatorId": {
9847
+ "type": "integer",
9848
+ "description": "Operator paying the reimbursement. Present on public reimbursements."
9849
+ }
9850
+ }
9851
+ },
9852
+ "reimbursementPolicyId": {
9853
+ "type": "integer",
9854
+ "description": "Reimbursement policy whose terms were applied when the amount was computed. Omitted when no policy governed the session."
9855
+ },
9856
+ "energy": {
9857
+ "type": "integer",
9858
+ "description": "Reimbursed energy in Wh."
9859
+ },
9860
+ "rate": {
9861
+ "type": "number",
9862
+ "format": "float",
9863
+ "description": "Monetary rate per kWh applied when computing the reimbursement amount, in the record currency. Its origin is given by `electricityRateSource`. Omitted when no rate could be resolved."
9864
+ },
9865
+ "electricityRateSource": {
9866
+ "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 rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set.\n",
9867
+ "type": "string",
9868
+ "enum": [
9869
+ "policy",
9870
+ "charge_point"
9871
+ ]
9872
+ },
9873
+ "taxBasis": {
9874
+ "description": "How tax was applied when the reimbursement amount was computed:\n- **exempt**: No tax was applied. The amount is identical with and without tax.\n- **percentage**: Tax was applied as a percentage of the net amount — see `taxPercentage`.\n- **flat_amount**: Tax was applied as a fixed amount per record, independent of the reimbursed energy.\n- **compound**: Tax was applied as a combination of a percentage and a fixed component.\n",
9875
+ "type": "string",
9876
+ "enum": [
9877
+ "exempt",
9878
+ "percentage",
9879
+ "flat_amount",
9880
+ "compound"
9881
+ ]
9882
+ },
9883
+ "taxPercentage": {
9884
+ "type": "number",
9885
+ "format": "float",
9886
+ "description": "Tax percentage applied to the reimbursement amount. Present when the applied `taxBasis` carries a percentage component; omitted when no tax percentage could be resolved."
9887
+ },
9888
+ "amount": {
9889
+ "description": "Reimbursement amount, split by tax inclusion. Reversing (credit) records carry negated amounts.",
9890
+ "type": "object",
9891
+ "properties": {
9892
+ "withTax": {
9893
+ "type": "number"
9894
+ },
9895
+ "withoutTax": {
9896
+ "type": "number"
9897
+ }
9898
+ },
9899
+ "required": [
9900
+ "withTax"
9901
+ ]
9902
+ },
9903
+ "currency": {
9904
+ "description": "ISO 4217 currency code for the record's monetary amounts.",
9905
+ "type": "string",
9906
+ "enum": [
9907
+ "AED",
9908
+ "AFN",
9909
+ "ALL",
9910
+ "AMD",
9911
+ "ANG",
9912
+ "AOA",
9913
+ "ARS",
9914
+ "AUD",
9915
+ "AWG",
9916
+ "AZN",
9917
+ "BAM",
9918
+ "BBD",
9919
+ "BDT",
9920
+ "BGN",
9921
+ "BHD",
9922
+ "BIF",
9923
+ "BMD",
9924
+ "BND",
9925
+ "BOB",
9926
+ "BOV",
9927
+ "BRL",
9928
+ "BSD",
9929
+ "BTN",
9930
+ "BWP",
9931
+ "BYN",
9932
+ "BZD",
9933
+ "CAD",
9934
+ "CDF",
9935
+ "CHE",
9936
+ "CHF",
9937
+ "CHW",
9938
+ "CLF",
9939
+ "CLP",
9940
+ "CNY",
9941
+ "COP",
9942
+ "COU",
9943
+ "CRC",
9944
+ "CUC",
9945
+ "CUP",
9946
+ "CVE",
9947
+ "CZK",
9948
+ "DJF",
9949
+ "DKK",
9950
+ "DOP",
9951
+ "DZD",
9952
+ "EGP",
9953
+ "ERN",
9954
+ "ETB",
9955
+ "EUR",
9956
+ "FJD",
9957
+ "FKP",
9958
+ "GBP",
9959
+ "GEL",
9960
+ "GHS",
9961
+ "GIP",
9962
+ "GMD",
9963
+ "GNF",
9964
+ "GTQ",
9965
+ "GYD",
9966
+ "HKD",
9967
+ "HNL",
9968
+ "HRK",
9969
+ "HTG",
9970
+ "HUF",
9971
+ "IDR",
9972
+ "ILS",
9973
+ "INR",
9974
+ "IQD",
9975
+ "IRR",
9976
+ "ISK",
9977
+ "JMD",
9978
+ "JOD",
9979
+ "JPY",
9980
+ "KES",
9981
+ "KGS",
9982
+ "KHR",
9983
+ "KMF",
9984
+ "KPW",
9985
+ "KRW",
9986
+ "KWD",
9987
+ "KYD",
9988
+ "KZT",
9989
+ "LAK",
9990
+ "LBP",
9991
+ "LKR",
9992
+ "LRD",
9993
+ "LSL",
9994
+ "LYD",
9995
+ "MAD",
9996
+ "MDL",
9997
+ "MGA",
9998
+ "MKD",
9999
+ "MMK",
10000
+ "MNT",
10001
+ "MOP",
10002
+ "MRU",
10003
+ "MUR",
10004
+ "MVR",
10005
+ "MWK",
10006
+ "MXN",
10007
+ "MXV",
10008
+ "MYR",
10009
+ "MZN",
10010
+ "NAD",
10011
+ "NGN",
10012
+ "NIO",
10013
+ "NOK",
10014
+ "NPR",
10015
+ "NZD",
10016
+ "OMR",
10017
+ "PAB",
10018
+ "PEN",
10019
+ "PGK",
10020
+ "PHP",
10021
+ "PKR",
10022
+ "PLN",
10023
+ "PYG",
10024
+ "QAR",
10025
+ "RON",
10026
+ "RSD",
10027
+ "RUB",
10028
+ "RWF",
10029
+ "SAR",
10030
+ "SBD",
10031
+ "SCR",
10032
+ "SDG",
10033
+ "SEK",
10034
+ "SGD",
10035
+ "SHP",
10036
+ "SLL",
10037
+ "SOS",
10038
+ "SRD",
10039
+ "SSP",
10040
+ "STN",
10041
+ "SVC",
10042
+ "SYP",
10043
+ "SZL",
10044
+ "THB",
10045
+ "TJS",
10046
+ "TMT",
10047
+ "TND",
10048
+ "TOP",
10049
+ "TRY",
10050
+ "TTD",
10051
+ "TWD",
10052
+ "TZS",
10053
+ "UAH",
10054
+ "UGX",
10055
+ "USD",
10056
+ "USN",
10057
+ "UYI",
10058
+ "UYU",
10059
+ "UYW",
10060
+ "UZS",
10061
+ "VES",
10062
+ "VND",
10063
+ "VUV",
10064
+ "WST",
10065
+ "XAF",
10066
+ "XAG",
10067
+ "XAU",
10068
+ "XBA",
10069
+ "XBB",
10070
+ "XBC",
10071
+ "XBD",
10072
+ "XCD",
10073
+ "XDR",
10074
+ "XOF",
10075
+ "XPD",
10076
+ "XPF",
10077
+ "XPT",
10078
+ "XSU",
10079
+ "XTS",
10080
+ "XUA",
10081
+ "XXX",
10082
+ "YER",
10083
+ "ZAR",
10084
+ "ZMW",
10085
+ "ZWL"
10086
+ ]
10087
+ },
10088
+ "periodStartsOn": {
10089
+ "description": "Uses the YYYY-MM-DD date format.",
10090
+ "type": "string",
10091
+ "format": "date"
10092
+ },
10093
+ "periodEndsOn": {
10094
+ "description": "Uses the YYYY-MM-DD date format.",
10095
+ "type": "string",
10096
+ "format": "date"
10097
+ },
10098
+ "credit": {
10099
+ "description": "Reversal this record carries out. Present only on reversing (credit) records.\n",
10100
+ "type": "object",
10101
+ "properties": {
10102
+ "reimbursementRecordId": {
10103
+ "type": "integer",
10104
+ "description": "Reimbursement record this record reverses, as exposed by this same resource."
10105
+ },
10106
+ "reason": {
10107
+ "type": "string",
10108
+ "description": "Reason the reversal was issued, as supplied when the credit was requested."
10109
+ }
10110
+ }
10111
+ },
10112
+ "creditedByReimbursementRecordId": {
10113
+ "type": "integer",
10114
+ "description": "Reversing (credit) record that reverses this record, as exposed by this same resource. Omitted when this record has not been reversed."
10115
+ },
10116
+ "authUserId": {
10117
+ "type": "integer",
10118
+ "description": "User whose credential authorized the charging session, as exposed by the users resource. `effectiveUserId` differs from it when the session's vehicle belongs to the charge point owner and the reimbursement was attributed to that owner instead."
10119
+ },
10120
+ "effectiveUserId": {
10121
+ "type": "integer",
10122
+ "description": "User the session was attributed to for reimbursement purposes, as exposed by the users resource. Equal to `beneficiary.userId` on company reimbursements; on public reimbursements the beneficiary is the charge point owner while the effective user is the driver."
10123
+ },
10124
+ "createdAt": {
10125
+ "type": "string",
10126
+ "format": "date-time",
10127
+ "description": "ISO 8601 formatted date",
10128
+ "readOnly": true
10129
+ },
10130
+ "updatedAt": {
10131
+ "type": "string",
10132
+ "format": "date-time",
10133
+ "description": "ISO 8601 formatted date",
10134
+ "readOnly": true
10135
+ }
10136
+ },
10137
+ "required": [
10138
+ "id",
10139
+ "operatorId",
10140
+ "sessionId",
10141
+ "energy",
10142
+ "taxBasis",
10143
+ "amount",
10144
+ "periodStartsOn",
10145
+ "periodEndsOn",
10146
+ "createdAt",
10147
+ "updatedAt"
10148
+ ]
10149
+ }
10150
+ }
10151
+ }
10152
+ },
10153
+ "401": {
10154
+ "schema": {
10155
+ "type": "object",
10156
+ "properties": {
10157
+ "message": {
10158
+ "type": "string"
10159
+ }
10160
+ }
10161
+ }
10162
+ },
10163
+ "403": {
10164
+ "schema": {
10165
+ "type": "object",
10166
+ "properties": {
10167
+ "message": {
10168
+ "type": "string",
10169
+ "default": "This action is unauthorized."
10170
+ }
10171
+ }
10172
+ }
10173
+ },
10174
+ "404": {
10175
+ "schema": {
10176
+ "type": "object",
10177
+ "properties": {
10178
+ "message": {
10179
+ "type": "string"
10180
+ }
10181
+ }
10182
+ }
10183
+ },
10184
+ "409": {
10185
+ "schema": {
10186
+ "type": "object",
10187
+ "properties": {
10188
+ "message": {
10189
+ "type": "string"
10190
+ }
10191
+ }
10192
+ }
10193
+ },
10194
+ "422": {
10195
+ "schema": {
10196
+ "type": "object",
10197
+ "required": [
10198
+ "message"
10199
+ ],
10200
+ "properties": {
10201
+ "message": {
10202
+ "type": "string"
10203
+ },
10204
+ "errors": {
10205
+ "type": "object",
10206
+ "additionalProperties": {
10207
+ "type": "array",
10208
+ "items": {
10209
+ "type": "string"
10210
+ }
10211
+ }
10212
+ }
10213
+ }
10214
+ }
10215
+ },
10216
+ "429": {
10217
+ "schema": {
10218
+ "type": "object",
10219
+ "properties": {
10220
+ "message": {
10221
+ "type": "string"
10222
+ }
10223
+ }
10224
+ }
10225
+ }
10226
+ },
10227
+ "reimbursementReportRegenerate": {
10228
+ "401": {
10229
+ "schema": {
10230
+ "type": "object",
10231
+ "properties": {
10232
+ "message": {
10233
+ "type": "string"
10234
+ }
10235
+ }
10236
+ }
10237
+ },
10238
+ "403": {
10239
+ "schema": {
10240
+ "type": "object",
10241
+ "properties": {
10242
+ "message": {
10243
+ "type": "string",
10244
+ "default": "This action is unauthorized."
10245
+ }
10246
+ }
10247
+ }
10248
+ },
10249
+ "404": {
10250
+ "schema": {
10251
+ "type": "object",
10252
+ "properties": {
10253
+ "message": {
10254
+ "type": "string"
10255
+ }
10256
+ }
10257
+ }
10258
+ },
10259
+ "429": {
10260
+ "schema": {
10261
+ "type": "object",
10262
+ "properties": {
10263
+ "message": {
10264
+ "type": "string"
10265
+ }
10266
+ }
10267
+ }
10268
+ }
10269
+ },
10270
+ "reservationCancel": {
9783
10271
  "401": {
9784
10272
  "schema": {
9785
10273
  "type": "object",
@@ -77772,6 +78260,24 @@
77772
78260
  }
77773
78261
  }
77774
78262
  },
78263
+ "reimbursementFees": {
78264
+ "type": "object",
78265
+ "description": "Home-charging reimbursement fees configured on the contract itself and charged to the partner for reimbursed charging sessions and reimbursement periods. Only available when the home-charging reimbursement feature is enabled for the operator. All other home-charging reimbursement settings are managed on the partner resource.\n",
78266
+ "properties": {
78267
+ "perSession": {
78268
+ "type": "number",
78269
+ "format": "float",
78270
+ "minimum": 0,
78271
+ "description": "Flat fee charged for every reimbursed charging session, in the contract's currency."
78272
+ },
78273
+ "perPeriod": {
78274
+ "type": "number",
78275
+ "format": "float",
78276
+ "minimum": 0,
78277
+ "description": "Flat fee charged for every reimbursement period, in the contract's currency."
78278
+ }
78279
+ }
78280
+ },
77775
78281
  "lastUpdatedAt": {
77776
78282
  "type": "string",
77777
78283
  "format": "date-time",
@@ -78101,6 +78607,24 @@
78101
78607
  }
78102
78608
  }
78103
78609
  },
78610
+ "reimbursementFees": {
78611
+ "type": "object",
78612
+ "description": "Home-charging reimbursement fees configured on the contract itself and charged to the partner for reimbursed charging sessions and reimbursement periods. Only available when the home-charging reimbursement feature is enabled for the operator. All other home-charging reimbursement settings are managed on the partner resource.\n",
78613
+ "properties": {
78614
+ "perSession": {
78615
+ "type": "number",
78616
+ "format": "float",
78617
+ "minimum": 0,
78618
+ "description": "Flat fee charged for every reimbursed charging session, in the contract's currency."
78619
+ },
78620
+ "perPeriod": {
78621
+ "type": "number",
78622
+ "format": "float",
78623
+ "minimum": 0,
78624
+ "description": "Flat fee charged for every reimbursement period, in the contract's currency."
78625
+ }
78626
+ }
78627
+ },
78104
78628
  "lastUpdatedAt": {
78105
78629
  "type": "string",
78106
78630
  "format": "date-time",
@@ -78337,6 +78861,24 @@
78337
78861
  }
78338
78862
  }
78339
78863
  },
78864
+ "reimbursementFees": {
78865
+ "type": "object",
78866
+ "description": "Home-charging reimbursement fees configured on the contract itself and charged to the partner for reimbursed charging sessions and reimbursement periods. Only available when the home-charging reimbursement feature is enabled for the operator. All other home-charging reimbursement settings are managed on the partner resource.\n",
78867
+ "properties": {
78868
+ "perSession": {
78869
+ "type": "number",
78870
+ "format": "float",
78871
+ "minimum": 0,
78872
+ "description": "Flat fee charged for every reimbursed charging session, in the contract's currency."
78873
+ },
78874
+ "perPeriod": {
78875
+ "type": "number",
78876
+ "format": "float",
78877
+ "minimum": 0,
78878
+ "description": "Flat fee charged for every reimbursement period, in the contract's currency."
78879
+ }
78880
+ }
78881
+ },
78340
78882
  "lastUpdatedAt": {
78341
78883
  "type": "string",
78342
78884
  "format": "date-time",
@@ -78561,6 +79103,24 @@
78561
79103
  }
78562
79104
  }
78563
79105
  },
79106
+ "reimbursementFees": {
79107
+ "type": "object",
79108
+ "description": "Home-charging reimbursement fees configured on the contract itself and charged to the partner for reimbursed charging sessions and reimbursement periods. Only available when the home-charging reimbursement feature is enabled for the operator. All other home-charging reimbursement settings are managed on the partner resource.\n",
79109
+ "properties": {
79110
+ "perSession": {
79111
+ "type": "number",
79112
+ "format": "float",
79113
+ "minimum": 0,
79114
+ "description": "Flat fee charged for every reimbursed charging session, in the contract's currency."
79115
+ },
79116
+ "perPeriod": {
79117
+ "type": "number",
79118
+ "format": "float",
79119
+ "minimum": 0,
79120
+ "description": "Flat fee charged for every reimbursement period, in the contract's currency."
79121
+ }
79122
+ }
79123
+ },
78564
79124
  "lastUpdatedAt": {
78565
79125
  "type": "string",
78566
79126
  "format": "date-time",
@@ -78830,6 +79390,24 @@
78830
79390
  }
78831
79391
  }
78832
79392
  },
79393
+ "reimbursementFees": {
79394
+ "type": "object",
79395
+ "description": "Home-charging reimbursement fees configured on the contract itself and charged to the partner for reimbursed charging sessions and reimbursement periods. Only available when the home-charging reimbursement feature is enabled for the operator. All other home-charging reimbursement settings are managed on the partner resource.\n",
79396
+ "properties": {
79397
+ "perSession": {
79398
+ "type": "number",
79399
+ "format": "float",
79400
+ "minimum": 0,
79401
+ "description": "Flat fee charged for every reimbursed charging session, in the contract's currency."
79402
+ },
79403
+ "perPeriod": {
79404
+ "type": "number",
79405
+ "format": "float",
79406
+ "minimum": 0,
79407
+ "description": "Flat fee charged for every reimbursement period, in the contract's currency."
79408
+ }
79409
+ }
79410
+ },
78833
79411
  "lastUpdatedAt": {
78834
79412
  "type": "string",
78835
79413
  "format": "date-time",
@@ -86830,6 +87408,70 @@
86830
87408
  "corporateBillingPolicyId": {
86831
87409
  "type": "integer",
86832
87410
  "description": "The assigned corporate billing policy. Omitted when no policy is assigned."
87411
+ },
87412
+ "reimbursement": {
87413
+ "description": "Home-charging reimbursement settings for the invite. Omitted when home-charging reimbursement is disabled.",
87414
+ "type": "object",
87415
+ "properties": {
87416
+ "policyId": {
87417
+ "type": "integer",
87418
+ "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."
87419
+ },
87420
+ "restrictions": {
87421
+ "description": "Which of the invite's RFIDs and vehicles are covered by reimbursement. On read this reports the current covered set. On write the submitted list declares the covered set: listed RFIDs/vehicles are attached automatically (they must belong to the invited user), and attached entities left off the list are detached.\n",
87422
+ "type": "object",
87423
+ "properties": {
87424
+ "rfids": {
87425
+ "type": "object",
87426
+ "description": "Reimbursement coverage for the invite's RFIDs.",
87427
+ "properties": {
87428
+ "type": {
87429
+ "description": "Discriminator for a reimbursement coverage sub-restriction:\n- **none**: All of the invite's attached entities of this kind are covered.\n- **allow**: Only the explicitly listed entities are covered.\n",
87430
+ "type": "string",
87431
+ "enum": [
87432
+ "none",
87433
+ "allow"
87434
+ ]
87435
+ },
87436
+ "rfidIds": {
87437
+ "type": "array",
87438
+ "items": {
87439
+ "type": "integer"
87440
+ },
87441
+ "description": "The covered set of RFID IDs. Required and must be non-empty when type is `allow`; each must belong to the invited user. Listed RFIDs that are not yet attached are attached automatically, and attached RFIDs left off the list are detached. Omitted when type is `none`."
87442
+ }
87443
+ },
87444
+ "required": [
87445
+ "type"
87446
+ ]
87447
+ },
87448
+ "vehicles": {
87449
+ "type": "object",
87450
+ "description": "Reimbursement coverage for the invite's vehicles.",
87451
+ "properties": {
87452
+ "type": {
87453
+ "description": "Discriminator for a reimbursement coverage sub-restriction:\n- **none**: All of the invite's attached entities of this kind are covered.\n- **allow**: Only the explicitly listed entities are covered.\n",
87454
+ "type": "string",
87455
+ "enum": [
87456
+ "none",
87457
+ "allow"
87458
+ ]
87459
+ },
87460
+ "vehicleIds": {
87461
+ "type": "array",
87462
+ "items": {
87463
+ "type": "integer"
87464
+ },
87465
+ "description": "The covered set of vehicle IDs. Required and must be non-empty when type is `allow`; each must belong to the invited user. Listed vehicles that are not yet attached are attached automatically, and attached vehicles left off the list are detached. Omitted when type is `none`."
87466
+ }
87467
+ },
87468
+ "required": [
87469
+ "type"
87470
+ ]
87471
+ }
87472
+ }
87473
+ }
87474
+ }
86833
87475
  }
86834
87476
  },
86835
87477
  "required": [
@@ -87076,6 +87718,70 @@
87076
87718
  "corporateBillingPolicyId": {
87077
87719
  "type": "integer",
87078
87720
  "description": "The assigned corporate billing policy. Omitted when no policy is assigned."
87721
+ },
87722
+ "reimbursement": {
87723
+ "description": "Home-charging reimbursement settings for the invite. Omitted when home-charging reimbursement is disabled.",
87724
+ "type": "object",
87725
+ "properties": {
87726
+ "policyId": {
87727
+ "type": "integer",
87728
+ "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."
87729
+ },
87730
+ "restrictions": {
87731
+ "description": "Which of the invite's RFIDs and vehicles are covered by reimbursement. On read this reports the current covered set. On write the submitted list declares the covered set: listed RFIDs/vehicles are attached automatically (they must belong to the invited user), and attached entities left off the list are detached.\n",
87732
+ "type": "object",
87733
+ "properties": {
87734
+ "rfids": {
87735
+ "type": "object",
87736
+ "description": "Reimbursement coverage for the invite's RFIDs.",
87737
+ "properties": {
87738
+ "type": {
87739
+ "description": "Discriminator for a reimbursement coverage sub-restriction:\n- **none**: All of the invite's attached entities of this kind are covered.\n- **allow**: Only the explicitly listed entities are covered.\n",
87740
+ "type": "string",
87741
+ "enum": [
87742
+ "none",
87743
+ "allow"
87744
+ ]
87745
+ },
87746
+ "rfidIds": {
87747
+ "type": "array",
87748
+ "items": {
87749
+ "type": "integer"
87750
+ },
87751
+ "description": "The covered set of RFID IDs. Required and must be non-empty when type is `allow`; each must belong to the invited user. Listed RFIDs that are not yet attached are attached automatically, and attached RFIDs left off the list are detached. Omitted when type is `none`."
87752
+ }
87753
+ },
87754
+ "required": [
87755
+ "type"
87756
+ ]
87757
+ },
87758
+ "vehicles": {
87759
+ "type": "object",
87760
+ "description": "Reimbursement coverage for the invite's vehicles.",
87761
+ "properties": {
87762
+ "type": {
87763
+ "description": "Discriminator for a reimbursement coverage sub-restriction:\n- **none**: All of the invite's attached entities of this kind are covered.\n- **allow**: Only the explicitly listed entities are covered.\n",
87764
+ "type": "string",
87765
+ "enum": [
87766
+ "none",
87767
+ "allow"
87768
+ ]
87769
+ },
87770
+ "vehicleIds": {
87771
+ "type": "array",
87772
+ "items": {
87773
+ "type": "integer"
87774
+ },
87775
+ "description": "The covered set of vehicle IDs. Required and must be non-empty when type is `allow`; each must belong to the invited user. Listed vehicles that are not yet attached are attached automatically, and attached vehicles left off the list are detached. Omitted when type is `none`."
87776
+ }
87777
+ },
87778
+ "required": [
87779
+ "type"
87780
+ ]
87781
+ }
87782
+ }
87783
+ }
87784
+ }
87079
87785
  }
87080
87786
  },
87081
87787
  "required": [
@@ -87273,6 +87979,70 @@
87273
87979
  "corporateBillingPolicyId": {
87274
87980
  "type": "integer",
87275
87981
  "description": "The assigned corporate billing policy. Omitted when no policy is assigned."
87982
+ },
87983
+ "reimbursement": {
87984
+ "description": "Home-charging reimbursement settings for the invite. Omitted when home-charging reimbursement is disabled.",
87985
+ "type": "object",
87986
+ "properties": {
87987
+ "policyId": {
87988
+ "type": "integer",
87989
+ "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."
87990
+ },
87991
+ "restrictions": {
87992
+ "description": "Which of the invite's RFIDs and vehicles are covered by reimbursement. On read this reports the current covered set. On write the submitted list declares the covered set: listed RFIDs/vehicles are attached automatically (they must belong to the invited user), and attached entities left off the list are detached.\n",
87993
+ "type": "object",
87994
+ "properties": {
87995
+ "rfids": {
87996
+ "type": "object",
87997
+ "description": "Reimbursement coverage for the invite's RFIDs.",
87998
+ "properties": {
87999
+ "type": {
88000
+ "description": "Discriminator for a reimbursement coverage sub-restriction:\n- **none**: All of the invite's attached entities of this kind are covered.\n- **allow**: Only the explicitly listed entities are covered.\n",
88001
+ "type": "string",
88002
+ "enum": [
88003
+ "none",
88004
+ "allow"
88005
+ ]
88006
+ },
88007
+ "rfidIds": {
88008
+ "type": "array",
88009
+ "items": {
88010
+ "type": "integer"
88011
+ },
88012
+ "description": "The covered set of RFID IDs. Required and must be non-empty when type is `allow`; each must belong to the invited user. Listed RFIDs that are not yet attached are attached automatically, and attached RFIDs left off the list are detached. Omitted when type is `none`."
88013
+ }
88014
+ },
88015
+ "required": [
88016
+ "type"
88017
+ ]
88018
+ },
88019
+ "vehicles": {
88020
+ "type": "object",
88021
+ "description": "Reimbursement coverage for the invite's vehicles.",
88022
+ "properties": {
88023
+ "type": {
88024
+ "description": "Discriminator for a reimbursement coverage sub-restriction:\n- **none**: All of the invite's attached entities of this kind are covered.\n- **allow**: Only the explicitly listed entities are covered.\n",
88025
+ "type": "string",
88026
+ "enum": [
88027
+ "none",
88028
+ "allow"
88029
+ ]
88030
+ },
88031
+ "vehicleIds": {
88032
+ "type": "array",
88033
+ "items": {
88034
+ "type": "integer"
88035
+ },
88036
+ "description": "The covered set of vehicle IDs. Required and must be non-empty when type is `allow`; each must belong to the invited user. Listed vehicles that are not yet attached are attached automatically, and attached vehicles left off the list are detached. Omitted when type is `none`."
88037
+ }
88038
+ },
88039
+ "required": [
88040
+ "type"
88041
+ ]
88042
+ }
88043
+ }
88044
+ }
88045
+ }
87276
88046
  }
87277
88047
  },
87278
88048
  "required": [
@@ -87501,6 +88271,70 @@
87501
88271
  "corporateBillingPolicyId": {
87502
88272
  "type": "integer",
87503
88273
  "description": "The assigned corporate billing policy. Omitted when no policy is assigned."
88274
+ },
88275
+ "reimbursement": {
88276
+ "description": "Home-charging reimbursement settings for the invite. Omitted when home-charging reimbursement is disabled.",
88277
+ "type": "object",
88278
+ "properties": {
88279
+ "policyId": {
88280
+ "type": "integer",
88281
+ "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."
88282
+ },
88283
+ "restrictions": {
88284
+ "description": "Which of the invite's RFIDs and vehicles are covered by reimbursement. On read this reports the current covered set. On write the submitted list declares the covered set: listed RFIDs/vehicles are attached automatically (they must belong to the invited user), and attached entities left off the list are detached.\n",
88285
+ "type": "object",
88286
+ "properties": {
88287
+ "rfids": {
88288
+ "type": "object",
88289
+ "description": "Reimbursement coverage for the invite's RFIDs.",
88290
+ "properties": {
88291
+ "type": {
88292
+ "description": "Discriminator for a reimbursement coverage sub-restriction:\n- **none**: All of the invite's attached entities of this kind are covered.\n- **allow**: Only the explicitly listed entities are covered.\n",
88293
+ "type": "string",
88294
+ "enum": [
88295
+ "none",
88296
+ "allow"
88297
+ ]
88298
+ },
88299
+ "rfidIds": {
88300
+ "type": "array",
88301
+ "items": {
88302
+ "type": "integer"
88303
+ },
88304
+ "description": "The covered set of RFID IDs. Required and must be non-empty when type is `allow`; each must belong to the invited user. Listed RFIDs that are not yet attached are attached automatically, and attached RFIDs left off the list are detached. Omitted when type is `none`."
88305
+ }
88306
+ },
88307
+ "required": [
88308
+ "type"
88309
+ ]
88310
+ },
88311
+ "vehicles": {
88312
+ "type": "object",
88313
+ "description": "Reimbursement coverage for the invite's vehicles.",
88314
+ "properties": {
88315
+ "type": {
88316
+ "description": "Discriminator for a reimbursement coverage sub-restriction:\n- **none**: All of the invite's attached entities of this kind are covered.\n- **allow**: Only the explicitly listed entities are covered.\n",
88317
+ "type": "string",
88318
+ "enum": [
88319
+ "none",
88320
+ "allow"
88321
+ ]
88322
+ },
88323
+ "vehicleIds": {
88324
+ "type": "array",
88325
+ "items": {
88326
+ "type": "integer"
88327
+ },
88328
+ "description": "The covered set of vehicle IDs. Required and must be non-empty when type is `allow`; each must belong to the invited user. Listed vehicles that are not yet attached are attached automatically, and attached vehicles left off the list are detached. Omitted when type is `none`."
88329
+ }
88330
+ },
88331
+ "required": [
88332
+ "type"
88333
+ ]
88334
+ }
88335
+ }
88336
+ }
88337
+ }
87504
88338
  }
87505
88339
  },
87506
88340
  "required": [
@@ -87653,6 +88487,16 @@
87653
88487
  "format": "date",
87654
88488
  "description": "Date by which the partner invoice must be paid. Equal to the issued date when payment terms are \"Due on receipt\"."
87655
88489
  },
88490
+ "periodStartsOn": {
88491
+ "type": "string",
88492
+ "format": "date",
88493
+ "description": "First date of the billing period captured when the partner invoice was issued. Present only when the complete period is available."
88494
+ },
88495
+ "periodEndsOn": {
88496
+ "type": "string",
88497
+ "format": "date",
88498
+ "description": "Last date of the billing period captured when the partner invoice was issued. Present only when the complete period is available."
88499
+ },
87656
88500
  "paymentTermsDays": {
87657
88501
  "type": "integer",
87658
88502
  "description": "Number of days the party has to pay after the invoice is issued. `0` represents \"Due on receipt\". Snapshotted at generation time."
@@ -88078,6 +88922,16 @@
88078
88922
  "format": "date",
88079
88923
  "description": "Date by which the partner invoice must be paid. Equal to the issued date when payment terms are \"Due on receipt\"."
88080
88924
  },
88925
+ "periodStartsOn": {
88926
+ "type": "string",
88927
+ "format": "date",
88928
+ "description": "First date of the billing period captured when the partner invoice was issued. Present only when the complete period is available."
88929
+ },
88930
+ "periodEndsOn": {
88931
+ "type": "string",
88932
+ "format": "date",
88933
+ "description": "Last date of the billing period captured when the partner invoice was issued. Present only when the complete period is available."
88934
+ },
88081
88935
  "paymentTermsDays": {
88082
88936
  "type": "integer",
88083
88937
  "description": "Number of days the party has to pay after the invoice is issued. `0` represents \"Due on receipt\". Snapshotted at generation time."
@@ -113780,7 +114634,7 @@
113780
114634
  }
113781
114635
  }
113782
114636
  },
113783
- "reservationsListing": {
114637
+ "reimbursementPoliciesListing": {
113784
114638
  "200": {
113785
114639
  "schema": {
113786
114640
  "type": "object",
@@ -113788,56 +114642,63 @@
113788
114642
  "data": {
113789
114643
  "type": "array",
113790
114644
  "items": {
114645
+ "description": "Reimbursement policy read schema. The policy defines how a home-charging session's reimbursement rate is resolved and the validity window during which it applies.",
114646
+ "required": [
114647
+ "id",
114648
+ "operatorId",
114649
+ "name",
114650
+ "electricityRateSource",
114651
+ "validityStartsOn",
114652
+ "createdAt",
114653
+ "lastUpdatedAt"
114654
+ ],
113791
114655
  "type": "object",
113792
- "description": "Reservation",
113793
114656
  "properties": {
113794
- "id": {
113795
- "type": "integer",
113796
- "readOnly": true
114657
+ "name": {
114658
+ "type": "string",
114659
+ "maxLength": 255
113797
114660
  },
113798
- "operatorId": {
114661
+ "electricityRateSource": {
114662
+ "type": "string",
114663
+ "enum": [
114664
+ "policy",
114665
+ "charge_point"
114666
+ ],
114667
+ "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 rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set.\n"
114668
+ },
114669
+ "validityStartsOn": {
114670
+ "description": "Uses the YYYY-MM-DD date format.",
114671
+ "type": "string",
114672
+ "format": "date"
114673
+ },
114674
+ "partnerId": {
113799
114675
  "type": "integer",
113800
- "nullable": true,
113801
- "description": "The ID of the operator this resource belongs to",
113802
- "example": 1
114676
+ "description": "Partner the policy is scoped to. When not set, the policy applies to every partner of the operator."
113803
114677
  },
113804
- "chargePointId": {
114678
+ "partnerContractId": {
113805
114679
  "type": "integer",
113806
- "readOnly": true
114680
+ "description": "Partner contract the policy is scoped to. Requires `partnerId` and must belong to that partner. When not set, the policy is not scoped to a specific contract."
113807
114681
  },
113808
- "evseId": {
114682
+ "electricityRateId": {
113809
114683
  "type": "integer",
113810
- "readOnly": true
114684
+ "description": "Linked electricity rate providing the reimbursement rate. Set only when `electricityRateSource` is `policy`, where it is required."
113811
114685
  },
113812
- "status": {
114686
+ "validityEndsOn": {
114687
+ "description": "Uses the YYYY-MM-DD date format.",
113813
114688
  "type": "string",
113814
- "enum": [
113815
- "active",
113816
- "expired",
113817
- "canceled",
113818
- "done"
113819
- ],
113820
- "readOnly": true
114689
+ "format": "date"
113821
114690
  },
113822
- "userId": {
114691
+ "id": {
113823
114692
  "type": "integer",
113824
- "description": "The id of the user that started the session",
113825
114693
  "readOnly": true
113826
114694
  },
113827
- "reservedAt": {
113828
- "type": "string",
113829
- "format": "date-time",
113830
- "readOnly": true
114695
+ "operatorId": {
114696
+ "type": "integer"
113831
114697
  },
113832
- "canceledAt": {
114698
+ "createdAt": {
113833
114699
  "type": "string",
113834
114700
  "format": "date-time",
113835
- "nullable": true,
113836
- "readOnly": true
113837
- },
113838
- "duration": {
113839
- "type": "integer",
113840
- "description": "In minutes",
114701
+ "description": "ISO 8601 formatted date",
113841
114702
  "readOnly": true
113842
114703
  },
113843
114704
  "lastUpdatedAt": {
@@ -113846,17 +114707,7 @@
113846
114707
  "description": "ISO 8601 formatted date",
113847
114708
  "readOnly": true
113848
114709
  }
113849
- },
113850
- "required": [
113851
- "id",
113852
- "operatorId",
113853
- "userId",
113854
- "chargePointId",
113855
- "evseId",
113856
- "status",
113857
- "reservedAt",
113858
- "duration"
113859
- ]
114710
+ }
113860
114711
  }
113861
114712
  },
113862
114713
  "links": {
@@ -113885,93 +114736,2348 @@
113885
114736
  }
113886
114737
  },
113887
114738
  "meta": {
113888
- "anyOf": [
113889
- {
113890
- "title": "Basic Pagination (DEPRECATED)",
113891
- "type": "object",
113892
- "deprecated": true,
113893
- "description": "**DEPRECATED - Sunset date: Sun, 01 Jun 2026**\n\nIn case of basic pagination (using the `page` parameter), the meta object will contain the following properties.\n\n**This pagination type is deprecated and will be removed on Sun, 01 Jun 2026.**\n\nPlease migrate to cursor pagination for better performance and consistency. Cursor pagination provides:\n- Consistent performance regardless of dataset size\n- Reliable pagination even with concurrent data changes\n- Simpler navigation using cursor tokens\n\nSee the cursor parameter documentation for migration guidance.\n",
113894
- "properties": {
113895
- "current_page": {
113896
- "type": "integer",
113897
- "description": "The number of the current page being fetched"
113898
- },
113899
- "from": {
113900
- "type": "integer",
113901
- "description": "The first of the fetched item's position in the total list",
113902
- "nullable": true
113903
- },
113904
- "last_page": {
113905
- "type": "integer",
113906
- "description": "The number of the past page"
113907
- },
113908
- "links": {
113909
- "type": "array",
113910
- "description": "Array of link objects pointing to the previous/current/next pages",
113911
- "items": {
113912
- "type": "object",
113913
- "properties": {
113914
- "url": {
113915
- "type": "string",
113916
- "nullable": true,
113917
- "description": "The URL to the previous/current/next page or null if such page does not exist"
113918
- },
113919
- "label": {
113920
- "type": "string",
113921
- "description": "The name of the page that the links should be pointing to"
113922
- },
113923
- "active": {
113924
- "type": "boolean",
113925
- "description": "Is the link active, it will be true only when there is an URL"
113926
- }
113927
- }
113928
- }
113929
- },
113930
- "path": {
113931
- "type": "string",
113932
- "description": "The base route of the endpoint (unpaginated)"
113933
- },
113934
- "per_page": {
113935
- "type": "integer",
113936
- "description": "The max number of items in each page"
113937
- },
113938
- "to": {
113939
- "type": "integer",
113940
- "description": "The last of the fetched item's position in the total list",
113941
- "nullable": true
113942
- },
113943
- "total": {
113944
- "type": "integer",
113945
- "description": "The total number of items in the list"
113946
- }
113947
- }
114739
+ "type": "object",
114740
+ "properties": {
114741
+ "path": {
114742
+ "type": "string",
114743
+ "description": "The base route of the endpoint (unpaginated)"
113948
114744
  },
113949
- {
113950
- "title": "Cursor Pagination",
113951
- "type": "object",
113952
- "description": "In case of cursor pagination, the meta object will contain the following properties",
113953
- "properties": {
113954
- "path": {
113955
- "type": "string",
113956
- "description": "The base route of the endpoint (unpaginated)"
113957
- },
113958
- "per_page": {
113959
- "type": "integer",
113960
- "description": "The max number of items in each page"
113961
- },
113962
- "next_cursor": {
113963
- "type": "string",
113964
- "description": "The cursor to fetch the next page. Do not use this directly. It will be populated by using the previous response's links.next.",
113965
- "nullable": true
113966
- },
113967
- "prev_cursor": {
113968
- "type": "string",
113969
- "description": "The cursor to fetch the previous page. Do not use this directly. It will be populated by using the previous response's links.prev.",
113970
- "nullable": true
113971
- }
113972
- }
114745
+ "per_page": {
114746
+ "type": "integer",
114747
+ "description": "The max number of items in each page"
114748
+ },
114749
+ "next_cursor": {
114750
+ "type": "string",
114751
+ "description": "The cursor to fetch the next page. Do not use this directly. It will be populated by using the previous response's links.next.",
114752
+ "nullable": true
114753
+ },
114754
+ "prev_cursor": {
114755
+ "type": "string",
114756
+ "description": "The cursor to fetch the previous page. Do not use this directly. It will be populated by using the previous response's links.prev.",
114757
+ "nullable": true
113973
114758
  }
113974
- ]
114759
+ }
114760
+ }
114761
+ }
114762
+ }
114763
+ },
114764
+ "400": {
114765
+ "schema": {
114766
+ "type": "object",
114767
+ "properties": {
114768
+ "message": {
114769
+ "type": "string"
114770
+ }
114771
+ }
114772
+ }
114773
+ },
114774
+ "401": {
114775
+ "schema": {
114776
+ "type": "object",
114777
+ "properties": {
114778
+ "message": {
114779
+ "type": "string"
114780
+ }
114781
+ }
114782
+ }
114783
+ },
114784
+ "403": {
114785
+ "schema": {
114786
+ "type": "object",
114787
+ "properties": {
114788
+ "message": {
114789
+ "type": "string",
114790
+ "default": "This action is unauthorized."
114791
+ }
114792
+ }
114793
+ }
114794
+ },
114795
+ "422": {
114796
+ "schema": {
114797
+ "type": "object",
114798
+ "required": [
114799
+ "message"
114800
+ ],
114801
+ "properties": {
114802
+ "message": {
114803
+ "type": "string"
114804
+ },
114805
+ "errors": {
114806
+ "type": "object",
114807
+ "additionalProperties": {
114808
+ "type": "array",
114809
+ "items": {
114810
+ "type": "string"
114811
+ }
114812
+ }
114813
+ }
114814
+ }
114815
+ }
114816
+ },
114817
+ "429": {
114818
+ "schema": {
114819
+ "type": "object",
114820
+ "properties": {
114821
+ "message": {
114822
+ "type": "string"
114823
+ }
114824
+ }
114825
+ }
114826
+ }
114827
+ },
114828
+ "reimbursementPolicyCreate": {
114829
+ "201": {
114830
+ "schema": {
114831
+ "type": "object",
114832
+ "properties": {
114833
+ "data": {
114834
+ "description": "Reimbursement policy read schema. The policy defines how a home-charging session's reimbursement rate is resolved and the validity window during which it applies.",
114835
+ "required": [
114836
+ "id",
114837
+ "operatorId",
114838
+ "name",
114839
+ "electricityRateSource",
114840
+ "validityStartsOn",
114841
+ "createdAt",
114842
+ "lastUpdatedAt"
114843
+ ],
114844
+ "type": "object",
114845
+ "properties": {
114846
+ "name": {
114847
+ "type": "string",
114848
+ "maxLength": 255
114849
+ },
114850
+ "electricityRateSource": {
114851
+ "type": "string",
114852
+ "enum": [
114853
+ "policy",
114854
+ "charge_point"
114855
+ ],
114856
+ "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 rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set.\n"
114857
+ },
114858
+ "validityStartsOn": {
114859
+ "description": "Uses the YYYY-MM-DD date format.",
114860
+ "type": "string",
114861
+ "format": "date"
114862
+ },
114863
+ "partnerId": {
114864
+ "type": "integer",
114865
+ "description": "Partner the policy is scoped to. When not set, the policy applies to every partner of the operator."
114866
+ },
114867
+ "partnerContractId": {
114868
+ "type": "integer",
114869
+ "description": "Partner contract the policy is scoped to. Requires `partnerId` and must belong to that partner. When not set, the policy is not scoped to a specific contract."
114870
+ },
114871
+ "electricityRateId": {
114872
+ "type": "integer",
114873
+ "description": "Linked electricity rate providing the reimbursement rate. Set only when `electricityRateSource` is `policy`, where it is required."
114874
+ },
114875
+ "validityEndsOn": {
114876
+ "description": "Uses the YYYY-MM-DD date format.",
114877
+ "type": "string",
114878
+ "format": "date"
114879
+ },
114880
+ "id": {
114881
+ "type": "integer",
114882
+ "readOnly": true
114883
+ },
114884
+ "operatorId": {
114885
+ "type": "integer"
114886
+ },
114887
+ "createdAt": {
114888
+ "type": "string",
114889
+ "format": "date-time",
114890
+ "description": "ISO 8601 formatted date",
114891
+ "readOnly": true
114892
+ },
114893
+ "lastUpdatedAt": {
114894
+ "type": "string",
114895
+ "format": "date-time",
114896
+ "description": "ISO 8601 formatted date",
114897
+ "readOnly": true
114898
+ }
114899
+ }
114900
+ }
114901
+ }
114902
+ }
114903
+ },
114904
+ "401": {
114905
+ "schema": {
114906
+ "type": "object",
114907
+ "properties": {
114908
+ "message": {
114909
+ "type": "string"
114910
+ }
114911
+ }
114912
+ }
114913
+ },
114914
+ "403": {
114915
+ "schema": {
114916
+ "type": "object",
114917
+ "properties": {
114918
+ "message": {
114919
+ "type": "string",
114920
+ "default": "This action is unauthorized."
114921
+ }
114922
+ }
114923
+ }
114924
+ },
114925
+ "422": {
114926
+ "schema": {
114927
+ "type": "object",
114928
+ "required": [
114929
+ "message"
114930
+ ],
114931
+ "properties": {
114932
+ "message": {
114933
+ "type": "string"
114934
+ },
114935
+ "errors": {
114936
+ "type": "object",
114937
+ "additionalProperties": {
114938
+ "type": "array",
114939
+ "items": {
114940
+ "type": "string"
114941
+ }
114942
+ }
114943
+ }
114944
+ }
114945
+ }
114946
+ },
114947
+ "429": {
114948
+ "schema": {
114949
+ "type": "object",
114950
+ "properties": {
114951
+ "message": {
114952
+ "type": "string"
114953
+ }
114954
+ }
114955
+ }
114956
+ }
114957
+ },
114958
+ "reimbursementPolicyRead": {
114959
+ "200": {
114960
+ "schema": {
114961
+ "type": "object",
114962
+ "properties": {
114963
+ "data": {
114964
+ "description": "Reimbursement policy read schema. The policy defines how a home-charging session's reimbursement rate is resolved and the validity window during which it applies.",
114965
+ "required": [
114966
+ "id",
114967
+ "operatorId",
114968
+ "name",
114969
+ "electricityRateSource",
114970
+ "validityStartsOn",
114971
+ "createdAt",
114972
+ "lastUpdatedAt"
114973
+ ],
114974
+ "type": "object",
114975
+ "properties": {
114976
+ "name": {
114977
+ "type": "string",
114978
+ "maxLength": 255
114979
+ },
114980
+ "electricityRateSource": {
114981
+ "type": "string",
114982
+ "enum": [
114983
+ "policy",
114984
+ "charge_point"
114985
+ ],
114986
+ "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 rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set.\n"
114987
+ },
114988
+ "validityStartsOn": {
114989
+ "description": "Uses the YYYY-MM-DD date format.",
114990
+ "type": "string",
114991
+ "format": "date"
114992
+ },
114993
+ "partnerId": {
114994
+ "type": "integer",
114995
+ "description": "Partner the policy is scoped to. When not set, the policy applies to every partner of the operator."
114996
+ },
114997
+ "partnerContractId": {
114998
+ "type": "integer",
114999
+ "description": "Partner contract the policy is scoped to. Requires `partnerId` and must belong to that partner. When not set, the policy is not scoped to a specific contract."
115000
+ },
115001
+ "electricityRateId": {
115002
+ "type": "integer",
115003
+ "description": "Linked electricity rate providing the reimbursement rate. Set only when `electricityRateSource` is `policy`, where it is required."
115004
+ },
115005
+ "validityEndsOn": {
115006
+ "description": "Uses the YYYY-MM-DD date format.",
115007
+ "type": "string",
115008
+ "format": "date"
115009
+ },
115010
+ "id": {
115011
+ "type": "integer",
115012
+ "readOnly": true
115013
+ },
115014
+ "operatorId": {
115015
+ "type": "integer"
115016
+ },
115017
+ "createdAt": {
115018
+ "type": "string",
115019
+ "format": "date-time",
115020
+ "description": "ISO 8601 formatted date",
115021
+ "readOnly": true
115022
+ },
115023
+ "lastUpdatedAt": {
115024
+ "type": "string",
115025
+ "format": "date-time",
115026
+ "description": "ISO 8601 formatted date",
115027
+ "readOnly": true
115028
+ }
115029
+ }
115030
+ }
115031
+ }
115032
+ }
115033
+ },
115034
+ "401": {
115035
+ "schema": {
115036
+ "type": "object",
115037
+ "properties": {
115038
+ "message": {
115039
+ "type": "string"
115040
+ }
115041
+ }
115042
+ }
115043
+ },
115044
+ "403": {
115045
+ "schema": {
115046
+ "type": "object",
115047
+ "properties": {
115048
+ "message": {
115049
+ "type": "string",
115050
+ "default": "This action is unauthorized."
115051
+ }
115052
+ }
115053
+ }
115054
+ },
115055
+ "404": {
115056
+ "schema": {
115057
+ "type": "object",
115058
+ "properties": {
115059
+ "message": {
115060
+ "type": "string"
115061
+ }
115062
+ }
115063
+ }
115064
+ },
115065
+ "429": {
115066
+ "schema": {
115067
+ "type": "object",
115068
+ "properties": {
115069
+ "message": {
115070
+ "type": "string"
115071
+ }
115072
+ }
115073
+ }
115074
+ }
115075
+ },
115076
+ "reimbursementPolicyDelete": {
115077
+ "401": {
115078
+ "schema": {
115079
+ "type": "object",
115080
+ "properties": {
115081
+ "message": {
115082
+ "type": "string"
115083
+ }
115084
+ }
115085
+ }
115086
+ },
115087
+ "403": {
115088
+ "schema": {
115089
+ "type": "object",
115090
+ "properties": {
115091
+ "message": {
115092
+ "type": "string",
115093
+ "default": "This action is unauthorized."
115094
+ }
115095
+ }
115096
+ }
115097
+ },
115098
+ "404": {
115099
+ "schema": {
115100
+ "type": "object",
115101
+ "properties": {
115102
+ "message": {
115103
+ "type": "string"
115104
+ }
115105
+ }
115106
+ }
115107
+ },
115108
+ "409": {
115109
+ "schema": {
115110
+ "type": "object",
115111
+ "properties": {
115112
+ "message": {
115113
+ "type": "string"
115114
+ }
115115
+ }
115116
+ }
115117
+ },
115118
+ "422": {
115119
+ "schema": {
115120
+ "type": "object",
115121
+ "required": [
115122
+ "message"
115123
+ ],
115124
+ "properties": {
115125
+ "message": {
115126
+ "type": "string"
115127
+ },
115128
+ "errors": {
115129
+ "type": "object",
115130
+ "additionalProperties": {
115131
+ "type": "array",
115132
+ "items": {
115133
+ "type": "string"
115134
+ }
115135
+ }
115136
+ }
115137
+ }
115138
+ }
115139
+ },
115140
+ "429": {
115141
+ "schema": {
115142
+ "type": "object",
115143
+ "properties": {
115144
+ "message": {
115145
+ "type": "string"
115146
+ }
115147
+ }
115148
+ }
115149
+ }
115150
+ },
115151
+ "reimbursementPolicyUpdate": {
115152
+ "200": {
115153
+ "schema": {
115154
+ "type": "object",
115155
+ "properties": {
115156
+ "data": {
115157
+ "description": "Reimbursement policy read schema. The policy defines how a home-charging session's reimbursement rate is resolved and the validity window during which it applies.",
115158
+ "required": [
115159
+ "id",
115160
+ "operatorId",
115161
+ "name",
115162
+ "electricityRateSource",
115163
+ "validityStartsOn",
115164
+ "createdAt",
115165
+ "lastUpdatedAt"
115166
+ ],
115167
+ "type": "object",
115168
+ "properties": {
115169
+ "name": {
115170
+ "type": "string",
115171
+ "maxLength": 255
115172
+ },
115173
+ "electricityRateSource": {
115174
+ "type": "string",
115175
+ "enum": [
115176
+ "policy",
115177
+ "charge_point"
115178
+ ],
115179
+ "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 rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set.\n"
115180
+ },
115181
+ "validityStartsOn": {
115182
+ "description": "Uses the YYYY-MM-DD date format.",
115183
+ "type": "string",
115184
+ "format": "date"
115185
+ },
115186
+ "partnerId": {
115187
+ "type": "integer",
115188
+ "description": "Partner the policy is scoped to. When not set, the policy applies to every partner of the operator."
115189
+ },
115190
+ "partnerContractId": {
115191
+ "type": "integer",
115192
+ "description": "Partner contract the policy is scoped to. Requires `partnerId` and must belong to that partner. When not set, the policy is not scoped to a specific contract."
115193
+ },
115194
+ "electricityRateId": {
115195
+ "type": "integer",
115196
+ "description": "Linked electricity rate providing the reimbursement rate. Set only when `electricityRateSource` is `policy`, where it is required."
115197
+ },
115198
+ "validityEndsOn": {
115199
+ "description": "Uses the YYYY-MM-DD date format.",
115200
+ "type": "string",
115201
+ "format": "date"
115202
+ },
115203
+ "id": {
115204
+ "type": "integer",
115205
+ "readOnly": true
115206
+ },
115207
+ "operatorId": {
115208
+ "type": "integer"
115209
+ },
115210
+ "createdAt": {
115211
+ "type": "string",
115212
+ "format": "date-time",
115213
+ "description": "ISO 8601 formatted date",
115214
+ "readOnly": true
115215
+ },
115216
+ "lastUpdatedAt": {
115217
+ "type": "string",
115218
+ "format": "date-time",
115219
+ "description": "ISO 8601 formatted date",
115220
+ "readOnly": true
115221
+ }
115222
+ }
115223
+ }
115224
+ }
115225
+ }
115226
+ },
115227
+ "401": {
115228
+ "schema": {
115229
+ "type": "object",
115230
+ "properties": {
115231
+ "message": {
115232
+ "type": "string"
115233
+ }
115234
+ }
115235
+ }
115236
+ },
115237
+ "403": {
115238
+ "schema": {
115239
+ "type": "object",
115240
+ "properties": {
115241
+ "message": {
115242
+ "type": "string",
115243
+ "default": "This action is unauthorized."
115244
+ }
115245
+ }
115246
+ }
115247
+ },
115248
+ "404": {
115249
+ "schema": {
115250
+ "type": "object",
115251
+ "properties": {
115252
+ "message": {
115253
+ "type": "string"
115254
+ }
115255
+ }
115256
+ }
115257
+ },
115258
+ "422": {
115259
+ "schema": {
115260
+ "type": "object",
115261
+ "required": [
115262
+ "message"
115263
+ ],
115264
+ "properties": {
115265
+ "message": {
115266
+ "type": "string"
115267
+ },
115268
+ "errors": {
115269
+ "type": "object",
115270
+ "additionalProperties": {
115271
+ "type": "array",
115272
+ "items": {
115273
+ "type": "string"
115274
+ }
115275
+ }
115276
+ }
115277
+ }
115278
+ }
115279
+ },
115280
+ "429": {
115281
+ "schema": {
115282
+ "type": "object",
115283
+ "properties": {
115284
+ "message": {
115285
+ "type": "string"
115286
+ }
115287
+ }
115288
+ }
115289
+ }
115290
+ },
115291
+ "reimbursementRecordsListing": {
115292
+ "200": {
115293
+ "schema": {
115294
+ "type": "object",
115295
+ "properties": {
115296
+ "data": {
115297
+ "type": "array",
115298
+ "items": {
115299
+ "description": "Reimbursement record read schema. A record is one immutable computed reimbursement entry for a single charging session, and has no write surface. Reversing (credit) records are records too — they carry negated amounts and point at the record they reverse.\n",
115300
+ "type": "object",
115301
+ "properties": {
115302
+ "id": {
115303
+ "type": "integer",
115304
+ "readOnly": true,
115305
+ "description": "Identifier of this reimbursement record."
115306
+ },
115307
+ "operatorId": {
115308
+ "type": "integer",
115309
+ "description": "Operator the record belongs to, as exposed by the operators resource."
115310
+ },
115311
+ "sessionId": {
115312
+ "type": "integer",
115313
+ "description": "Charging session the reimbursement was computed for, as exposed by the sessions resource. Reversing (credit) records repeat the reversed record's session."
115314
+ },
115315
+ "beneficiary": {
115316
+ "description": "Party the reimbursement is owed to.\n",
115317
+ "type": "object",
115318
+ "properties": {
115319
+ "userId": {
115320
+ "type": "integer",
115321
+ "description": "User the reimbursement is owed to, as exposed by the users resource."
115322
+ }
115323
+ }
115324
+ },
115325
+ "payer": {
115326
+ "description": "Party that owes the reimbursement. Company reimbursements carry `partnerId` (and `partnerContractId` when the payment is governed by a partner contract); public reimbursements carry `operatorId`.\n",
115327
+ "type": "object",
115328
+ "properties": {
115329
+ "partnerId": {
115330
+ "type": "integer",
115331
+ "description": "Partner paying the reimbursement. Present on company reimbursements."
115332
+ },
115333
+ "partnerContractId": {
115334
+ "type": "integer",
115335
+ "description": "Partner contract the reimbursement is settled under. Present when the paying partner has a contract."
115336
+ },
115337
+ "operatorId": {
115338
+ "type": "integer",
115339
+ "description": "Operator paying the reimbursement. Present on public reimbursements."
115340
+ }
115341
+ }
115342
+ },
115343
+ "reimbursementPolicyId": {
115344
+ "type": "integer",
115345
+ "description": "Reimbursement policy whose terms were applied when the amount was computed. Omitted when no policy governed the session."
115346
+ },
115347
+ "energy": {
115348
+ "type": "integer",
115349
+ "description": "Reimbursed energy in Wh."
115350
+ },
115351
+ "rate": {
115352
+ "type": "number",
115353
+ "format": "float",
115354
+ "description": "Monetary rate per kWh applied when computing the reimbursement amount, in the record currency. Its origin is given by `electricityRateSource`. Omitted when no rate could be resolved."
115355
+ },
115356
+ "electricityRateSource": {
115357
+ "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 rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set.\n",
115358
+ "type": "string",
115359
+ "enum": [
115360
+ "policy",
115361
+ "charge_point"
115362
+ ]
115363
+ },
115364
+ "taxBasis": {
115365
+ "description": "How tax was applied when the reimbursement amount was computed:\n- **exempt**: No tax was applied. The amount is identical with and without tax.\n- **percentage**: Tax was applied as a percentage of the net amount — see `taxPercentage`.\n- **flat_amount**: Tax was applied as a fixed amount per record, independent of the reimbursed energy.\n- **compound**: Tax was applied as a combination of a percentage and a fixed component.\n",
115366
+ "type": "string",
115367
+ "enum": [
115368
+ "exempt",
115369
+ "percentage",
115370
+ "flat_amount",
115371
+ "compound"
115372
+ ]
115373
+ },
115374
+ "taxPercentage": {
115375
+ "type": "number",
115376
+ "format": "float",
115377
+ "description": "Tax percentage applied to the reimbursement amount. Present when the applied `taxBasis` carries a percentage component; omitted when no tax percentage could be resolved."
115378
+ },
115379
+ "amount": {
115380
+ "description": "Reimbursement amount, split by tax inclusion. Reversing (credit) records carry negated amounts.",
115381
+ "type": "object",
115382
+ "properties": {
115383
+ "withTax": {
115384
+ "type": "number"
115385
+ },
115386
+ "withoutTax": {
115387
+ "type": "number"
115388
+ }
115389
+ },
115390
+ "required": [
115391
+ "withTax"
115392
+ ]
115393
+ },
115394
+ "currency": {
115395
+ "description": "ISO 4217 currency code for the record's monetary amounts.",
115396
+ "type": "string",
115397
+ "enum": [
115398
+ "AED",
115399
+ "AFN",
115400
+ "ALL",
115401
+ "AMD",
115402
+ "ANG",
115403
+ "AOA",
115404
+ "ARS",
115405
+ "AUD",
115406
+ "AWG",
115407
+ "AZN",
115408
+ "BAM",
115409
+ "BBD",
115410
+ "BDT",
115411
+ "BGN",
115412
+ "BHD",
115413
+ "BIF",
115414
+ "BMD",
115415
+ "BND",
115416
+ "BOB",
115417
+ "BOV",
115418
+ "BRL",
115419
+ "BSD",
115420
+ "BTN",
115421
+ "BWP",
115422
+ "BYN",
115423
+ "BZD",
115424
+ "CAD",
115425
+ "CDF",
115426
+ "CHE",
115427
+ "CHF",
115428
+ "CHW",
115429
+ "CLF",
115430
+ "CLP",
115431
+ "CNY",
115432
+ "COP",
115433
+ "COU",
115434
+ "CRC",
115435
+ "CUC",
115436
+ "CUP",
115437
+ "CVE",
115438
+ "CZK",
115439
+ "DJF",
115440
+ "DKK",
115441
+ "DOP",
115442
+ "DZD",
115443
+ "EGP",
115444
+ "ERN",
115445
+ "ETB",
115446
+ "EUR",
115447
+ "FJD",
115448
+ "FKP",
115449
+ "GBP",
115450
+ "GEL",
115451
+ "GHS",
115452
+ "GIP",
115453
+ "GMD",
115454
+ "GNF",
115455
+ "GTQ",
115456
+ "GYD",
115457
+ "HKD",
115458
+ "HNL",
115459
+ "HRK",
115460
+ "HTG",
115461
+ "HUF",
115462
+ "IDR",
115463
+ "ILS",
115464
+ "INR",
115465
+ "IQD",
115466
+ "IRR",
115467
+ "ISK",
115468
+ "JMD",
115469
+ "JOD",
115470
+ "JPY",
115471
+ "KES",
115472
+ "KGS",
115473
+ "KHR",
115474
+ "KMF",
115475
+ "KPW",
115476
+ "KRW",
115477
+ "KWD",
115478
+ "KYD",
115479
+ "KZT",
115480
+ "LAK",
115481
+ "LBP",
115482
+ "LKR",
115483
+ "LRD",
115484
+ "LSL",
115485
+ "LYD",
115486
+ "MAD",
115487
+ "MDL",
115488
+ "MGA",
115489
+ "MKD",
115490
+ "MMK",
115491
+ "MNT",
115492
+ "MOP",
115493
+ "MRU",
115494
+ "MUR",
115495
+ "MVR",
115496
+ "MWK",
115497
+ "MXN",
115498
+ "MXV",
115499
+ "MYR",
115500
+ "MZN",
115501
+ "NAD",
115502
+ "NGN",
115503
+ "NIO",
115504
+ "NOK",
115505
+ "NPR",
115506
+ "NZD",
115507
+ "OMR",
115508
+ "PAB",
115509
+ "PEN",
115510
+ "PGK",
115511
+ "PHP",
115512
+ "PKR",
115513
+ "PLN",
115514
+ "PYG",
115515
+ "QAR",
115516
+ "RON",
115517
+ "RSD",
115518
+ "RUB",
115519
+ "RWF",
115520
+ "SAR",
115521
+ "SBD",
115522
+ "SCR",
115523
+ "SDG",
115524
+ "SEK",
115525
+ "SGD",
115526
+ "SHP",
115527
+ "SLL",
115528
+ "SOS",
115529
+ "SRD",
115530
+ "SSP",
115531
+ "STN",
115532
+ "SVC",
115533
+ "SYP",
115534
+ "SZL",
115535
+ "THB",
115536
+ "TJS",
115537
+ "TMT",
115538
+ "TND",
115539
+ "TOP",
115540
+ "TRY",
115541
+ "TTD",
115542
+ "TWD",
115543
+ "TZS",
115544
+ "UAH",
115545
+ "UGX",
115546
+ "USD",
115547
+ "USN",
115548
+ "UYI",
115549
+ "UYU",
115550
+ "UYW",
115551
+ "UZS",
115552
+ "VES",
115553
+ "VND",
115554
+ "VUV",
115555
+ "WST",
115556
+ "XAF",
115557
+ "XAG",
115558
+ "XAU",
115559
+ "XBA",
115560
+ "XBB",
115561
+ "XBC",
115562
+ "XBD",
115563
+ "XCD",
115564
+ "XDR",
115565
+ "XOF",
115566
+ "XPD",
115567
+ "XPF",
115568
+ "XPT",
115569
+ "XSU",
115570
+ "XTS",
115571
+ "XUA",
115572
+ "XXX",
115573
+ "YER",
115574
+ "ZAR",
115575
+ "ZMW",
115576
+ "ZWL"
115577
+ ]
115578
+ },
115579
+ "periodStartsOn": {
115580
+ "description": "Uses the YYYY-MM-DD date format.",
115581
+ "type": "string",
115582
+ "format": "date"
115583
+ },
115584
+ "periodEndsOn": {
115585
+ "description": "Uses the YYYY-MM-DD date format.",
115586
+ "type": "string",
115587
+ "format": "date"
115588
+ },
115589
+ "credit": {
115590
+ "description": "Reversal this record carries out. Present only on reversing (credit) records.\n",
115591
+ "type": "object",
115592
+ "properties": {
115593
+ "reimbursementRecordId": {
115594
+ "type": "integer",
115595
+ "description": "Reimbursement record this record reverses, as exposed by this same resource."
115596
+ },
115597
+ "reason": {
115598
+ "type": "string",
115599
+ "description": "Reason the reversal was issued, as supplied when the credit was requested."
115600
+ }
115601
+ }
115602
+ },
115603
+ "creditedByReimbursementRecordId": {
115604
+ "type": "integer",
115605
+ "description": "Reversing (credit) record that reverses this record, as exposed by this same resource. Omitted when this record has not been reversed."
115606
+ },
115607
+ "authUserId": {
115608
+ "type": "integer",
115609
+ "description": "User whose credential authorized the charging session, as exposed by the users resource. `effectiveUserId` differs from it when the session's vehicle belongs to the charge point owner and the reimbursement was attributed to that owner instead."
115610
+ },
115611
+ "effectiveUserId": {
115612
+ "type": "integer",
115613
+ "description": "User the session was attributed to for reimbursement purposes, as exposed by the users resource. Equal to `beneficiary.userId` on company reimbursements; on public reimbursements the beneficiary is the charge point owner while the effective user is the driver."
115614
+ },
115615
+ "createdAt": {
115616
+ "type": "string",
115617
+ "format": "date-time",
115618
+ "description": "ISO 8601 formatted date",
115619
+ "readOnly": true
115620
+ },
115621
+ "updatedAt": {
115622
+ "type": "string",
115623
+ "format": "date-time",
115624
+ "description": "ISO 8601 formatted date",
115625
+ "readOnly": true
115626
+ }
115627
+ },
115628
+ "required": [
115629
+ "id",
115630
+ "operatorId",
115631
+ "sessionId",
115632
+ "energy",
115633
+ "taxBasis",
115634
+ "amount",
115635
+ "periodStartsOn",
115636
+ "periodEndsOn",
115637
+ "createdAt",
115638
+ "updatedAt"
115639
+ ]
115640
+ }
115641
+ },
115642
+ "links": {
115643
+ "type": "object",
115644
+ "properties": {
115645
+ "first": {
115646
+ "type": "string",
115647
+ "description": "The URL to fetch the first page",
115648
+ "nullable": true
115649
+ },
115650
+ "last": {
115651
+ "type": "string",
115652
+ "description": "The URL to fetch the last page",
115653
+ "nullable": true
115654
+ },
115655
+ "prev": {
115656
+ "type": "string",
115657
+ "description": "The URL to fetch the previous page",
115658
+ "nullable": true
115659
+ },
115660
+ "next": {
115661
+ "type": "string",
115662
+ "description": "The URL to fetch the next page. Use this link always in order to utilize the cursor pagination",
115663
+ "nullable": true
115664
+ }
115665
+ }
115666
+ },
115667
+ "meta": {
115668
+ "type": "object",
115669
+ "properties": {
115670
+ "path": {
115671
+ "type": "string",
115672
+ "description": "The base route of the endpoint (unpaginated)"
115673
+ },
115674
+ "per_page": {
115675
+ "type": "integer",
115676
+ "description": "The max number of items in each page"
115677
+ },
115678
+ "next_cursor": {
115679
+ "type": "string",
115680
+ "description": "The cursor to fetch the next page. Do not use this directly. It will be populated by using the previous response's links.next.",
115681
+ "nullable": true
115682
+ },
115683
+ "prev_cursor": {
115684
+ "type": "string",
115685
+ "description": "The cursor to fetch the previous page. Do not use this directly. It will be populated by using the previous response's links.prev.",
115686
+ "nullable": true
115687
+ }
115688
+ }
115689
+ }
115690
+ }
115691
+ }
115692
+ },
115693
+ "400": {
115694
+ "schema": {
115695
+ "type": "object",
115696
+ "properties": {
115697
+ "message": {
115698
+ "type": "string"
115699
+ }
115700
+ }
115701
+ }
115702
+ },
115703
+ "401": {
115704
+ "schema": {
115705
+ "type": "object",
115706
+ "properties": {
115707
+ "message": {
115708
+ "type": "string"
115709
+ }
115710
+ }
115711
+ }
115712
+ },
115713
+ "403": {
115714
+ "schema": {
115715
+ "type": "object",
115716
+ "properties": {
115717
+ "message": {
115718
+ "type": "string",
115719
+ "default": "This action is unauthorized."
115720
+ }
115721
+ }
115722
+ }
115723
+ },
115724
+ "422": {
115725
+ "schema": {
115726
+ "type": "object",
115727
+ "required": [
115728
+ "message"
115729
+ ],
115730
+ "properties": {
115731
+ "message": {
115732
+ "type": "string"
115733
+ },
115734
+ "errors": {
115735
+ "type": "object",
115736
+ "additionalProperties": {
115737
+ "type": "array",
115738
+ "items": {
115739
+ "type": "string"
115740
+ }
115741
+ }
115742
+ }
115743
+ }
115744
+ }
115745
+ },
115746
+ "429": {
115747
+ "schema": {
115748
+ "type": "object",
115749
+ "properties": {
115750
+ "message": {
115751
+ "type": "string"
115752
+ }
115753
+ }
115754
+ }
115755
+ }
115756
+ },
115757
+ "reimbursementRecordRead": {
115758
+ "200": {
115759
+ "schema": {
115760
+ "type": "object",
115761
+ "properties": {
115762
+ "data": {
115763
+ "description": "Reimbursement record read schema. A record is one immutable computed reimbursement entry for a single charging session, and has no write surface. Reversing (credit) records are records too — they carry negated amounts and point at the record they reverse.\n",
115764
+ "type": "object",
115765
+ "properties": {
115766
+ "id": {
115767
+ "type": "integer",
115768
+ "readOnly": true,
115769
+ "description": "Identifier of this reimbursement record."
115770
+ },
115771
+ "operatorId": {
115772
+ "type": "integer",
115773
+ "description": "Operator the record belongs to, as exposed by the operators resource."
115774
+ },
115775
+ "sessionId": {
115776
+ "type": "integer",
115777
+ "description": "Charging session the reimbursement was computed for, as exposed by the sessions resource. Reversing (credit) records repeat the reversed record's session."
115778
+ },
115779
+ "beneficiary": {
115780
+ "description": "Party the reimbursement is owed to.\n",
115781
+ "type": "object",
115782
+ "properties": {
115783
+ "userId": {
115784
+ "type": "integer",
115785
+ "description": "User the reimbursement is owed to, as exposed by the users resource."
115786
+ }
115787
+ }
115788
+ },
115789
+ "payer": {
115790
+ "description": "Party that owes the reimbursement. Company reimbursements carry `partnerId` (and `partnerContractId` when the payment is governed by a partner contract); public reimbursements carry `operatorId`.\n",
115791
+ "type": "object",
115792
+ "properties": {
115793
+ "partnerId": {
115794
+ "type": "integer",
115795
+ "description": "Partner paying the reimbursement. Present on company reimbursements."
115796
+ },
115797
+ "partnerContractId": {
115798
+ "type": "integer",
115799
+ "description": "Partner contract the reimbursement is settled under. Present when the paying partner has a contract."
115800
+ },
115801
+ "operatorId": {
115802
+ "type": "integer",
115803
+ "description": "Operator paying the reimbursement. Present on public reimbursements."
115804
+ }
115805
+ }
115806
+ },
115807
+ "reimbursementPolicyId": {
115808
+ "type": "integer",
115809
+ "description": "Reimbursement policy whose terms were applied when the amount was computed. Omitted when no policy governed the session."
115810
+ },
115811
+ "energy": {
115812
+ "type": "integer",
115813
+ "description": "Reimbursed energy in Wh."
115814
+ },
115815
+ "rate": {
115816
+ "type": "number",
115817
+ "format": "float",
115818
+ "description": "Monetary rate per kWh applied when computing the reimbursement amount, in the record currency. Its origin is given by `electricityRateSource`. Omitted when no rate could be resolved."
115819
+ },
115820
+ "electricityRateSource": {
115821
+ "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 rate set by the owner on their personal charge point in the mobile app provides the rate. `electricityRateId` must not be set.\n",
115822
+ "type": "string",
115823
+ "enum": [
115824
+ "policy",
115825
+ "charge_point"
115826
+ ]
115827
+ },
115828
+ "taxBasis": {
115829
+ "description": "How tax was applied when the reimbursement amount was computed:\n- **exempt**: No tax was applied. The amount is identical with and without tax.\n- **percentage**: Tax was applied as a percentage of the net amount — see `taxPercentage`.\n- **flat_amount**: Tax was applied as a fixed amount per record, independent of the reimbursed energy.\n- **compound**: Tax was applied as a combination of a percentage and a fixed component.\n",
115830
+ "type": "string",
115831
+ "enum": [
115832
+ "exempt",
115833
+ "percentage",
115834
+ "flat_amount",
115835
+ "compound"
115836
+ ]
115837
+ },
115838
+ "taxPercentage": {
115839
+ "type": "number",
115840
+ "format": "float",
115841
+ "description": "Tax percentage applied to the reimbursement amount. Present when the applied `taxBasis` carries a percentage component; omitted when no tax percentage could be resolved."
115842
+ },
115843
+ "amount": {
115844
+ "description": "Reimbursement amount, split by tax inclusion. Reversing (credit) records carry negated amounts.",
115845
+ "type": "object",
115846
+ "properties": {
115847
+ "withTax": {
115848
+ "type": "number"
115849
+ },
115850
+ "withoutTax": {
115851
+ "type": "number"
115852
+ }
115853
+ },
115854
+ "required": [
115855
+ "withTax"
115856
+ ]
115857
+ },
115858
+ "currency": {
115859
+ "description": "ISO 4217 currency code for the record's monetary amounts.",
115860
+ "type": "string",
115861
+ "enum": [
115862
+ "AED",
115863
+ "AFN",
115864
+ "ALL",
115865
+ "AMD",
115866
+ "ANG",
115867
+ "AOA",
115868
+ "ARS",
115869
+ "AUD",
115870
+ "AWG",
115871
+ "AZN",
115872
+ "BAM",
115873
+ "BBD",
115874
+ "BDT",
115875
+ "BGN",
115876
+ "BHD",
115877
+ "BIF",
115878
+ "BMD",
115879
+ "BND",
115880
+ "BOB",
115881
+ "BOV",
115882
+ "BRL",
115883
+ "BSD",
115884
+ "BTN",
115885
+ "BWP",
115886
+ "BYN",
115887
+ "BZD",
115888
+ "CAD",
115889
+ "CDF",
115890
+ "CHE",
115891
+ "CHF",
115892
+ "CHW",
115893
+ "CLF",
115894
+ "CLP",
115895
+ "CNY",
115896
+ "COP",
115897
+ "COU",
115898
+ "CRC",
115899
+ "CUC",
115900
+ "CUP",
115901
+ "CVE",
115902
+ "CZK",
115903
+ "DJF",
115904
+ "DKK",
115905
+ "DOP",
115906
+ "DZD",
115907
+ "EGP",
115908
+ "ERN",
115909
+ "ETB",
115910
+ "EUR",
115911
+ "FJD",
115912
+ "FKP",
115913
+ "GBP",
115914
+ "GEL",
115915
+ "GHS",
115916
+ "GIP",
115917
+ "GMD",
115918
+ "GNF",
115919
+ "GTQ",
115920
+ "GYD",
115921
+ "HKD",
115922
+ "HNL",
115923
+ "HRK",
115924
+ "HTG",
115925
+ "HUF",
115926
+ "IDR",
115927
+ "ILS",
115928
+ "INR",
115929
+ "IQD",
115930
+ "IRR",
115931
+ "ISK",
115932
+ "JMD",
115933
+ "JOD",
115934
+ "JPY",
115935
+ "KES",
115936
+ "KGS",
115937
+ "KHR",
115938
+ "KMF",
115939
+ "KPW",
115940
+ "KRW",
115941
+ "KWD",
115942
+ "KYD",
115943
+ "KZT",
115944
+ "LAK",
115945
+ "LBP",
115946
+ "LKR",
115947
+ "LRD",
115948
+ "LSL",
115949
+ "LYD",
115950
+ "MAD",
115951
+ "MDL",
115952
+ "MGA",
115953
+ "MKD",
115954
+ "MMK",
115955
+ "MNT",
115956
+ "MOP",
115957
+ "MRU",
115958
+ "MUR",
115959
+ "MVR",
115960
+ "MWK",
115961
+ "MXN",
115962
+ "MXV",
115963
+ "MYR",
115964
+ "MZN",
115965
+ "NAD",
115966
+ "NGN",
115967
+ "NIO",
115968
+ "NOK",
115969
+ "NPR",
115970
+ "NZD",
115971
+ "OMR",
115972
+ "PAB",
115973
+ "PEN",
115974
+ "PGK",
115975
+ "PHP",
115976
+ "PKR",
115977
+ "PLN",
115978
+ "PYG",
115979
+ "QAR",
115980
+ "RON",
115981
+ "RSD",
115982
+ "RUB",
115983
+ "RWF",
115984
+ "SAR",
115985
+ "SBD",
115986
+ "SCR",
115987
+ "SDG",
115988
+ "SEK",
115989
+ "SGD",
115990
+ "SHP",
115991
+ "SLL",
115992
+ "SOS",
115993
+ "SRD",
115994
+ "SSP",
115995
+ "STN",
115996
+ "SVC",
115997
+ "SYP",
115998
+ "SZL",
115999
+ "THB",
116000
+ "TJS",
116001
+ "TMT",
116002
+ "TND",
116003
+ "TOP",
116004
+ "TRY",
116005
+ "TTD",
116006
+ "TWD",
116007
+ "TZS",
116008
+ "UAH",
116009
+ "UGX",
116010
+ "USD",
116011
+ "USN",
116012
+ "UYI",
116013
+ "UYU",
116014
+ "UYW",
116015
+ "UZS",
116016
+ "VES",
116017
+ "VND",
116018
+ "VUV",
116019
+ "WST",
116020
+ "XAF",
116021
+ "XAG",
116022
+ "XAU",
116023
+ "XBA",
116024
+ "XBB",
116025
+ "XBC",
116026
+ "XBD",
116027
+ "XCD",
116028
+ "XDR",
116029
+ "XOF",
116030
+ "XPD",
116031
+ "XPF",
116032
+ "XPT",
116033
+ "XSU",
116034
+ "XTS",
116035
+ "XUA",
116036
+ "XXX",
116037
+ "YER",
116038
+ "ZAR",
116039
+ "ZMW",
116040
+ "ZWL"
116041
+ ]
116042
+ },
116043
+ "periodStartsOn": {
116044
+ "description": "Uses the YYYY-MM-DD date format.",
116045
+ "type": "string",
116046
+ "format": "date"
116047
+ },
116048
+ "periodEndsOn": {
116049
+ "description": "Uses the YYYY-MM-DD date format.",
116050
+ "type": "string",
116051
+ "format": "date"
116052
+ },
116053
+ "credit": {
116054
+ "description": "Reversal this record carries out. Present only on reversing (credit) records.\n",
116055
+ "type": "object",
116056
+ "properties": {
116057
+ "reimbursementRecordId": {
116058
+ "type": "integer",
116059
+ "description": "Reimbursement record this record reverses, as exposed by this same resource."
116060
+ },
116061
+ "reason": {
116062
+ "type": "string",
116063
+ "description": "Reason the reversal was issued, as supplied when the credit was requested."
116064
+ }
116065
+ }
116066
+ },
116067
+ "creditedByReimbursementRecordId": {
116068
+ "type": "integer",
116069
+ "description": "Reversing (credit) record that reverses this record, as exposed by this same resource. Omitted when this record has not been reversed."
116070
+ },
116071
+ "authUserId": {
116072
+ "type": "integer",
116073
+ "description": "User whose credential authorized the charging session, as exposed by the users resource. `effectiveUserId` differs from it when the session's vehicle belongs to the charge point owner and the reimbursement was attributed to that owner instead."
116074
+ },
116075
+ "effectiveUserId": {
116076
+ "type": "integer",
116077
+ "description": "User the session was attributed to for reimbursement purposes, as exposed by the users resource. Equal to `beneficiary.userId` on company reimbursements; on public reimbursements the beneficiary is the charge point owner while the effective user is the driver."
116078
+ },
116079
+ "createdAt": {
116080
+ "type": "string",
116081
+ "format": "date-time",
116082
+ "description": "ISO 8601 formatted date",
116083
+ "readOnly": true
116084
+ },
116085
+ "updatedAt": {
116086
+ "type": "string",
116087
+ "format": "date-time",
116088
+ "description": "ISO 8601 formatted date",
116089
+ "readOnly": true
116090
+ }
116091
+ },
116092
+ "required": [
116093
+ "id",
116094
+ "operatorId",
116095
+ "sessionId",
116096
+ "energy",
116097
+ "taxBasis",
116098
+ "amount",
116099
+ "periodStartsOn",
116100
+ "periodEndsOn",
116101
+ "createdAt",
116102
+ "updatedAt"
116103
+ ]
116104
+ }
116105
+ }
116106
+ }
116107
+ },
116108
+ "401": {
116109
+ "schema": {
116110
+ "type": "object",
116111
+ "properties": {
116112
+ "message": {
116113
+ "type": "string"
116114
+ }
116115
+ }
116116
+ }
116117
+ },
116118
+ "403": {
116119
+ "schema": {
116120
+ "type": "object",
116121
+ "properties": {
116122
+ "message": {
116123
+ "type": "string",
116124
+ "default": "This action is unauthorized."
116125
+ }
116126
+ }
116127
+ }
116128
+ },
116129
+ "404": {
116130
+ "schema": {
116131
+ "type": "object",
116132
+ "properties": {
116133
+ "message": {
116134
+ "type": "string"
116135
+ }
116136
+ }
116137
+ }
116138
+ },
116139
+ "429": {
116140
+ "schema": {
116141
+ "type": "object",
116142
+ "properties": {
116143
+ "message": {
116144
+ "type": "string"
116145
+ }
116146
+ }
116147
+ }
116148
+ }
116149
+ },
116150
+ "reimbursementReportsListing": {
116151
+ "200": {
116152
+ "schema": {
116153
+ "type": "object",
116154
+ "properties": {
116155
+ "data": {
116156
+ "type": "array",
116157
+ "items": {
116158
+ "description": "Reimbursement report read schema. A report is a computed aggregate over the reimbursement records that share a beneficiary/payer tuple and period. Its constituent records can be fetched from the reimbursement records listing via `filter[reportId]`.\n",
116159
+ "type": "object",
116160
+ "properties": {
116161
+ "id": {
116162
+ "type": "integer",
116163
+ "readOnly": true,
116164
+ "description": "Identifier of this reimbursement report. A regenerated report is replaced by a new one with a different identifier."
116165
+ },
116166
+ "operatorId": {
116167
+ "type": "integer",
116168
+ "description": "Operator the report belongs to, as exposed by the operators resource."
116169
+ },
116170
+ "beneficiary": {
116171
+ "description": "Party the reimbursement is owed to.\n",
116172
+ "type": "object",
116173
+ "properties": {
116174
+ "userId": {
116175
+ "type": "integer",
116176
+ "description": "User the reimbursement is owed to, as exposed by the users resource."
116177
+ }
116178
+ }
116179
+ },
116180
+ "payer": {
116181
+ "description": "Party that owes the reimbursement. Company reimbursements carry `partnerId` (and `partnerContractId` when the payment is governed by a partner contract); public reimbursements carry `operatorId`.\n",
116182
+ "type": "object",
116183
+ "properties": {
116184
+ "partnerId": {
116185
+ "type": "integer",
116186
+ "description": "Partner paying the reimbursement. Present on company reimbursements."
116187
+ },
116188
+ "partnerContractId": {
116189
+ "type": "integer",
116190
+ "description": "Partner contract the reimbursement is settled under. Present when the paying partner has a contract."
116191
+ },
116192
+ "operatorId": {
116193
+ "type": "integer",
116194
+ "description": "Operator paying the reimbursement. Present on public reimbursements."
116195
+ }
116196
+ }
116197
+ },
116198
+ "reimbursementPolicyId": {
116199
+ "type": "integer",
116200
+ "description": "Reimbursement policy whose terms the report's constituent records were computed under. Omitted when no policy governed them."
116201
+ },
116202
+ "currency": {
116203
+ "description": "ISO 4217 currency code for the report's monetary aggregates.",
116204
+ "type": "string",
116205
+ "enum": [
116206
+ "AED",
116207
+ "AFN",
116208
+ "ALL",
116209
+ "AMD",
116210
+ "ANG",
116211
+ "AOA",
116212
+ "ARS",
116213
+ "AUD",
116214
+ "AWG",
116215
+ "AZN",
116216
+ "BAM",
116217
+ "BBD",
116218
+ "BDT",
116219
+ "BGN",
116220
+ "BHD",
116221
+ "BIF",
116222
+ "BMD",
116223
+ "BND",
116224
+ "BOB",
116225
+ "BOV",
116226
+ "BRL",
116227
+ "BSD",
116228
+ "BTN",
116229
+ "BWP",
116230
+ "BYN",
116231
+ "BZD",
116232
+ "CAD",
116233
+ "CDF",
116234
+ "CHE",
116235
+ "CHF",
116236
+ "CHW",
116237
+ "CLF",
116238
+ "CLP",
116239
+ "CNY",
116240
+ "COP",
116241
+ "COU",
116242
+ "CRC",
116243
+ "CUC",
116244
+ "CUP",
116245
+ "CVE",
116246
+ "CZK",
116247
+ "DJF",
116248
+ "DKK",
116249
+ "DOP",
116250
+ "DZD",
116251
+ "EGP",
116252
+ "ERN",
116253
+ "ETB",
116254
+ "EUR",
116255
+ "FJD",
116256
+ "FKP",
116257
+ "GBP",
116258
+ "GEL",
116259
+ "GHS",
116260
+ "GIP",
116261
+ "GMD",
116262
+ "GNF",
116263
+ "GTQ",
116264
+ "GYD",
116265
+ "HKD",
116266
+ "HNL",
116267
+ "HRK",
116268
+ "HTG",
116269
+ "HUF",
116270
+ "IDR",
116271
+ "ILS",
116272
+ "INR",
116273
+ "IQD",
116274
+ "IRR",
116275
+ "ISK",
116276
+ "JMD",
116277
+ "JOD",
116278
+ "JPY",
116279
+ "KES",
116280
+ "KGS",
116281
+ "KHR",
116282
+ "KMF",
116283
+ "KPW",
116284
+ "KRW",
116285
+ "KWD",
116286
+ "KYD",
116287
+ "KZT",
116288
+ "LAK",
116289
+ "LBP",
116290
+ "LKR",
116291
+ "LRD",
116292
+ "LSL",
116293
+ "LYD",
116294
+ "MAD",
116295
+ "MDL",
116296
+ "MGA",
116297
+ "MKD",
116298
+ "MMK",
116299
+ "MNT",
116300
+ "MOP",
116301
+ "MRU",
116302
+ "MUR",
116303
+ "MVR",
116304
+ "MWK",
116305
+ "MXN",
116306
+ "MXV",
116307
+ "MYR",
116308
+ "MZN",
116309
+ "NAD",
116310
+ "NGN",
116311
+ "NIO",
116312
+ "NOK",
116313
+ "NPR",
116314
+ "NZD",
116315
+ "OMR",
116316
+ "PAB",
116317
+ "PEN",
116318
+ "PGK",
116319
+ "PHP",
116320
+ "PKR",
116321
+ "PLN",
116322
+ "PYG",
116323
+ "QAR",
116324
+ "RON",
116325
+ "RSD",
116326
+ "RUB",
116327
+ "RWF",
116328
+ "SAR",
116329
+ "SBD",
116330
+ "SCR",
116331
+ "SDG",
116332
+ "SEK",
116333
+ "SGD",
116334
+ "SHP",
116335
+ "SLL",
116336
+ "SOS",
116337
+ "SRD",
116338
+ "SSP",
116339
+ "STN",
116340
+ "SVC",
116341
+ "SYP",
116342
+ "SZL",
116343
+ "THB",
116344
+ "TJS",
116345
+ "TMT",
116346
+ "TND",
116347
+ "TOP",
116348
+ "TRY",
116349
+ "TTD",
116350
+ "TWD",
116351
+ "TZS",
116352
+ "UAH",
116353
+ "UGX",
116354
+ "USD",
116355
+ "USN",
116356
+ "UYI",
116357
+ "UYU",
116358
+ "UYW",
116359
+ "UZS",
116360
+ "VES",
116361
+ "VND",
116362
+ "VUV",
116363
+ "WST",
116364
+ "XAF",
116365
+ "XAG",
116366
+ "XAU",
116367
+ "XBA",
116368
+ "XBB",
116369
+ "XBC",
116370
+ "XBD",
116371
+ "XCD",
116372
+ "XDR",
116373
+ "XOF",
116374
+ "XPD",
116375
+ "XPF",
116376
+ "XPT",
116377
+ "XSU",
116378
+ "XTS",
116379
+ "XUA",
116380
+ "XXX",
116381
+ "YER",
116382
+ "ZAR",
116383
+ "ZMW",
116384
+ "ZWL"
116385
+ ]
116386
+ },
116387
+ "totalEnergy": {
116388
+ "type": "integer",
116389
+ "description": "Sum of the reimbursed energy across the report's constituent records, in Wh."
116390
+ },
116391
+ "totalAmount": {
116392
+ "description": "Sum of the reimbursement amount across the report's constituent records, split by tax inclusion.",
116393
+ "type": "object",
116394
+ "properties": {
116395
+ "withTax": {
116396
+ "type": "number"
116397
+ },
116398
+ "withoutTax": {
116399
+ "type": "number"
116400
+ }
116401
+ },
116402
+ "required": [
116403
+ "withTax"
116404
+ ]
116405
+ },
116406
+ "periodStartsOn": {
116407
+ "description": "Uses the YYYY-MM-DD date format.",
116408
+ "type": "string",
116409
+ "format": "date"
116410
+ },
116411
+ "periodEndsOn": {
116412
+ "description": "Uses the YYYY-MM-DD date format.",
116413
+ "type": "string",
116414
+ "format": "date"
116415
+ },
116416
+ "createdAt": {
116417
+ "type": "string",
116418
+ "format": "date-time",
116419
+ "description": "ISO 8601 formatted date",
116420
+ "readOnly": true
116421
+ },
116422
+ "updatedAt": {
116423
+ "type": "string",
116424
+ "format": "date-time",
116425
+ "description": "ISO 8601 formatted date",
116426
+ "readOnly": true
116427
+ }
116428
+ },
116429
+ "required": [
116430
+ "id",
116431
+ "operatorId",
116432
+ "totalEnergy",
116433
+ "totalAmount",
116434
+ "periodStartsOn",
116435
+ "periodEndsOn",
116436
+ "createdAt",
116437
+ "updatedAt"
116438
+ ]
116439
+ }
116440
+ },
116441
+ "links": {
116442
+ "type": "object",
116443
+ "properties": {
116444
+ "first": {
116445
+ "type": "string",
116446
+ "description": "The URL to fetch the first page",
116447
+ "nullable": true
116448
+ },
116449
+ "last": {
116450
+ "type": "string",
116451
+ "description": "The URL to fetch the last page",
116452
+ "nullable": true
116453
+ },
116454
+ "prev": {
116455
+ "type": "string",
116456
+ "description": "The URL to fetch the previous page",
116457
+ "nullable": true
116458
+ },
116459
+ "next": {
116460
+ "type": "string",
116461
+ "description": "The URL to fetch the next page. Use this link always in order to utilize the cursor pagination",
116462
+ "nullable": true
116463
+ }
116464
+ }
116465
+ },
116466
+ "meta": {
116467
+ "type": "object",
116468
+ "properties": {
116469
+ "path": {
116470
+ "type": "string",
116471
+ "description": "The base route of the endpoint (unpaginated)"
116472
+ },
116473
+ "per_page": {
116474
+ "type": "integer",
116475
+ "description": "The max number of items in each page"
116476
+ },
116477
+ "next_cursor": {
116478
+ "type": "string",
116479
+ "description": "The cursor to fetch the next page. Do not use this directly. It will be populated by using the previous response's links.next.",
116480
+ "nullable": true
116481
+ },
116482
+ "prev_cursor": {
116483
+ "type": "string",
116484
+ "description": "The cursor to fetch the previous page. Do not use this directly. It will be populated by using the previous response's links.prev.",
116485
+ "nullable": true
116486
+ }
116487
+ }
116488
+ }
116489
+ }
116490
+ }
116491
+ },
116492
+ "400": {
116493
+ "schema": {
116494
+ "type": "object",
116495
+ "properties": {
116496
+ "message": {
116497
+ "type": "string"
116498
+ }
116499
+ }
116500
+ }
116501
+ },
116502
+ "401": {
116503
+ "schema": {
116504
+ "type": "object",
116505
+ "properties": {
116506
+ "message": {
116507
+ "type": "string"
116508
+ }
116509
+ }
116510
+ }
116511
+ },
116512
+ "403": {
116513
+ "schema": {
116514
+ "type": "object",
116515
+ "properties": {
116516
+ "message": {
116517
+ "type": "string",
116518
+ "default": "This action is unauthorized."
116519
+ }
116520
+ }
116521
+ }
116522
+ },
116523
+ "422": {
116524
+ "schema": {
116525
+ "type": "object",
116526
+ "required": [
116527
+ "message"
116528
+ ],
116529
+ "properties": {
116530
+ "message": {
116531
+ "type": "string"
116532
+ },
116533
+ "errors": {
116534
+ "type": "object",
116535
+ "additionalProperties": {
116536
+ "type": "array",
116537
+ "items": {
116538
+ "type": "string"
116539
+ }
116540
+ }
116541
+ }
116542
+ }
116543
+ }
116544
+ },
116545
+ "429": {
116546
+ "schema": {
116547
+ "type": "object",
116548
+ "properties": {
116549
+ "message": {
116550
+ "type": "string"
116551
+ }
116552
+ }
116553
+ }
116554
+ }
116555
+ },
116556
+ "reimbursementReportRead": {
116557
+ "200": {
116558
+ "schema": {
116559
+ "type": "object",
116560
+ "properties": {
116561
+ "data": {
116562
+ "description": "Reimbursement report read schema. A report is a computed aggregate over the reimbursement records that share a beneficiary/payer tuple and period. Its constituent records can be fetched from the reimbursement records listing via `filter[reportId]`.\n",
116563
+ "type": "object",
116564
+ "properties": {
116565
+ "id": {
116566
+ "type": "integer",
116567
+ "readOnly": true,
116568
+ "description": "Identifier of this reimbursement report. A regenerated report is replaced by a new one with a different identifier."
116569
+ },
116570
+ "operatorId": {
116571
+ "type": "integer",
116572
+ "description": "Operator the report belongs to, as exposed by the operators resource."
116573
+ },
116574
+ "beneficiary": {
116575
+ "description": "Party the reimbursement is owed to.\n",
116576
+ "type": "object",
116577
+ "properties": {
116578
+ "userId": {
116579
+ "type": "integer",
116580
+ "description": "User the reimbursement is owed to, as exposed by the users resource."
116581
+ }
116582
+ }
116583
+ },
116584
+ "payer": {
116585
+ "description": "Party that owes the reimbursement. Company reimbursements carry `partnerId` (and `partnerContractId` when the payment is governed by a partner contract); public reimbursements carry `operatorId`.\n",
116586
+ "type": "object",
116587
+ "properties": {
116588
+ "partnerId": {
116589
+ "type": "integer",
116590
+ "description": "Partner paying the reimbursement. Present on company reimbursements."
116591
+ },
116592
+ "partnerContractId": {
116593
+ "type": "integer",
116594
+ "description": "Partner contract the reimbursement is settled under. Present when the paying partner has a contract."
116595
+ },
116596
+ "operatorId": {
116597
+ "type": "integer",
116598
+ "description": "Operator paying the reimbursement. Present on public reimbursements."
116599
+ }
116600
+ }
116601
+ },
116602
+ "reimbursementPolicyId": {
116603
+ "type": "integer",
116604
+ "description": "Reimbursement policy whose terms the report's constituent records were computed under. Omitted when no policy governed them."
116605
+ },
116606
+ "currency": {
116607
+ "description": "ISO 4217 currency code for the report's monetary aggregates.",
116608
+ "type": "string",
116609
+ "enum": [
116610
+ "AED",
116611
+ "AFN",
116612
+ "ALL",
116613
+ "AMD",
116614
+ "ANG",
116615
+ "AOA",
116616
+ "ARS",
116617
+ "AUD",
116618
+ "AWG",
116619
+ "AZN",
116620
+ "BAM",
116621
+ "BBD",
116622
+ "BDT",
116623
+ "BGN",
116624
+ "BHD",
116625
+ "BIF",
116626
+ "BMD",
116627
+ "BND",
116628
+ "BOB",
116629
+ "BOV",
116630
+ "BRL",
116631
+ "BSD",
116632
+ "BTN",
116633
+ "BWP",
116634
+ "BYN",
116635
+ "BZD",
116636
+ "CAD",
116637
+ "CDF",
116638
+ "CHE",
116639
+ "CHF",
116640
+ "CHW",
116641
+ "CLF",
116642
+ "CLP",
116643
+ "CNY",
116644
+ "COP",
116645
+ "COU",
116646
+ "CRC",
116647
+ "CUC",
116648
+ "CUP",
116649
+ "CVE",
116650
+ "CZK",
116651
+ "DJF",
116652
+ "DKK",
116653
+ "DOP",
116654
+ "DZD",
116655
+ "EGP",
116656
+ "ERN",
116657
+ "ETB",
116658
+ "EUR",
116659
+ "FJD",
116660
+ "FKP",
116661
+ "GBP",
116662
+ "GEL",
116663
+ "GHS",
116664
+ "GIP",
116665
+ "GMD",
116666
+ "GNF",
116667
+ "GTQ",
116668
+ "GYD",
116669
+ "HKD",
116670
+ "HNL",
116671
+ "HRK",
116672
+ "HTG",
116673
+ "HUF",
116674
+ "IDR",
116675
+ "ILS",
116676
+ "INR",
116677
+ "IQD",
116678
+ "IRR",
116679
+ "ISK",
116680
+ "JMD",
116681
+ "JOD",
116682
+ "JPY",
116683
+ "KES",
116684
+ "KGS",
116685
+ "KHR",
116686
+ "KMF",
116687
+ "KPW",
116688
+ "KRW",
116689
+ "KWD",
116690
+ "KYD",
116691
+ "KZT",
116692
+ "LAK",
116693
+ "LBP",
116694
+ "LKR",
116695
+ "LRD",
116696
+ "LSL",
116697
+ "LYD",
116698
+ "MAD",
116699
+ "MDL",
116700
+ "MGA",
116701
+ "MKD",
116702
+ "MMK",
116703
+ "MNT",
116704
+ "MOP",
116705
+ "MRU",
116706
+ "MUR",
116707
+ "MVR",
116708
+ "MWK",
116709
+ "MXN",
116710
+ "MXV",
116711
+ "MYR",
116712
+ "MZN",
116713
+ "NAD",
116714
+ "NGN",
116715
+ "NIO",
116716
+ "NOK",
116717
+ "NPR",
116718
+ "NZD",
116719
+ "OMR",
116720
+ "PAB",
116721
+ "PEN",
116722
+ "PGK",
116723
+ "PHP",
116724
+ "PKR",
116725
+ "PLN",
116726
+ "PYG",
116727
+ "QAR",
116728
+ "RON",
116729
+ "RSD",
116730
+ "RUB",
116731
+ "RWF",
116732
+ "SAR",
116733
+ "SBD",
116734
+ "SCR",
116735
+ "SDG",
116736
+ "SEK",
116737
+ "SGD",
116738
+ "SHP",
116739
+ "SLL",
116740
+ "SOS",
116741
+ "SRD",
116742
+ "SSP",
116743
+ "STN",
116744
+ "SVC",
116745
+ "SYP",
116746
+ "SZL",
116747
+ "THB",
116748
+ "TJS",
116749
+ "TMT",
116750
+ "TND",
116751
+ "TOP",
116752
+ "TRY",
116753
+ "TTD",
116754
+ "TWD",
116755
+ "TZS",
116756
+ "UAH",
116757
+ "UGX",
116758
+ "USD",
116759
+ "USN",
116760
+ "UYI",
116761
+ "UYU",
116762
+ "UYW",
116763
+ "UZS",
116764
+ "VES",
116765
+ "VND",
116766
+ "VUV",
116767
+ "WST",
116768
+ "XAF",
116769
+ "XAG",
116770
+ "XAU",
116771
+ "XBA",
116772
+ "XBB",
116773
+ "XBC",
116774
+ "XBD",
116775
+ "XCD",
116776
+ "XDR",
116777
+ "XOF",
116778
+ "XPD",
116779
+ "XPF",
116780
+ "XPT",
116781
+ "XSU",
116782
+ "XTS",
116783
+ "XUA",
116784
+ "XXX",
116785
+ "YER",
116786
+ "ZAR",
116787
+ "ZMW",
116788
+ "ZWL"
116789
+ ]
116790
+ },
116791
+ "totalEnergy": {
116792
+ "type": "integer",
116793
+ "description": "Sum of the reimbursed energy across the report's constituent records, in Wh."
116794
+ },
116795
+ "totalAmount": {
116796
+ "description": "Sum of the reimbursement amount across the report's constituent records, split by tax inclusion.",
116797
+ "type": "object",
116798
+ "properties": {
116799
+ "withTax": {
116800
+ "type": "number"
116801
+ },
116802
+ "withoutTax": {
116803
+ "type": "number"
116804
+ }
116805
+ },
116806
+ "required": [
116807
+ "withTax"
116808
+ ]
116809
+ },
116810
+ "periodStartsOn": {
116811
+ "description": "Uses the YYYY-MM-DD date format.",
116812
+ "type": "string",
116813
+ "format": "date"
116814
+ },
116815
+ "periodEndsOn": {
116816
+ "description": "Uses the YYYY-MM-DD date format.",
116817
+ "type": "string",
116818
+ "format": "date"
116819
+ },
116820
+ "createdAt": {
116821
+ "type": "string",
116822
+ "format": "date-time",
116823
+ "description": "ISO 8601 formatted date",
116824
+ "readOnly": true
116825
+ },
116826
+ "updatedAt": {
116827
+ "type": "string",
116828
+ "format": "date-time",
116829
+ "description": "ISO 8601 formatted date",
116830
+ "readOnly": true
116831
+ }
116832
+ },
116833
+ "required": [
116834
+ "id",
116835
+ "operatorId",
116836
+ "totalEnergy",
116837
+ "totalAmount",
116838
+ "periodStartsOn",
116839
+ "periodEndsOn",
116840
+ "createdAt",
116841
+ "updatedAt"
116842
+ ]
116843
+ }
116844
+ }
116845
+ }
116846
+ },
116847
+ "401": {
116848
+ "schema": {
116849
+ "type": "object",
116850
+ "properties": {
116851
+ "message": {
116852
+ "type": "string"
116853
+ }
116854
+ }
116855
+ }
116856
+ },
116857
+ "403": {
116858
+ "schema": {
116859
+ "type": "object",
116860
+ "properties": {
116861
+ "message": {
116862
+ "type": "string",
116863
+ "default": "This action is unauthorized."
116864
+ }
116865
+ }
116866
+ }
116867
+ },
116868
+ "404": {
116869
+ "schema": {
116870
+ "type": "object",
116871
+ "properties": {
116872
+ "message": {
116873
+ "type": "string"
116874
+ }
116875
+ }
116876
+ }
116877
+ },
116878
+ "429": {
116879
+ "schema": {
116880
+ "type": "object",
116881
+ "properties": {
116882
+ "message": {
116883
+ "type": "string"
116884
+ }
116885
+ }
116886
+ }
116887
+ }
116888
+ },
116889
+ "reservationsListing": {
116890
+ "200": {
116891
+ "schema": {
116892
+ "type": "object",
116893
+ "properties": {
116894
+ "data": {
116895
+ "type": "array",
116896
+ "items": {
116897
+ "type": "object",
116898
+ "description": "Reservation",
116899
+ "properties": {
116900
+ "id": {
116901
+ "type": "integer",
116902
+ "readOnly": true
116903
+ },
116904
+ "operatorId": {
116905
+ "type": "integer",
116906
+ "nullable": true,
116907
+ "description": "The ID of the operator this resource belongs to",
116908
+ "example": 1
116909
+ },
116910
+ "chargePointId": {
116911
+ "type": "integer",
116912
+ "readOnly": true
116913
+ },
116914
+ "evseId": {
116915
+ "type": "integer",
116916
+ "readOnly": true
116917
+ },
116918
+ "status": {
116919
+ "type": "string",
116920
+ "enum": [
116921
+ "active",
116922
+ "expired",
116923
+ "canceled",
116924
+ "done"
116925
+ ],
116926
+ "readOnly": true
116927
+ },
116928
+ "userId": {
116929
+ "type": "integer",
116930
+ "description": "The id of the user that started the session",
116931
+ "readOnly": true
116932
+ },
116933
+ "reservedAt": {
116934
+ "type": "string",
116935
+ "format": "date-time",
116936
+ "readOnly": true
116937
+ },
116938
+ "canceledAt": {
116939
+ "type": "string",
116940
+ "format": "date-time",
116941
+ "nullable": true,
116942
+ "readOnly": true
116943
+ },
116944
+ "duration": {
116945
+ "type": "integer",
116946
+ "description": "In minutes",
116947
+ "readOnly": true
116948
+ },
116949
+ "lastUpdatedAt": {
116950
+ "type": "string",
116951
+ "format": "date-time",
116952
+ "description": "ISO 8601 formatted date",
116953
+ "readOnly": true
116954
+ }
116955
+ },
116956
+ "required": [
116957
+ "id",
116958
+ "operatorId",
116959
+ "userId",
116960
+ "chargePointId",
116961
+ "evseId",
116962
+ "status",
116963
+ "reservedAt",
116964
+ "duration"
116965
+ ]
116966
+ }
116967
+ },
116968
+ "links": {
116969
+ "type": "object",
116970
+ "properties": {
116971
+ "first": {
116972
+ "type": "string",
116973
+ "description": "The URL to fetch the first page",
116974
+ "nullable": true
116975
+ },
116976
+ "last": {
116977
+ "type": "string",
116978
+ "description": "The URL to fetch the last page",
116979
+ "nullable": true
116980
+ },
116981
+ "prev": {
116982
+ "type": "string",
116983
+ "description": "The URL to fetch the previous page",
116984
+ "nullable": true
116985
+ },
116986
+ "next": {
116987
+ "type": "string",
116988
+ "description": "The URL to fetch the next page. Use this link always in order to utilize the cursor pagination",
116989
+ "nullable": true
116990
+ }
116991
+ }
116992
+ },
116993
+ "meta": {
116994
+ "anyOf": [
116995
+ {
116996
+ "title": "Basic Pagination (DEPRECATED)",
116997
+ "type": "object",
116998
+ "deprecated": true,
116999
+ "description": "**DEPRECATED - Sunset date: Sun, 01 Jun 2026**\n\nIn case of basic pagination (using the `page` parameter), the meta object will contain the following properties.\n\n**This pagination type is deprecated and will be removed on Sun, 01 Jun 2026.**\n\nPlease migrate to cursor pagination for better performance and consistency. Cursor pagination provides:\n- Consistent performance regardless of dataset size\n- Reliable pagination even with concurrent data changes\n- Simpler navigation using cursor tokens\n\nSee the cursor parameter documentation for migration guidance.\n",
117000
+ "properties": {
117001
+ "current_page": {
117002
+ "type": "integer",
117003
+ "description": "The number of the current page being fetched"
117004
+ },
117005
+ "from": {
117006
+ "type": "integer",
117007
+ "description": "The first of the fetched item's position in the total list",
117008
+ "nullable": true
117009
+ },
117010
+ "last_page": {
117011
+ "type": "integer",
117012
+ "description": "The number of the past page"
117013
+ },
117014
+ "links": {
117015
+ "type": "array",
117016
+ "description": "Array of link objects pointing to the previous/current/next pages",
117017
+ "items": {
117018
+ "type": "object",
117019
+ "properties": {
117020
+ "url": {
117021
+ "type": "string",
117022
+ "nullable": true,
117023
+ "description": "The URL to the previous/current/next page or null if such page does not exist"
117024
+ },
117025
+ "label": {
117026
+ "type": "string",
117027
+ "description": "The name of the page that the links should be pointing to"
117028
+ },
117029
+ "active": {
117030
+ "type": "boolean",
117031
+ "description": "Is the link active, it will be true only when there is an URL"
117032
+ }
117033
+ }
117034
+ }
117035
+ },
117036
+ "path": {
117037
+ "type": "string",
117038
+ "description": "The base route of the endpoint (unpaginated)"
117039
+ },
117040
+ "per_page": {
117041
+ "type": "integer",
117042
+ "description": "The max number of items in each page"
117043
+ },
117044
+ "to": {
117045
+ "type": "integer",
117046
+ "description": "The last of the fetched item's position in the total list",
117047
+ "nullable": true
117048
+ },
117049
+ "total": {
117050
+ "type": "integer",
117051
+ "description": "The total number of items in the list"
117052
+ }
117053
+ }
117054
+ },
117055
+ {
117056
+ "title": "Cursor Pagination",
117057
+ "type": "object",
117058
+ "description": "In case of cursor pagination, the meta object will contain the following properties",
117059
+ "properties": {
117060
+ "path": {
117061
+ "type": "string",
117062
+ "description": "The base route of the endpoint (unpaginated)"
117063
+ },
117064
+ "per_page": {
117065
+ "type": "integer",
117066
+ "description": "The max number of items in each page"
117067
+ },
117068
+ "next_cursor": {
117069
+ "type": "string",
117070
+ "description": "The cursor to fetch the next page. Do not use this directly. It will be populated by using the previous response's links.next.",
117071
+ "nullable": true
117072
+ },
117073
+ "prev_cursor": {
117074
+ "type": "string",
117075
+ "description": "The cursor to fetch the previous page. Do not use this directly. It will be populated by using the previous response's links.prev.",
117076
+ "nullable": true
117077
+ }
117078
+ }
117079
+ }
117080
+ ]
113975
117081
  }
113976
117082
  }
113977
117083
  }
@@ -121463,6 +124569,50 @@
121463
124569
  "type": "boolean",
121464
124570
  "description": "Whether incremental pre-authorizations are active for this session.\n`true` when all preconditions are met: feature flag enabled, incremental pre-authorizations enabled in settings, billing strategy supports pre-authorization, and the session has an active pre-authorization with a PSP that supports incremental authorization.\n`false` in all other cases, including sessions without pre-authorization and completed sessions.\n"
121465
124571
  },
124572
+ "durationBreakdown": {
124573
+ "type": "object",
124574
+ "description": "Charging and idle duration totals for the session. Grace-period values are zero when no grace applies, and duration categories that do not apply are returned with zero values.",
124575
+ "required": [
124576
+ "chargingDurationSeconds",
124577
+ "billableChargingDurationSeconds",
124578
+ "chargingGracePeriodSeconds",
124579
+ "idleDurationSeconds",
124580
+ "billableIdleDurationSeconds",
124581
+ "idleGracePeriodSeconds"
124582
+ ],
124583
+ "properties": {
124584
+ "chargingDurationSeconds": {
124585
+ "type": "integer",
124586
+ "minimum": 0,
124587
+ "description": "Total time in seconds spent charging."
124588
+ },
124589
+ "billableChargingDurationSeconds": {
124590
+ "type": "integer",
124591
+ "minimum": 0,
124592
+ "description": "Charging time in seconds remaining after applicable grace periods."
124593
+ },
124594
+ "chargingGracePeriodSeconds": {
124595
+ "type": "integer",
124596
+ "minimum": 0,
124597
+ "description": "Charging time in seconds covered by a duration grace period."
124598
+ },
124599
+ "idleDurationSeconds": {
124600
+ "type": "integer",
124601
+ "minimum": 0,
124602
+ "description": "Total time in seconds spent idle."
124603
+ },
124604
+ "billableIdleDurationSeconds": {
124605
+ "type": "integer",
124606
+ "minimum": 0,
124607
+ "description": "Idle time in seconds remaining after applicable grace periods."
124608
+ },
124609
+ "idleGracePeriodSeconds": {
124610
+ "type": "integer",
124611
+ "minimum": 0,
124612
+ "description": "Idle time in seconds covered by duration or idle grace periods."
124613
+ }
124614
+ }
124615
+ },
121466
124616
  "chargingProfile": {
121467
124617
  "type": "object",
121468
124618
  "description": "The TX charging profile applied to the session. Returned only when `include[]=chargingProfile` is set. Omitted entirely when no profile is associated with the session.",
@@ -122259,6 +125409,273 @@
122259
125409
  }
122260
125410
  }
122261
125411
  },
125412
+ "sharingInvitesListing": {
125413
+ "200": {
125414
+ "schema": {
125415
+ "type": "object",
125416
+ "properties": {
125417
+ "data": {
125418
+ "type": "array",
125419
+ "items": {
125420
+ "description": "Sharing invite read schema. A sharing invite records that a personal charge point has been shared with another user.",
125421
+ "type": "object",
125422
+ "properties": {
125423
+ "id": {
125424
+ "type": "integer",
125425
+ "readOnly": true
125426
+ },
125427
+ "chargePointId": {
125428
+ "type": "integer",
125429
+ "description": "Charge point the sharing invite grants access to."
125430
+ },
125431
+ "userId": {
125432
+ "type": "integer",
125433
+ "description": "User the charge point is shared with."
125434
+ },
125435
+ "status": {
125436
+ "type": "string",
125437
+ "enum": [
125438
+ "pending",
125439
+ "accepted"
125440
+ ],
125441
+ "description": "The sharing invite status:\n- **pending**: The invited user has not yet accepted the sharing invite\n- **accepted**: The invited user accepted the sharing invite and has access to the charge point\n\nWithdrawn sharing invites are removed and are never returned by this resource.\n",
125442
+ "example": "pending"
125443
+ },
125444
+ "createdAt": {
125445
+ "type": "string",
125446
+ "format": "date-time",
125447
+ "description": "ISO 8601 formatted date",
125448
+ "readOnly": true
125449
+ },
125450
+ "lastUpdatedAt": {
125451
+ "type": "string",
125452
+ "format": "date-time",
125453
+ "description": "ISO 8601 formatted date",
125454
+ "readOnly": true
125455
+ }
125456
+ },
125457
+ "required": [
125458
+ "id",
125459
+ "chargePointId",
125460
+ "userId",
125461
+ "status",
125462
+ "createdAt",
125463
+ "lastUpdatedAt"
125464
+ ]
125465
+ }
125466
+ },
125467
+ "links": {
125468
+ "type": "object",
125469
+ "properties": {
125470
+ "first": {
125471
+ "type": "string",
125472
+ "description": "The URL to fetch the first page",
125473
+ "nullable": true
125474
+ },
125475
+ "last": {
125476
+ "type": "string",
125477
+ "description": "The URL to fetch the last page",
125478
+ "nullable": true
125479
+ },
125480
+ "prev": {
125481
+ "type": "string",
125482
+ "description": "The URL to fetch the previous page",
125483
+ "nullable": true
125484
+ },
125485
+ "next": {
125486
+ "type": "string",
125487
+ "description": "The URL to fetch the next page. Use this link always in order to utilize the cursor pagination",
125488
+ "nullable": true
125489
+ }
125490
+ }
125491
+ },
125492
+ "meta": {
125493
+ "type": "object",
125494
+ "properties": {
125495
+ "path": {
125496
+ "type": "string",
125497
+ "description": "The base route of the endpoint (unpaginated)"
125498
+ },
125499
+ "per_page": {
125500
+ "type": "integer",
125501
+ "description": "The max number of items in each page"
125502
+ },
125503
+ "next_cursor": {
125504
+ "type": "string",
125505
+ "description": "The cursor to fetch the next page. Do not use this directly. It will be populated by using the previous response's links.next.",
125506
+ "nullable": true
125507
+ },
125508
+ "prev_cursor": {
125509
+ "type": "string",
125510
+ "description": "The cursor to fetch the previous page. Do not use this directly. It will be populated by using the previous response's links.prev.",
125511
+ "nullable": true
125512
+ }
125513
+ }
125514
+ }
125515
+ }
125516
+ }
125517
+ },
125518
+ "400": {
125519
+ "schema": {
125520
+ "type": "object",
125521
+ "properties": {
125522
+ "message": {
125523
+ "type": "string"
125524
+ }
125525
+ }
125526
+ }
125527
+ },
125528
+ "401": {
125529
+ "schema": {
125530
+ "type": "object",
125531
+ "properties": {
125532
+ "message": {
125533
+ "type": "string"
125534
+ }
125535
+ }
125536
+ }
125537
+ },
125538
+ "403": {
125539
+ "schema": {
125540
+ "type": "object",
125541
+ "properties": {
125542
+ "message": {
125543
+ "type": "string",
125544
+ "default": "This action is unauthorized."
125545
+ }
125546
+ }
125547
+ }
125548
+ },
125549
+ "422": {
125550
+ "schema": {
125551
+ "type": "object",
125552
+ "required": [
125553
+ "message"
125554
+ ],
125555
+ "properties": {
125556
+ "message": {
125557
+ "type": "string"
125558
+ },
125559
+ "errors": {
125560
+ "type": "object",
125561
+ "additionalProperties": {
125562
+ "type": "array",
125563
+ "items": {
125564
+ "type": "string"
125565
+ }
125566
+ }
125567
+ }
125568
+ }
125569
+ }
125570
+ },
125571
+ "429": {
125572
+ "schema": {
125573
+ "type": "object",
125574
+ "properties": {
125575
+ "message": {
125576
+ "type": "string"
125577
+ }
125578
+ }
125579
+ }
125580
+ }
125581
+ },
125582
+ "sharingInviteRead": {
125583
+ "200": {
125584
+ "schema": {
125585
+ "type": "object",
125586
+ "properties": {
125587
+ "data": {
125588
+ "description": "Sharing invite read schema. A sharing invite records that a personal charge point has been shared with another user.",
125589
+ "type": "object",
125590
+ "properties": {
125591
+ "id": {
125592
+ "type": "integer",
125593
+ "readOnly": true
125594
+ },
125595
+ "chargePointId": {
125596
+ "type": "integer",
125597
+ "description": "Charge point the sharing invite grants access to."
125598
+ },
125599
+ "userId": {
125600
+ "type": "integer",
125601
+ "description": "User the charge point is shared with."
125602
+ },
125603
+ "status": {
125604
+ "type": "string",
125605
+ "enum": [
125606
+ "pending",
125607
+ "accepted"
125608
+ ],
125609
+ "description": "The sharing invite status:\n- **pending**: The invited user has not yet accepted the sharing invite\n- **accepted**: The invited user accepted the sharing invite and has access to the charge point\n\nWithdrawn sharing invites are removed and are never returned by this resource.\n",
125610
+ "example": "pending"
125611
+ },
125612
+ "createdAt": {
125613
+ "type": "string",
125614
+ "format": "date-time",
125615
+ "description": "ISO 8601 formatted date",
125616
+ "readOnly": true
125617
+ },
125618
+ "lastUpdatedAt": {
125619
+ "type": "string",
125620
+ "format": "date-time",
125621
+ "description": "ISO 8601 formatted date",
125622
+ "readOnly": true
125623
+ }
125624
+ },
125625
+ "required": [
125626
+ "id",
125627
+ "chargePointId",
125628
+ "userId",
125629
+ "status",
125630
+ "createdAt",
125631
+ "lastUpdatedAt"
125632
+ ]
125633
+ }
125634
+ }
125635
+ }
125636
+ },
125637
+ "401": {
125638
+ "schema": {
125639
+ "type": "object",
125640
+ "properties": {
125641
+ "message": {
125642
+ "type": "string"
125643
+ }
125644
+ }
125645
+ }
125646
+ },
125647
+ "403": {
125648
+ "schema": {
125649
+ "type": "object",
125650
+ "properties": {
125651
+ "message": {
125652
+ "type": "string",
125653
+ "default": "This action is unauthorized."
125654
+ }
125655
+ }
125656
+ }
125657
+ },
125658
+ "404": {
125659
+ "schema": {
125660
+ "type": "object",
125661
+ "properties": {
125662
+ "message": {
125663
+ "type": "string"
125664
+ }
125665
+ }
125666
+ }
125667
+ },
125668
+ "429": {
125669
+ "schema": {
125670
+ "type": "object",
125671
+ "properties": {
125672
+ "message": {
125673
+ "type": "string"
125674
+ }
125675
+ }
125676
+ }
125677
+ }
125678
+ },
122262
125679
  "subOperatorsListingDeprecated": {
122263
125680
  "200": {
122264
125681
  "schema": {