@ampeco/public-api-mcp 3.104.3 → 3.105.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2075,6 +2075,148 @@
2075
2075
  }
2076
2076
  }
2077
2077
  },
2078
+ {
2079
+ "path": "/public-api/actions/evse/v1.0/bulk-assign-tariff-group",
2080
+ "method": "POST",
2081
+ "operationId": "evseBulkAssignTariffGroups",
2082
+ "summary": "EVSEs / Bulk Assign Tariff Groups",
2083
+ "description": "Bulk assign tariff groups for multiple EVSEs. This action allows you to assign or unassign tariff groups to multiple EVSEs at once, filtered by location, partner, evses and tariff groups. The update is processed synchronously and there is a limit of max 1000 EVSEs per request.",
2084
+ "tags": [
2085
+ "action / evse"
2086
+ ],
2087
+ "requestBody": {
2088
+ "required": true,
2089
+ "content": {
2090
+ "application/json": {
2091
+ "schema": {
2092
+ "type": "object",
2093
+ "properties": {
2094
+ "filters": {
2095
+ "type": "object",
2096
+ "properties": {
2097
+ "locationIds": {
2098
+ "type": "array",
2099
+ "items": {
2100
+ "type": "integer"
2101
+ },
2102
+ "example": [
2103
+ 1,
2104
+ 2,
2105
+ 3
2106
+ ],
2107
+ "description": "Filter EVSEs by location IDs"
2108
+ },
2109
+ "partnerIds": {
2110
+ "type": "array",
2111
+ "items": {
2112
+ "type": "integer"
2113
+ },
2114
+ "example": [
2115
+ 10,
2116
+ 20
2117
+ ],
2118
+ "description": "Filter EVSEs by partner IDs"
2119
+ },
2120
+ "evseIds": {
2121
+ "type": "array",
2122
+ "items": {
2123
+ "type": "integer"
2124
+ },
2125
+ "example": [
2126
+ 10,
2127
+ 20
2128
+ ],
2129
+ "description": "Filter EVSEs by EVSE IDs"
2130
+ },
2131
+ "chargePointIds": {
2132
+ "type": "array",
2133
+ "items": {
2134
+ "type": "integer"
2135
+ },
2136
+ "example": [
2137
+ 10,
2138
+ 20
2139
+ ],
2140
+ "description": "Filter EVSEs by Charge point IDs"
2141
+ },
2142
+ "tariffGroupIds": {
2143
+ "type": "array",
2144
+ "items": {
2145
+ "type": "integer"
2146
+ },
2147
+ "example": [
2148
+ 10,
2149
+ 20
2150
+ ],
2151
+ "description": "Filter EVSEs by tariff group IDs"
2152
+ }
2153
+ },
2154
+ "description": "Optional filters to select EVSEs for bulk update"
2155
+ },
2156
+ "tariffGroupId": {
2157
+ "type": "integer",
2158
+ "example": 42,
2159
+ "nullable": true,
2160
+ "description": "The tariff group ID to assign (null to unassign)"
2161
+ }
2162
+ },
2163
+ "required": [
2164
+ "tariffGroupId"
2165
+ ],
2166
+ "example": {
2167
+ "filters": {
2168
+ "locationIds": [
2169
+ 1,
2170
+ 2
2171
+ ],
2172
+ "partnerIds": [
2173
+ 10
2174
+ ],
2175
+ "evseIds": [
2176
+ 10,
2177
+ 20
2178
+ ],
2179
+ "chargePointIds": [
2180
+ 10,
2181
+ 20
2182
+ ],
2183
+ "tariffGroupIds": [
2184
+ 10
2185
+ ]
2186
+ },
2187
+ "tariffGroupId": 42
2188
+ }
2189
+ }
2190
+ }
2191
+ }
2192
+ },
2193
+ "responses": {
2194
+ "202": {
2195
+ "description": "Action accepted"
2196
+ },
2197
+ "204": {
2198
+ "description": "Action scheduled. Request has been accepted and will be executed when transaction(s) in progress have finished."
2199
+ },
2200
+ "401": {
2201
+ "description": "Access token is missing or invalid"
2202
+ },
2203
+ "403": {
2204
+ "description": "You do not have permission to perform the action"
2205
+ },
2206
+ "404": {
2207
+ "description": "The record is not found"
2208
+ },
2209
+ "406": {
2210
+ "description": "Action rejected by the Charge Point"
2211
+ },
2212
+ "422": {
2213
+ "description": "The payload you provided is invalid"
2214
+ },
2215
+ "429": {
2216
+ "description": "Too many requests. Please try again later. For more information, please check the rate limit headers X-RateLimit-*"
2217
+ }
2218
+ }
2219
+ },
2078
2220
  {
2079
2221
  "path": "/public-api/actions/evse/v1.0/{evse}/start",
2080
2222
  "method": "POST",
@@ -5499,7 +5641,7 @@
5499
5641
  },
5500
5642
  "rejectionReason": {
5501
5643
  "type": "string",
5502
- "description": "Reason for rejection (if status is rejected)"
5644
+ "description": "Human-readable reason for rejection. Response behavior: Only present when status is \"rejected\". Omitted for \"pending\" and \"approved\" requests."
5503
5645
  },
5504
5646
  "createdAt": {
5505
5647
  "type": "string",
@@ -5517,75 +5659,157 @@
5517
5659
  "type": "integer",
5518
5660
  "description": "ID of the target location"
5519
5661
  },
5662
+ "externalId": {
5663
+ "type": "string",
5664
+ "maxLength": 255,
5665
+ "description": "External identifier from roaming partner (e.g., OCPI request_id). Response behavior: Only present when an external ID was provided. Omitted when not specified."
5666
+ },
5667
+ "startAt": {
5668
+ "type": "string",
5669
+ "format": "date-time",
5670
+ "description": "Start time of the booking"
5671
+ },
5672
+ "endAt": {
5673
+ "type": "string",
5674
+ "format": "date-time",
5675
+ "description": "End time of the booking"
5676
+ },
5520
5677
  "evseId": {
5521
5678
  "type": "integer",
5522
- "description": "Specific EVSE ID (optional - if not provided, system will choose any available EVSE)"
5679
+ "description": "Specific EVSE ID to book. Response behavior: Only present when a specific EVSE was requested. Omitted when EVSE selection was based on criteria or left to the system."
5523
5680
  },
5524
5681
  "evseCriteria": {
5525
5682
  "type": "object",
5526
5683
  "properties": {
5527
5684
  "currentType": {
5528
- "type": "string",
5529
- "enum": [
5530
- "ac",
5531
- "dc"
5685
+ "oneOf": [
5686
+ {
5687
+ "type": "string",
5688
+ "enum": [
5689
+ "ac",
5690
+ "dc"
5691
+ ],
5692
+ "description": "Type of current available on the EVSE: - **ac**: Alternating Current (AC) charging - **dc**: Direct Current (DC) fast charging"
5693
+ },
5694
+ {
5695
+ "type": "null"
5696
+ }
5532
5697
  ],
5533
- "description": "Type of current available on the EVSE: - **ac**: Alternating Current (AC) charging - **dc**: Direct Current (DC) fast charging"
5698
+ "description": "Required current type (AC or DC). Omitted in response when not specified."
5534
5699
  },
5535
5700
  "minPower": {
5536
5701
  "type": "number",
5537
- "description": "Minimum power requirement (kW)"
5702
+ "description": "Minimum power requirement in kW. Omitted in response when not specified."
5538
5703
  },
5539
5704
  "maxPower": {
5540
5705
  "type": "number",
5541
- "description": "Maximum power requirement (kW)"
5706
+ "description": "Maximum power requirement in kW. Omitted in response when not specified."
5542
5707
  },
5543
5708
  "connectorType": {
5544
- "type": "string",
5545
- "enum": [
5546
- "type1",
5547
- "type2",
5548
- "type3",
5549
- "chademo",
5550
- "ccs1",
5551
- "ccs2",
5552
- "schuko",
5553
- "nacs",
5554
- "cee16",
5555
- "cee32",
5556
- "j1772",
5557
- "inductive",
5558
- "nema-5-20",
5559
- "type-e-french",
5560
- "type-g-british",
5561
- "type-j-swiss",
5562
- "avcon",
5563
- "gb-t-ac",
5564
- "gb-t-dc",
5565
- "chaoji",
5566
- "nema-6-30",
5567
- "nema-6-50"
5709
+ "oneOf": [
5710
+ {
5711
+ "type": "string",
5712
+ "enum": [
5713
+ "type1",
5714
+ "type2",
5715
+ "type3",
5716
+ "chademo",
5717
+ "ccs1",
5718
+ "ccs2",
5719
+ "schuko",
5720
+ "nacs",
5721
+ "cee16",
5722
+ "cee32",
5723
+ "j1772",
5724
+ "inductive",
5725
+ "nema-5-20",
5726
+ "type-e-french",
5727
+ "type-g-british",
5728
+ "type-j-swiss",
5729
+ "avcon",
5730
+ "gb-t-ac",
5731
+ "gb-t-dc",
5732
+ "chaoji",
5733
+ "nema-6-30",
5734
+ "nema-6-50"
5735
+ ],
5736
+ "description": "Type of connector available on the EVSE: - **type1**: Type 1 connector (SAE J1772 AC) - **type2**: Type 2 connector (IEC 62196-2 AC) - **type3**: Type 3 connector (IEC 62196-2 AC) - **chademo**: CHAdeMO DC fast charging - **ccs1**: Combined Charging System 1 (CCS1/Combo 1) - **ccs2**: Combined Charging System 2 (CCS2/Combo 2) - **schuko**: Standard European household socket - **nacs**: North American Charging Standard (Tesla) - **cee16**: CEE 16A industrial connector - **cee32**: CEE 32A industrial connector - **j1772**: SAE J1772 connector - **inductive**: Inductive/wireless charging - **nema-5-20**: Domestic M NEMA 5-20 Socket - **type-e-french**: French Type E socket - **type-g-british**: British Type G socket - **type-j-swiss**: Swiss Type J socket - **avcon**: AVCON connector (Australian standard) - **gb-t-ac**: GB/T AC connector (Chinese standard) - **gb-t-dc**: GB/T DC connector (Chinese standard) - **chaoji**: ChaoJi (CHAdeMO 3.0) - **nema-6-30**: NEMA 6-30 - **nema-6-50**: NEMA 6-50"
5737
+ },
5738
+ {
5739
+ "type": "null"
5740
+ }
5568
5741
  ],
5569
- "description": "Type of connector available on the EVSE: - **type1**: Type 1 connector (SAE J1772 AC) - **type2**: Type 2 connector (IEC 62196-2 AC) - **type3**: Type 3 connector (IEC 62196-2 AC) - **chademo**: CHAdeMO DC fast charging - **ccs1**: Combined Charging System 1 (CCS1/Combo 1) - **ccs2**: Combined Charging System 2 (CCS2/Combo 2) - **schuko**: Standard European household socket - **nacs**: North American Charging Standard (Tesla) - **cee16**: CEE 16A industrial connector - **cee32**: CEE 32A industrial connector - **j1772**: SAE J1772 connector - **inductive**: Inductive/wireless charging - **nema-5-20**: Domestic M NEMA 5-20 Socket - **type-e-french**: French Type E socket - **type-g-british**: British Type G socket - **type-j-swiss**: Swiss Type J socket - **avcon**: AVCON connector (Australian standard) - **gb-t-ac**: GB/T AC connector (Chinese standard) - **gb-t-dc**: GB/T DC connector (Chinese standard) - **chaoji**: ChaoJi (CHAdeMO 3.0) - **nema-6-30**: NEMA 6-30 - **nema-6-50**: NEMA 6-50"
5742
+ "description": "Required connector type. Omitted in response when not specified."
5570
5743
  }
5571
5744
  },
5572
- "description": "Criteria for selecting EVSE to be booked, not used if `evseId` is passed"
5745
+ "description": "Criteria for automatic EVSE selection based on technical requirements. Ignored when evseId is explicitly provided. Response behavior: Only present when EVSE criteria were specified in the request. Omitted when evseId was provided or no criteria were specified."
5573
5746
  },
5574
- "startAt": {
5575
- "type": "string",
5576
- "format": "date-time",
5577
- "description": "Start time of the booking"
5578
- },
5579
- "endAt": {
5580
- "type": "string",
5581
- "format": "date-time",
5582
- "description": "End time of the booking"
5747
+ "parkingSpaceCriteria": {
5748
+ "type": "object",
5749
+ "properties": {
5750
+ "vehicleWeightKg": {
5751
+ "type": "integer",
5752
+ "minimum": 1,
5753
+ "description": "Vehicle weight in kilograms. Omitted in response when not specified."
5754
+ },
5755
+ "vehicleHeightCm": {
5756
+ "type": "integer",
5757
+ "minimum": 1,
5758
+ "description": "Vehicle height in centimeters. Omitted in response when not specified."
5759
+ },
5760
+ "vehicleLengthCm": {
5761
+ "type": "integer",
5762
+ "minimum": 1,
5763
+ "description": "Vehicle length in centimeters. Omitted in response when not specified."
5764
+ },
5765
+ "vehicleWidthCm": {
5766
+ "type": "integer",
5767
+ "minimum": 1,
5768
+ "description": "Vehicle width in centimeters. Omitted in response when not specified."
5769
+ },
5770
+ "vehicleType": {
5771
+ "oneOf": [
5772
+ {
5773
+ "type": "string",
5774
+ "enum": [
5775
+ "two_and_three_wheel_vehicles_and_quadricycles",
5776
+ "passenger_vehicles",
5777
+ "passenger_vehicles_with_trailer",
5778
+ "light_duty_vans",
5779
+ "heavy_duty_tractor_units_without_trailer",
5780
+ "heavy_duty_trucks_without_articulation_point",
5781
+ "heavy_duty_trucks_with_trailer_attached",
5782
+ "buses_or_motor_coaches"
5783
+ ],
5784
+ "description": "Type of vehicle that can use the parking space: - **two_and_three_wheel_vehicles_and_quadricycles**: Motorcycles, scooters, and similar - **passenger_vehicles**: Standard cars - **passenger_vehicles_with_trailer**: Cars with trailers attached - **light_duty_vans**: Small commercial vans - **heavy_duty_tractor_units_without_trailer**: Heavy trucks without trailer - **heavy_duty_trucks_without_articulation_point**: Heavy trucks without articulation - **heavy_duty_trucks_with_trailer_attached**: Heavy trucks with trailer - **buses_or_motor_coaches**: Buses and coaches"
5785
+ },
5786
+ {
5787
+ "type": "null"
5788
+ }
5789
+ ],
5790
+ "description": "Required vehicle type. Omitted in response when not specified."
5791
+ },
5792
+ "driveThroughRequired": {
5793
+ "type": "boolean",
5794
+ "description": "Whether parking space must support drive-through charging. Omitted in response when not specified."
5795
+ },
5796
+ "refrigerationOutletRequired": {
5797
+ "type": "boolean",
5798
+ "description": "Whether parking space must have refrigeration outlet. Omitted in response when not specified."
5799
+ },
5800
+ "dangerousGoodsAllowed": {
5801
+ "type": "boolean",
5802
+ "description": "Whether parking space must allow dangerous goods vehicles. Omitted in response when not specified."
5803
+ }
5804
+ },
5805
+ "description": "Parking space criteria for selecting EVSE with suitable parking. Response behavior: This property is only included in the response when parking criteria were specified in the request. If no criteria were provided, this property is omitted entirely."
5583
5806
  },
5584
- "externalId": {
5585
- "type": "string",
5586
- "maxLength": 255,
5587
- "nullable": true,
5588
- "description": "External identifier from roaming partner (e.g., OCPI request_id)"
5807
+ "authorizedTokenIds": {
5808
+ "type": "array",
5809
+ "items": {
5810
+ "type": "integer"
5811
+ },
5812
+ "description": "Array of OCPI token IDs that are authorized for this booking. Multiple tokens allow flexibility for roaming users who may have multiple valid authentication methods (e.g., RFID card and mobile app token). When omitted, the booking will not have specific token authorization."
5589
5813
  }
5590
5814
  },
5591
5815
  "required": [
@@ -5594,7 +5818,8 @@
5594
5818
  "locationId",
5595
5819
  "startAt",
5596
5820
  "endAt"
5597
- ]
5821
+ ],
5822
+ "description": "Base properties for create booking request (shared between input and response)"
5598
5823
  },
5599
5824
  {
5600
5825
  "type": "object",
@@ -5621,7 +5846,7 @@
5621
5846
  },
5622
5847
  "rejectionReason": {
5623
5848
  "type": "string",
5624
- "description": "Reason for rejection (if status is rejected)"
5849
+ "description": "Human-readable reason for rejection. Response behavior: Only present when status is \"rejected\". Omitted for \"pending\" and \"approved\" requests."
5625
5850
  },
5626
5851
  "createdAt": {
5627
5852
  "type": "string",
@@ -5639,6 +5864,11 @@
5639
5864
  "type": "integer",
5640
5865
  "description": "ID of the user for whom the booking is made"
5641
5866
  },
5867
+ "externalId": {
5868
+ "type": "string",
5869
+ "maxLength": 255,
5870
+ "description": "External identifier from roaming partner (e.g., OCPI request_id). Response behavior: Only present when an external ID was provided. Omitted when not specified."
5871
+ },
5642
5872
  "startAt": {
5643
5873
  "type": "string",
5644
5874
  "format": "date-time",
@@ -5649,17 +5879,19 @@
5649
5879
  "format": "date-time",
5650
5880
  "description": "Updated end time of the booking"
5651
5881
  },
5652
- "externalId": {
5653
- "type": "string",
5654
- "maxLength": 255,
5655
- "nullable": true,
5656
- "description": "External identifier from roaming partner (e.g., OCPI request_id)"
5882
+ "authorizedTokenIds": {
5883
+ "type": "array",
5884
+ "items": {
5885
+ "type": "integer"
5886
+ },
5887
+ "description": "Array of OCPI token IDs that are authorized for this booking. Multiple tokens allow flexibility for roaming users who may have multiple valid authentication methods (e.g., RFID card and mobile app token). When omitted, the booking will not have specific token authorization."
5657
5888
  }
5658
5889
  },
5659
5890
  "required": [
5660
5891
  "type",
5661
5892
  "bookingId"
5662
- ]
5893
+ ],
5894
+ "description": "Base properties for update booking request (shared between input and response)"
5663
5895
  },
5664
5896
  {
5665
5897
  "type": "object",
@@ -5686,7 +5918,7 @@
5686
5918
  },
5687
5919
  "rejectionReason": {
5688
5920
  "type": "string",
5689
- "description": "Reason for rejection (if status is rejected)"
5921
+ "description": "Human-readable reason for rejection. Response behavior: Only present when status is \"rejected\". Omitted for \"pending\" and \"approved\" requests."
5690
5922
  },
5691
5923
  "createdAt": {
5692
5924
  "type": "string",
@@ -5703,8 +5935,7 @@
5703
5935
  "externalId": {
5704
5936
  "type": "string",
5705
5937
  "maxLength": 255,
5706
- "nullable": true,
5707
- "description": "External identifier from roaming partner (e.g., OCPI request_id)"
5938
+ "description": "External identifier from roaming partner (e.g., OCPI request_id). Response behavior: Only present when an external ID was provided. Omitted when not specified."
5708
5939
  }
5709
5940
  },
5710
5941
  "required": [
@@ -21045,6 +21276,10 @@
21045
21276
  "id": {
21046
21277
  "type": "integer"
21047
21278
  },
21279
+ "externalId": {
21280
+ "type": "string",
21281
+ "nullable": true
21282
+ },
21048
21283
  "name": {
21049
21284
  "type": "array",
21050
21285
  "items": {
@@ -21060,7 +21295,7 @@
21060
21295
  }
21061
21296
  }
21062
21297
  },
21063
- "shortDescription": {
21298
+ "description": {
21064
21299
  "type": "array",
21065
21300
  "items": {
21066
21301
  "type": "object",
@@ -21075,7 +21310,7 @@
21075
21310
  }
21076
21311
  }
21077
21312
  },
21078
- "description": {
21313
+ "shortDescription": {
21079
21314
  "type": "array",
21080
21315
  "items": {
21081
21316
  "type": "object",
@@ -21105,50 +21340,6 @@
21105
21340
  }
21106
21341
  }
21107
21342
  },
21108
- "locationImage": {
21109
- "type": "object",
21110
- "properties": {
21111
- "original": {
21112
- "type": "string",
21113
- "description": "URL to the original image"
21114
- },
21115
- "thumbnail": {
21116
- "type": "string",
21117
- "description": "URL to a thumbnail image"
21118
- },
21119
- "mimeType": {
21120
- "type": "string"
21121
- }
21122
- },
21123
- "required": [
21124
- "original",
21125
- "mimeType"
21126
- ]
21127
- },
21128
- "images": {
21129
- "type": "array",
21130
- "items": {
21131
- "type": "object",
21132
- "properties": {
21133
- "original": {
21134
- "type": "string",
21135
- "description": "URL to the original image"
21136
- },
21137
- "thumbnail": {
21138
- "type": "string",
21139
- "description": "URL to a thumbnail image"
21140
- },
21141
- "mimeType": {
21142
- "type": "string"
21143
- }
21144
- },
21145
- "required": [
21146
- "original",
21147
- "mimeType"
21148
- ]
21149
- },
21150
- "description": "If `include[]=images` is provided with the request, this array will contain the properties of all images assigned to the location."
21151
- },
21152
21343
  "geoposition": {
21153
21344
  "type": "object",
21154
21345
  "properties": {
@@ -21639,6 +21830,118 @@
21639
21830
  "type": "string",
21640
21831
  "nullable": true
21641
21832
  },
21833
+ "timezone": {
21834
+ "type": "string",
21835
+ "nullable": true,
21836
+ "description": "A valid timezone in the form of Area/Location, required when `Allow Multiple Time Zones` option is turned on in the Timezone Setting."
21837
+ },
21838
+ "parkingType": {
21839
+ "type": "string",
21840
+ "enum": [
21841
+ "ALONG_MOTORWAY",
21842
+ "PARKING_GARAGE",
21843
+ "PARKING_LOT",
21844
+ "ON_DRIVEWAY",
21845
+ "ON_STREET",
21846
+ "UNDERGROUND_GARAGE"
21847
+ ],
21848
+ "nullable": true,
21849
+ "description": "Indicates the type of parking available at the charging location. This field helps EV drivers understand the physical parking environment before arrival. **Valid values:** - `ALONG_MOTORWAY` - Located along a motorway/highway, typically at rest areas or service stations - `PARKING_GARAGE` - Multi-level parking garage structure, either above-ground or mixed-use - `PARKING_LOT` - Surface parking lot, open-air parking area - `ON_DRIVEWAY` - Located on a private driveway, typically residential or small business - `ON_STREET` - Street-side parking, curbside charging locations - `UNDERGROUND_GARAGE` - Underground parking structure, subterranean parking facility **Request behavior (POST/PATCH):** - Optional field when creating or updating locations - Send `null` to clear the parking type - Omit the field in PATCH requests to leave the existing value unchanged **Response behavior (GET):** - Field is omitted from the response when no parking type is configured (null in database) - When present, returns one of the valid enum values listed above"
21850
+ },
21851
+ "accessMethods": {
21852
+ "type": "array",
21853
+ "items": {
21854
+ "type": "string",
21855
+ "enum": [
21856
+ "OPEN",
21857
+ "TOKEN",
21858
+ "LICENSE_PLATE",
21859
+ "ACCESS_CODE",
21860
+ "INTERCOM",
21861
+ "PARKING_TICKET"
21862
+ ]
21863
+ },
21864
+ "example": [
21865
+ "OPEN",
21866
+ "TOKEN"
21867
+ ],
21868
+ "nullable": true,
21869
+ "description": "Physical access methods available at this location. Multiple methods can be selected if the site supports different access types. **Request behavior (POST/PATCH):** - Optional field when creating or updating locations - Send `null` to clear all access methods - Send `[]` to store an empty access methods list - Duplicate values are automatically de-duplicated before storage - Omit the field in PATCH requests to leave the existing value unchanged **Response behavior (GET):** - Field is omitted from the response when no access methods are configured (null in database) - When access methods are configured but the array is empty, returns an empty array `[]` - When present, returns an array of valid enum values listed above **Available methods:** - `OPEN` - Publicly accessible without restrictions - `TOKEN` - Access via RFID token or card - `LICENSE_PLATE` - Access via license plate recognition - `ACCESS_CODE` - Access via PIN/access code entry - `INTERCOM` - Access via intercom system - `PARKING_TICKET` - Access via parking ticket validation"
21870
+ },
21871
+ "facilities": {
21872
+ "type": "array",
21873
+ "items": {
21874
+ "type": "string",
21875
+ "enum": [
21876
+ "AIRPORT",
21877
+ "BIKE_SHARING",
21878
+ "BUS_STOP",
21879
+ "CAFE",
21880
+ "CARPOOL_PARKING",
21881
+ "FUEL_STATION",
21882
+ "HOTEL",
21883
+ "MALL",
21884
+ "METRO_STATION",
21885
+ "MUSEUM",
21886
+ "NATURE",
21887
+ "PARKING_LOT",
21888
+ "RECREATION_AREA",
21889
+ "RESTAURANT",
21890
+ "SPORT",
21891
+ "SUPERMARKET",
21892
+ "TAXI_STAND",
21893
+ "TRAIN_STATION",
21894
+ "TRAM_STOP",
21895
+ "WIFI"
21896
+ ]
21897
+ },
21898
+ "nullable": true,
21899
+ "description": "Describes amenities and facilities available at or near the charging location. Most values are self-explanatory. Special categories include: - `RECREATION_AREA` - Parks, playgrounds, or leisure facilities - `CARPOOL_PARKING` - Dedicated parking for carpooling/ridesharing - `NATURE` - Natural attractions or green spaces **Request behavior (POST/PATCH):** - Optional field when creating or updating locations - Send `null` to clear all facilities - Send `[]` to store an empty facilities list - Duplicate values are automatically de-duplicated before storage - Omit the field in PATCH requests to leave the existing value unchanged **Response behavior (GET):** - Field is omitted from the response when no facilities are configured (null in database) - When facilities are configured but the array is empty, returns an empty array `[]` - When present, returns an array of valid enum values listed above"
21900
+ },
21901
+ "locationImage": {
21902
+ "type": "object",
21903
+ "properties": {
21904
+ "original": {
21905
+ "type": "string",
21906
+ "description": "URL to the original image"
21907
+ },
21908
+ "thumbnail": {
21909
+ "type": "string",
21910
+ "description": "URL to a thumbnail image"
21911
+ },
21912
+ "mimeType": {
21913
+ "type": "string"
21914
+ }
21915
+ },
21916
+ "required": [
21917
+ "original",
21918
+ "mimeType"
21919
+ ]
21920
+ },
21921
+ "images": {
21922
+ "type": "array",
21923
+ "items": {
21924
+ "type": "object",
21925
+ "properties": {
21926
+ "original": {
21927
+ "type": "string",
21928
+ "description": "URL to the original image"
21929
+ },
21930
+ "thumbnail": {
21931
+ "type": "string",
21932
+ "description": "URL to a thumbnail image"
21933
+ },
21934
+ "mimeType": {
21935
+ "type": "string"
21936
+ }
21937
+ },
21938
+ "required": [
21939
+ "original",
21940
+ "mimeType"
21941
+ ]
21942
+ },
21943
+ "description": "If `include[]=images` is provided with the request, this array will contain the properties of all images assigned to the location."
21944
+ },
21642
21945
  "workingHours": {
21643
21946
  "type": "object",
21644
21947
  "properties": {
@@ -21833,24 +22136,6 @@
21833
22136
  }
21834
22137
  }
21835
22138
  },
21836
- "timezone": {
21837
- "type": "string",
21838
- "nullable": true,
21839
- "description": "A valid timezone in the form of Area/Location, required when `Allow Multiple Time Zones` option is turned on in the Timezone Setting."
21840
- },
21841
- "externalId": {
21842
- "type": "string",
21843
- "nullable": true
21844
- },
21845
- "roamingOperatorId": {
21846
- "type": "integer",
21847
- "description": "For roaming Locations, the ID of the roaming operator is provided."
21848
- },
21849
- "lastUpdatedAt": {
21850
- "type": "string",
21851
- "format": "date-time",
21852
- "description": "ISO 8601 formatted date"
21853
- },
21854
22139
  "chargingZones": {
21855
22140
  "type": "array",
21856
22141
  "items": {
@@ -21917,11 +22202,9 @@
21917
22202
  },
21918
22203
  "description": "If `include[]=chargingZones` is provided with the request, the location charging zones will be provided here."
21919
22204
  },
21920
- "externalAppData": {
21921
- "type": "object",
21922
- "additionalProperties": true,
21923
- "nullable": true,
21924
- "description": "Used to hold any external application data related to the session."
22205
+ "roamingOperatorId": {
22206
+ "type": "integer",
22207
+ "description": "For roaming Locations, the ID of the roaming operator is provided."
21925
22208
  },
21926
22209
  "roaming": {
21927
22210
  "type": "object",
@@ -21962,17 +22245,16 @@
21962
22245
  "type": "string"
21963
22246
  }
21964
22247
  },
21965
- "accessMethods": {
21966
- "type": "array",
21967
- "items": {
21968
- "type": "string"
21969
- },
21970
- "example": [
21971
- "OPEN",
21972
- "TOKEN"
21973
- ],
22248
+ "externalAppData": {
22249
+ "type": "object",
22250
+ "additionalProperties": true,
21974
22251
  "nullable": true,
21975
- "description": "Physical access methods available at this location. Multiple methods can be selected if the site supports different access types. **Request behavior**: Send `null` to clear, `[]` for empty, omit to leave unchanged. **Available methods**: - **OPEN**: Publicly accessible without restrictions - **TOKEN**: Access via RFID token or card - **LICENSE_PLATE**: Access via license plate recognition - **ACCESS_CODE**: Access via PIN/access code entry - **INTERCOM**: Access via intercom system - **PARKING_TICKET**: Access via parking ticket validation"
22252
+ "description": "Used to hold any external application data related to the session."
22253
+ },
22254
+ "lastUpdatedAt": {
22255
+ "type": "string",
22256
+ "format": "date-time",
22257
+ "description": "ISO 8601 formatted date"
21976
22258
  }
21977
22259
  },
21978
22260
  "required": [
@@ -22079,6 +22361,10 @@
22079
22361
  "id": {
22080
22362
  "type": "integer"
22081
22363
  },
22364
+ "externalId": {
22365
+ "type": "string",
22366
+ "nullable": true
22367
+ },
22082
22368
  "name": {
22083
22369
  "type": "array",
22084
22370
  "items": {
@@ -22094,7 +22380,7 @@
22094
22380
  }
22095
22381
  }
22096
22382
  },
22097
- "shortDescription": {
22383
+ "description": {
22098
22384
  "type": "array",
22099
22385
  "items": {
22100
22386
  "type": "object",
@@ -22109,7 +22395,7 @@
22109
22395
  }
22110
22396
  }
22111
22397
  },
22112
- "description": {
22398
+ "shortDescription": {
22113
22399
  "type": "array",
22114
22400
  "items": {
22115
22401
  "type": "object",
@@ -22139,50 +22425,6 @@
22139
22425
  }
22140
22426
  }
22141
22427
  },
22142
- "locationImage": {
22143
- "type": "object",
22144
- "properties": {
22145
- "original": {
22146
- "type": "string",
22147
- "description": "URL to the original image"
22148
- },
22149
- "thumbnail": {
22150
- "type": "string",
22151
- "description": "URL to a thumbnail image"
22152
- },
22153
- "mimeType": {
22154
- "type": "string"
22155
- }
22156
- },
22157
- "required": [
22158
- "original",
22159
- "mimeType"
22160
- ]
22161
- },
22162
- "images": {
22163
- "type": "array",
22164
- "items": {
22165
- "type": "object",
22166
- "properties": {
22167
- "original": {
22168
- "type": "string",
22169
- "description": "URL to the original image"
22170
- },
22171
- "thumbnail": {
22172
- "type": "string",
22173
- "description": "URL to a thumbnail image"
22174
- },
22175
- "mimeType": {
22176
- "type": "string"
22177
- }
22178
- },
22179
- "required": [
22180
- "original",
22181
- "mimeType"
22182
- ]
22183
- },
22184
- "description": "If `include[]=images` is provided with the request, this array will contain the properties of all images assigned to the location."
22185
- },
22186
22428
  "geoposition": {
22187
22429
  "type": "object",
22188
22430
  "properties": {
@@ -22673,6 +22915,118 @@
22673
22915
  "type": "string",
22674
22916
  "nullable": true
22675
22917
  },
22918
+ "timezone": {
22919
+ "type": "string",
22920
+ "nullable": true,
22921
+ "description": "A valid timezone in the form of Area/Location, required when `Allow Multiple Time Zones` option is turned on in the Timezone Setting."
22922
+ },
22923
+ "parkingType": {
22924
+ "type": "string",
22925
+ "enum": [
22926
+ "ALONG_MOTORWAY",
22927
+ "PARKING_GARAGE",
22928
+ "PARKING_LOT",
22929
+ "ON_DRIVEWAY",
22930
+ "ON_STREET",
22931
+ "UNDERGROUND_GARAGE"
22932
+ ],
22933
+ "nullable": true,
22934
+ "description": "Indicates the type of parking available at the charging location. This field helps EV drivers understand the physical parking environment before arrival. **Valid values:** - `ALONG_MOTORWAY` - Located along a motorway/highway, typically at rest areas or service stations - `PARKING_GARAGE` - Multi-level parking garage structure, either above-ground or mixed-use - `PARKING_LOT` - Surface parking lot, open-air parking area - `ON_DRIVEWAY` - Located on a private driveway, typically residential or small business - `ON_STREET` - Street-side parking, curbside charging locations - `UNDERGROUND_GARAGE` - Underground parking structure, subterranean parking facility **Request behavior (POST/PATCH):** - Optional field when creating or updating locations - Send `null` to clear the parking type - Omit the field in PATCH requests to leave the existing value unchanged **Response behavior (GET):** - Field is omitted from the response when no parking type is configured (null in database) - When present, returns one of the valid enum values listed above"
22935
+ },
22936
+ "accessMethods": {
22937
+ "type": "array",
22938
+ "items": {
22939
+ "type": "string",
22940
+ "enum": [
22941
+ "OPEN",
22942
+ "TOKEN",
22943
+ "LICENSE_PLATE",
22944
+ "ACCESS_CODE",
22945
+ "INTERCOM",
22946
+ "PARKING_TICKET"
22947
+ ]
22948
+ },
22949
+ "example": [
22950
+ "OPEN",
22951
+ "TOKEN"
22952
+ ],
22953
+ "nullable": true,
22954
+ "description": "Physical access methods available at this location. Multiple methods can be selected if the site supports different access types. **Request behavior (POST/PATCH):** - Optional field when creating or updating locations - Send `null` to clear all access methods - Send `[]` to store an empty access methods list - Duplicate values are automatically de-duplicated before storage - Omit the field in PATCH requests to leave the existing value unchanged **Response behavior (GET):** - Field is omitted from the response when no access methods are configured (null in database) - When access methods are configured but the array is empty, returns an empty array `[]` - When present, returns an array of valid enum values listed above **Available methods:** - `OPEN` - Publicly accessible without restrictions - `TOKEN` - Access via RFID token or card - `LICENSE_PLATE` - Access via license plate recognition - `ACCESS_CODE` - Access via PIN/access code entry - `INTERCOM` - Access via intercom system - `PARKING_TICKET` - Access via parking ticket validation"
22955
+ },
22956
+ "facilities": {
22957
+ "type": "array",
22958
+ "items": {
22959
+ "type": "string",
22960
+ "enum": [
22961
+ "AIRPORT",
22962
+ "BIKE_SHARING",
22963
+ "BUS_STOP",
22964
+ "CAFE",
22965
+ "CARPOOL_PARKING",
22966
+ "FUEL_STATION",
22967
+ "HOTEL",
22968
+ "MALL",
22969
+ "METRO_STATION",
22970
+ "MUSEUM",
22971
+ "NATURE",
22972
+ "PARKING_LOT",
22973
+ "RECREATION_AREA",
22974
+ "RESTAURANT",
22975
+ "SPORT",
22976
+ "SUPERMARKET",
22977
+ "TAXI_STAND",
22978
+ "TRAIN_STATION",
22979
+ "TRAM_STOP",
22980
+ "WIFI"
22981
+ ]
22982
+ },
22983
+ "nullable": true,
22984
+ "description": "Describes amenities and facilities available at or near the charging location. Most values are self-explanatory. Special categories include: - `RECREATION_AREA` - Parks, playgrounds, or leisure facilities - `CARPOOL_PARKING` - Dedicated parking for carpooling/ridesharing - `NATURE` - Natural attractions or green spaces **Request behavior (POST/PATCH):** - Optional field when creating or updating locations - Send `null` to clear all facilities - Send `[]` to store an empty facilities list - Duplicate values are automatically de-duplicated before storage - Omit the field in PATCH requests to leave the existing value unchanged **Response behavior (GET):** - Field is omitted from the response when no facilities are configured (null in database) - When facilities are configured but the array is empty, returns an empty array `[]` - When present, returns an array of valid enum values listed above"
22985
+ },
22986
+ "locationImage": {
22987
+ "type": "object",
22988
+ "properties": {
22989
+ "original": {
22990
+ "type": "string",
22991
+ "description": "URL to the original image"
22992
+ },
22993
+ "thumbnail": {
22994
+ "type": "string",
22995
+ "description": "URL to a thumbnail image"
22996
+ },
22997
+ "mimeType": {
22998
+ "type": "string"
22999
+ }
23000
+ },
23001
+ "required": [
23002
+ "original",
23003
+ "mimeType"
23004
+ ]
23005
+ },
23006
+ "images": {
23007
+ "type": "array",
23008
+ "items": {
23009
+ "type": "object",
23010
+ "properties": {
23011
+ "original": {
23012
+ "type": "string",
23013
+ "description": "URL to the original image"
23014
+ },
23015
+ "thumbnail": {
23016
+ "type": "string",
23017
+ "description": "URL to a thumbnail image"
23018
+ },
23019
+ "mimeType": {
23020
+ "type": "string"
23021
+ }
23022
+ },
23023
+ "required": [
23024
+ "original",
23025
+ "mimeType"
23026
+ ]
23027
+ },
23028
+ "description": "If `include[]=images` is provided with the request, this array will contain the properties of all images assigned to the location."
23029
+ },
22676
23030
  "workingHours": {
22677
23031
  "type": "object",
22678
23032
  "properties": {
@@ -22867,24 +23221,6 @@
22867
23221
  }
22868
23222
  }
22869
23223
  },
22870
- "timezone": {
22871
- "type": "string",
22872
- "nullable": true,
22873
- "description": "A valid timezone in the form of Area/Location, required when `Allow Multiple Time Zones` option is turned on in the Timezone Setting."
22874
- },
22875
- "externalId": {
22876
- "type": "string",
22877
- "nullable": true
22878
- },
22879
- "roamingOperatorId": {
22880
- "type": "integer",
22881
- "description": "For roaming Locations, the ID of the roaming operator is provided."
22882
- },
22883
- "lastUpdatedAt": {
22884
- "type": "string",
22885
- "format": "date-time",
22886
- "description": "ISO 8601 formatted date"
22887
- },
22888
23224
  "chargingZones": {
22889
23225
  "type": "array",
22890
23226
  "items": {
@@ -22951,11 +23287,9 @@
22951
23287
  },
22952
23288
  "description": "If `include[]=chargingZones` is provided with the request, the location charging zones will be provided here."
22953
23289
  },
22954
- "externalAppData": {
22955
- "type": "object",
22956
- "additionalProperties": true,
22957
- "nullable": true,
22958
- "description": "Used to hold any external application data related to the session."
23290
+ "roamingOperatorId": {
23291
+ "type": "integer",
23292
+ "description": "For roaming Locations, the ID of the roaming operator is provided."
22959
23293
  },
22960
23294
  "roaming": {
22961
23295
  "type": "object",
@@ -22996,17 +23330,16 @@
22996
23330
  "type": "string"
22997
23331
  }
22998
23332
  },
22999
- "accessMethods": {
23000
- "type": "array",
23001
- "items": {
23002
- "type": "string"
23003
- },
23004
- "example": [
23005
- "OPEN",
23006
- "TOKEN"
23007
- ],
23333
+ "externalAppData": {
23334
+ "type": "object",
23335
+ "additionalProperties": true,
23008
23336
  "nullable": true,
23009
- "description": "Physical access methods available at this location. Multiple methods can be selected if the site supports different access types. **Request behavior**: Send `null` to clear, `[]` for empty, omit to leave unchanged. **Available methods**: - **OPEN**: Publicly accessible without restrictions - **TOKEN**: Access via RFID token or card - **LICENSE_PLATE**: Access via license plate recognition - **ACCESS_CODE**: Access via PIN/access code entry - **INTERCOM**: Access via intercom system - **PARKING_TICKET**: Access via parking ticket validation"
23337
+ "description": "Used to hold any external application data related to the session."
23338
+ },
23339
+ "lastUpdatedAt": {
23340
+ "type": "string",
23341
+ "format": "date-time",
23342
+ "description": "ISO 8601 formatted date"
23010
23343
  }
23011
23344
  }
23012
23345
  }
@@ -28196,7 +28529,8 @@
28196
28529
  "Windcave",
28197
28530
  "Web portal",
28198
28531
  "AdyenCastles",
28199
- "Printec Castles"
28532
+ "Printec Castles",
28533
+ "Cardlink Castles"
28200
28534
  ]
28201
28535
  },
28202
28536
  "chargingZoneId": {
@@ -28292,7 +28626,8 @@
28292
28626
  "Windcave",
28293
28627
  "Web portal",
28294
28628
  "AdyenCastles",
28295
- "Printec Castles"
28629
+ "Printec Castles",
28630
+ "Cardlink Castles"
28296
28631
  ]
28297
28632
  },
28298
28633
  "operatorId": {
@@ -28421,7 +28756,8 @@
28421
28756
  "Windcave",
28422
28757
  "Web portal",
28423
28758
  "AdyenCastles",
28424
- "Printec Castles"
28759
+ "Printec Castles",
28760
+ "Cardlink Castles"
28425
28761
  ]
28426
28762
  },
28427
28763
  "operatorId": {
@@ -28475,7 +28811,8 @@
28475
28811
  "Windcave",
28476
28812
  "Web portal",
28477
28813
  "AdyenCastles",
28478
- "Printec Castles"
28814
+ "Printec Castles",
28815
+ "Cardlink Castles"
28479
28816
  ]
28480
28817
  },
28481
28818
  "operatorId": {
@@ -28535,7 +28872,8 @@
28535
28872
  "Windcave",
28536
28873
  "Web portal",
28537
28874
  "AdyenCastles",
28538
- "Printec Castles"
28875
+ "Printec Castles",
28876
+ "Cardlink Castles"
28539
28877
  ]
28540
28878
  },
28541
28879
  "operatorId": {
@@ -28593,7 +28931,8 @@
28593
28931
  "Windcave",
28594
28932
  "Web portal",
28595
28933
  "AdyenCastles",
28596
- "Printec Castles"
28934
+ "Printec Castles",
28935
+ "Cardlink Castles"
28597
28936
  ]
28598
28937
  },
28599
28938
  "operatorId": {
@@ -28646,7 +28985,8 @@
28646
28985
  "Windcave",
28647
28986
  "Web portal",
28648
28987
  "AdyenCastles",
28649
- "Printec Castles"
28988
+ "Printec Castles",
28989
+ "Cardlink Castles"
28650
28990
  ]
28651
28991
  },
28652
28992
  "operatorId": {
@@ -28727,7 +29067,8 @@
28727
29067
  "Windcave",
28728
29068
  "Web portal",
28729
29069
  "AdyenCastles",
28730
- "Printec Castles"
29070
+ "Printec Castles",
29071
+ "Cardlink Castles"
28731
29072
  ]
28732
29073
  },
28733
29074
  "operatorId": {
@@ -28780,7 +29121,8 @@
28780
29121
  "Windcave",
28781
29122
  "Web portal",
28782
29123
  "AdyenCastles",
28783
- "Printec Castles"
29124
+ "Printec Castles",
29125
+ "Cardlink Castles"
28784
29126
  ]
28785
29127
  },
28786
29128
  "operatorId": {
@@ -28849,7 +29191,8 @@
28849
29191
  "Windcave",
28850
29192
  "Web portal",
28851
29193
  "AdyenCastles",
28852
- "Printec Castles"
29194
+ "Printec Castles",
29195
+ "Cardlink Castles"
28853
29196
  ]
28854
29197
  },
28855
29198
  "operatorId": {
@@ -28965,7 +29308,8 @@
28965
29308
  "Windcave",
28966
29309
  "Web portal",
28967
29310
  "AdyenCastles",
28968
- "Printec Castles"
29311
+ "Printec Castles",
29312
+ "Cardlink Castles"
28969
29313
  ]
28970
29314
  },
28971
29315
  "operatorId": {
@@ -29068,6 +29412,136 @@
29068
29412
  "terminalType",
29069
29413
  "operatorId"
29070
29414
  ]
29415
+ },
29416
+ {
29417
+ "type": "object",
29418
+ "properties": {
29419
+ "id": {
29420
+ "type": "integer"
29421
+ },
29422
+ "name": {
29423
+ "type": "string"
29424
+ },
29425
+ "integrationId": {
29426
+ "type": "integer"
29427
+ },
29428
+ "terminalType": {
29429
+ "type": "string",
29430
+ "enum": [
29431
+ "Payter",
29432
+ "Valina",
29433
+ "Crane",
29434
+ "Ampeco",
29435
+ "Nayax",
29436
+ "Embedded",
29437
+ "Pax",
29438
+ "Windcave",
29439
+ "Web portal",
29440
+ "AdyenCastles",
29441
+ "Printec Castles",
29442
+ "Cardlink Castles"
29443
+ ]
29444
+ },
29445
+ "operatorId": {
29446
+ "type": "integer"
29447
+ },
29448
+ "chargingZoneId": {
29449
+ "type": "integer",
29450
+ "description": "The charging zone the terminal belongs to. Note that either the `chargePointId` OR this attribute should be provided;"
29451
+ },
29452
+ "chargePointId": {
29453
+ "type": "integer",
29454
+ "description": "The Charge point the terminal belongs to. Note that either the `chargingZoneId` OR this attribute should be provided;"
29455
+ },
29456
+ "adminToken": {
29457
+ "type": "string",
29458
+ "description": "Specific token, linked to each terminal that can be used for access to the API. The token is created automatically when a new payment terminal is created."
29459
+ },
29460
+ "isOnline": {
29461
+ "type": "boolean",
29462
+ "description": "Use `networkStatus` instead"
29463
+ },
29464
+ "networkStatus": {
29465
+ "type": "string",
29466
+ "enum": [
29467
+ "online",
29468
+ "offline",
29469
+ "unknown"
29470
+ ]
29471
+ },
29472
+ "phone": {
29473
+ "type": "string"
29474
+ },
29475
+ "defaultLanguage": {
29476
+ "type": "string"
29477
+ },
29478
+ "presentCardOnStopSession": {
29479
+ "type": "boolean",
29480
+ "default": false
29481
+ },
29482
+ "info": {
29483
+ "type": "array",
29484
+ "items": {
29485
+ "type": "object",
29486
+ "properties": {
29487
+ "locale": {
29488
+ "type": "string",
29489
+ "description": "valid locale"
29490
+ },
29491
+ "translation": {
29492
+ "type": "string"
29493
+ }
29494
+ }
29495
+ }
29496
+ },
29497
+ "currencyCode": {
29498
+ "type": "string"
29499
+ },
29500
+ "serialNumber": {
29501
+ "type": "string"
29502
+ },
29503
+ "externalId": {
29504
+ "type": "string"
29505
+ },
29506
+ "supportedLanguages": {
29507
+ "type": "array",
29508
+ "items": {
29509
+ "type": "string"
29510
+ },
29511
+ "nullable": true
29512
+ },
29513
+ "bundle": {
29514
+ "type": "object",
29515
+ "properties": {
29516
+ "version": {
29517
+ "type": "string",
29518
+ "example": [
29519
+ "1.0.0",
29520
+ "1.0.1",
29521
+ "2.1.0"
29522
+ ],
29523
+ "description": "Desired version of the terminal android bundle. This field should be used to detect version difference between the actual one running on the terminal and the configured on the server, in order to detect if an OTA update is required."
29524
+ },
29525
+ "downloadUrl": {
29526
+ "type": "string",
29527
+ "description": "Download link to the archived (zip) bundle version. Can be used to download the bundle and initiate the OTA update on the terminal."
29528
+ }
29529
+ }
29530
+ },
29531
+ "networkStatusMonitoringEnabled": {
29532
+ "type": "boolean"
29533
+ }
29534
+ },
29535
+ "required": [
29536
+ "phone",
29537
+ "defaultLanguage",
29538
+ "info",
29539
+ "bundle",
29540
+ "name",
29541
+ "integrationId",
29542
+ "terminalType",
29543
+ "operatorId"
29544
+ ]
29071
29545
  }
29072
29546
  ]
29073
29547
  }
@@ -29186,7 +29660,8 @@
29186
29660
  "Windcave",
29187
29661
  "Web portal",
29188
29662
  "AdyenCastles",
29189
- "Printec Castles"
29663
+ "Printec Castles",
29664
+ "Cardlink Castles"
29190
29665
  ]
29191
29666
  },
29192
29667
  "operatorId": {
@@ -29268,7 +29743,8 @@
29268
29743
  "Windcave",
29269
29744
  "Web portal",
29270
29745
  "AdyenCastles",
29271
- "Printec Castles"
29746
+ "Printec Castles",
29747
+ "Cardlink Castles"
29272
29748
  ]
29273
29749
  },
29274
29750
  "operatorId": {
@@ -29363,7 +29839,8 @@
29363
29839
  "Windcave",
29364
29840
  "Web portal",
29365
29841
  "AdyenCastles",
29366
- "Printec Castles"
29842
+ "Printec Castles",
29843
+ "Cardlink Castles"
29367
29844
  ]
29368
29845
  },
29369
29846
  "operatorId": {
@@ -29410,7 +29887,8 @@
29410
29887
  "Windcave",
29411
29888
  "Web portal",
29412
29889
  "AdyenCastles",
29413
- "Printec Castles"
29890
+ "Printec Castles",
29891
+ "Cardlink Castles"
29414
29892
  ]
29415
29893
  },
29416
29894
  "operatorId": {
@@ -29464,7 +29942,8 @@
29464
29942
  "Windcave",
29465
29943
  "Web portal",
29466
29944
  "AdyenCastles",
29467
- "Printec Castles"
29945
+ "Printec Castles",
29946
+ "Cardlink Castles"
29468
29947
  ]
29469
29948
  },
29470
29949
  "operatorId": {
@@ -29515,7 +29994,8 @@
29515
29994
  "Windcave",
29516
29995
  "Web portal",
29517
29996
  "AdyenCastles",
29518
- "Printec Castles"
29997
+ "Printec Castles",
29998
+ "Cardlink Castles"
29519
29999
  ]
29520
30000
  },
29521
30001
  "operatorId": {
@@ -29562,7 +30042,8 @@
29562
30042
  "Windcave",
29563
30043
  "Web portal",
29564
30044
  "AdyenCastles",
29565
- "Printec Castles"
30045
+ "Printec Castles",
30046
+ "Cardlink Castles"
29566
30047
  ]
29567
30048
  },
29568
30049
  "operatorId": {
@@ -29634,7 +30115,8 @@
29634
30115
  "Windcave",
29635
30116
  "Web portal",
29636
30117
  "AdyenCastles",
29637
- "Printec Castles"
30118
+ "Printec Castles",
30119
+ "Cardlink Castles"
29638
30120
  ]
29639
30121
  },
29640
30122
  "operatorId": {
@@ -29681,7 +30163,8 @@
29681
30163
  "Windcave",
29682
30164
  "Web portal",
29683
30165
  "AdyenCastles",
29684
- "Printec Castles"
30166
+ "Printec Castles",
30167
+ "Cardlink Castles"
29685
30168
  ]
29686
30169
  },
29687
30170
  "operatorId": {
@@ -29714,7 +30197,8 @@
29714
30197
  "Windcave",
29715
30198
  "Web portal",
29716
30199
  "AdyenCastles",
29717
- "Printec Castles"
30200
+ "Printec Castles",
30201
+ "Cardlink Castles"
29718
30202
  ]
29719
30203
  },
29720
30204
  "operatorId": {
@@ -29815,7 +30299,8 @@
29815
30299
  "Windcave",
29816
30300
  "Web portal",
29817
30301
  "AdyenCastles",
29818
- "Printec Castles"
30302
+ "Printec Castles",
30303
+ "Cardlink Castles"
29819
30304
  ]
29820
30305
  },
29821
30306
  "operatorId": {
@@ -29882,6 +30367,102 @@
29882
30367
  "type": "boolean"
29883
30368
  }
29884
30369
  }
30370
+ },
30371
+ {
30372
+ "type": "object",
30373
+ "properties": {
30374
+ "id": {
30375
+ "type": "integer"
30376
+ },
30377
+ "name": {
30378
+ "type": "string"
30379
+ },
30380
+ "integrationId": {
30381
+ "type": "integer"
30382
+ },
30383
+ "terminalType": {
30384
+ "type": "string",
30385
+ "enum": [
30386
+ "Payter",
30387
+ "Valina",
30388
+ "Crane",
30389
+ "Ampeco",
30390
+ "Nayax",
30391
+ "Embedded",
30392
+ "Pax",
30393
+ "Windcave",
30394
+ "Web portal",
30395
+ "AdyenCastles",
30396
+ "Printec Castles",
30397
+ "Cardlink Castles"
30398
+ ]
30399
+ },
30400
+ "operatorId": {
30401
+ "type": "integer"
30402
+ },
30403
+ "chargingZoneId": {
30404
+ "type": "integer",
30405
+ "description": "The charging zone the terminal belongs to. Note that either the `chargePointId` OR this attribute should be provided;"
30406
+ },
30407
+ "chargePointId": {
30408
+ "type": "integer",
30409
+ "description": "The Charge point the terminal belongs to. Note that either the `chargingZoneId` OR this attribute should be provided;"
30410
+ },
30411
+ "adminToken": {
30412
+ "type": "string",
30413
+ "description": "Specific token, linked to each terminal that can be used for access to the API. The token is created automatically when a new payment terminal is created."
30414
+ },
30415
+ "isOnline": {
30416
+ "type": "boolean",
30417
+ "description": "Use `networkStatus` instead"
30418
+ },
30419
+ "networkStatus": {
30420
+ "type": "string",
30421
+ "enum": [
30422
+ "online",
30423
+ "offline",
30424
+ "unknown"
30425
+ ]
30426
+ },
30427
+ "phone": {
30428
+ "type": "string"
30429
+ },
30430
+ "defaultLanguage": {
30431
+ "type": "string"
30432
+ },
30433
+ "presentCardOnStopSession": {
30434
+ "type": "boolean",
30435
+ "default": false
30436
+ },
30437
+ "info": {
30438
+ "type": "array",
30439
+ "items": {
30440
+ "type": "object",
30441
+ "properties": {
30442
+ "locale": {
30443
+ "type": "string",
30444
+ "description": "valid locale"
30445
+ },
30446
+ "translation": {
30447
+ "type": "string"
30448
+ }
30449
+ }
30450
+ }
30451
+ },
30452
+ "serialNumber": {
30453
+ "type": "string"
30454
+ },
30455
+ "externalId": {
30456
+ "type": "string"
30457
+ },
30458
+ "supportedLanguages": {
30459
+ "type": "array",
30460
+ "items": {
30461
+ "type": "string"
30462
+ },
30463
+ "nullable": true
30464
+ }
30465
+ }
29885
30466
  }
29886
30467
  ]
29887
30468
  }
@@ -41101,7 +41682,7 @@
41101
41682
  ],
41102
41683
  "info": {
41103
41684
  "title": "AMPECO.CHARGE Public API",
41104
- "version": "3.104.3",
41685
+ "version": "3.105.1",
41105
41686
  "description": "AMPECO.CHARGE Public API provides you with the option to use AMPECO.CHARGE's backend in a server-to-server manner\n"
41106
41687
  },
41107
41688
  "servers": [
@@ -41115,18 +41696,18 @@
41115
41696
  }
41116
41697
  }
41117
41698
  ],
41118
- "buildTimestamp": "2025-11-27T00:15:35.947Z",
41699
+ "buildTimestamp": "2025-11-28T10:34:44.521Z",
41119
41700
  "stats": {
41120
- "totalEndpoints": 446,
41121
- "originalSize": 2609623,
41122
- "optimizedSize": 765864,
41123
- "reductionPercent": 70.65,
41124
- "buildDuration": 772,
41701
+ "totalEndpoints": 447,
41702
+ "originalSize": 2673598,
41703
+ "optimizedSize": 782602,
41704
+ "reductionPercent": 70.73,
41705
+ "buildDuration": 716,
41125
41706
  "responseSchemas": {
41126
- "total": 446,
41127
- "withSchemas": 446,
41128
- "totalSchemaSize": 1439866,
41129
- "averageSchemaSize": 3228
41707
+ "total": 447,
41708
+ "withSchemas": 447,
41709
+ "totalSchemaSize": 1484727,
41710
+ "averageSchemaSize": 3322
41130
41711
  }
41131
41712
  }
41132
41713
  }