openapi: 3.0.3 info: title: Iternio Planning API v2 description: | The Iternio EV route planner is built around the same route optimizer which powers the well-known and highly trusted ABetterRoutePlanner app, available at [https://abetterrouteplanner.com](https://abetterrouteplanner.com) as well as [https://apps.apple.com/us/app/a-better-routeplanner-abrp/id1490860521](https://apps.apple.com/us/app/a-better-routeplanner-abrp/id1490860521) and [https://play.google.com/store/apps/details?id=com.iternio.abrpapp](https://play.google.com/store/apps/details?id=com.iternio.abrpapp). As ABRP is developed, the same features also become available in the route planning API; new car models, weather features, charger database updates and so on. To be able to use the API, you will need to obtain an API key. The pricing is simple: There is a small setup cost for new customers and thereafter we charge per successful plan delivered by the API, that is specifically the plan endpoint documented below. All other calls are free of charge. Contact us to discuss your need and obtain an API key. Endpoints have three maturity levels: - *alpha*: Experimental endpoints without any guarantees of compatibility. Mainly used for development. - *beta*: Endpoints where breaking changes might be introduced on short notice. - *stable* (omitted): Endpoints where no breaking changes will be introduced without major precautions. version: 2.0.3 termsOfService: https://www.iternio.com/terms-of-use contact: name: API Support email: contact@iternio.com servers: - url: https://api.iternio.com/2 tags: - name: plan description: Endpoints related to planning and driving. - name: charger description: Endpoints related to charger. - name: vehicle description: Endpoints related to vehicles. - name: network description: Endpoints related to charger networks. - name: charge-card description: Endpoints related to charge-cards. - name: price description: Endpoints related to charger prices. - name: media description: Endpoints related to media. - name: app description: Endpoints related to the ABRP app. - name: poi description: Endpoints related to points of interests. - name: route-share description: Endpoints related to route sharing. - name: development description: Endpoints that are currently being developed. paths: /plan: post: security: - ApiKeyAuth: [] summary: Create a plan description: | Create an EV route plan and return routes with guidance instructions. operationId: plan tags: - plan parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PlanRequestWithTelemetry" examples: Simple: value: destinations: - location: type: ADDRESS value: Lund, Sweden - location: type: ADDRESS value: Stockholm, Sweden vehicle: identifier: type: TYPECODE value: rivian:r1s:21:135 responses: "200": $ref: "#/components/responses/PlanOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/WithMessage" "403": $ref: "#/components/responses/WithMessage" "500": $ref: "#/components/responses/WithMessage" /plan/amenity-candidates: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Amenity Candidate Search description: | Get amenity candidates for a new plan. operationId: amenity_candidates_with_plan tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AmenityCandidatesRequest" responses: "200": $ref: "#/components/responses/AmenityCandidatesOk" "400": $ref: "#/components/responses/WithMessage" "401": $ref: "#/components/responses/WithMessage" "403": $ref: "#/components/responses/WithMessage" "500": $ref: "#/components/responses/WithMessage" /route/refresh: post: security: - ApiKeyAuth: [] summary: Refresh a plan description: | Create an EV route plan and return routes with guidance instructions. operationId: refresh tags: - plan parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/RefreshRequestWithTelemetry" responses: "200": $ref: "#/components/responses/RefreshOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/WithMessage" "403": $ref: "#/components/responses/WithMessage" "500": $ref: "#/components/responses/WithMessage" /route/amenity-candidates: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Amenity Candidate Search description: | Search for amenity candidates based on a given plan. This endpoint is used to find suitable amenities along the route. operationId: amenity_candidates_along_route tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AmenityCandidatesAlongRouteRequest" responses: "200": $ref: "#/components/responses/AmenityCandidatesAlongRouteOk" "400": $ref: "#/components/responses/WithMessage" "401": $ref: "#/components/responses/WithMessage" "403": $ref: "#/components/responses/WithMessage" "500": $ref: "#/components/responses/WithMessage" /abrp/plan: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: Create a plan description: | Create an EV route plan and return routes with guidance instructions. operationId: abrp_plan tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - in: header name: X-ABRP-V1-Plan-UUID required: false schema: type: string description: Original v1 plan UUID for correlation and comparison purposes (development only) requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AbrpPlanRequest" responses: "200": $ref: "#/components/responses/AbrpPlanOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/WithMessage" "403": $ref: "#/components/responses/WithMessage" "500": $ref: "#/components/responses/WithMessage" /abrp/plan/alternatives: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: Generate plan alternatives description: | Generate alternative EV route plans based on an existing plan. operationId: abrp_plan_alternatives tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PlanAlternativesRequest" responses: "200": $ref: "#/components/responses/AbrpPlanOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/WithMessage" "403": $ref: "#/components/responses/WithMessage" "500": $ref: "#/components/responses/WithMessage" /abrp/route/refresh: post: security: - ApiKeyAuth: [] summary: Refresh a plan description: | Create an EV route plan and return routes with guidance instructions. operationId: abrp_refresh tags: - app parameters: - $ref: "#/components/parameters/apiKey" - in: header name: X-ABRP-V1-Plan-UUID required: false schema: type: string description: Original v1 plan UUID for correlation and comparison purposes (development only) - name: X-ABRP-RS in: header required: false description: Secret key that identifies one share schema: type: string description: The Access key to the share requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AbrpRefreshRequest" responses: "200": $ref: "#/components/responses/AbrpRefreshOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/WithMessage" "403": $ref: "#/components/responses/WithMessage" "500": $ref: "#/components/responses/WithMessage" /abrp/plan/amenity-candidates: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) ABRP Amenity Candidate Search description: | Get amenity candidates for a new plan. operationId: amenity_candidates_with_abrp_plan tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AbrpAmenityCandidatesRequest" responses: "200": $ref: "#/components/responses/AbrpAmenityCandidatesOk" "400": $ref: "#/components/responses/WithMessage" "401": $ref: "#/components/responses/WithMessage" "403": $ref: "#/components/responses/WithMessage" "500": $ref: "#/components/responses/WithMessage" /abrp/plan/ev-comparison: get: security: - ApiKeyAuth: [] summary: (alpha) EV Comparison description: | Get an EV comparison for a given plan. operationId: ev_comparison tags: - development parameters: - $ref: "#/components/parameters/apiKey" - name: waypoints in: query required: true schema: type: string example: 59.33,18.07|55.60,13.00|48.85,2.35 description: Pipe-separated list of lat,lon coordinate pairs. Order is significant — first waypoint is origin, last is destination. - name: typecode in: query required: true schema: type: string example: rivian:r1s:21:135 - name: temperatureC in: query schema: type: number example: 20 description: The temperature in Celsius. - name: month in: query schema: type: integer minimum: 1 maximum: 12 example: 1 description: The month of the year to use for the seasonal weather. responses: "200": $ref: "#/components/responses/EvComparisonOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /abrp/plan/{planId}/request: get: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: Retrieve the original plan request description: Returns the request parameters that were used to generate the specified plan. operationId: get_plan_request tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - name: planId in: path required: true description: The ID of the plan. schema: type: string example: 12345678-1234-1234-1234-123456789012 responses: "200": description: Successfully retrieved the plan request. content: application/json: schema: $ref: "#/components/schemas/SavedPlanRequest" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (Alpha) Persist the original plan request description: | Persists the plan request used to generate a route for future retrieval. operationId: persist_plan_request tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - name: planId in: path required: true description: The ID of the plan. schema: type: string example: 12345678-1234-1234-1234-123456789012 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PersistPlanRequest" responses: "201": description: Plan request successfully persisted. content: application/json: schema: $ref: "#/components/schemas/SavedPlanRequest" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" delete: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Delete a persisted plan request. description: Removes the persisted plan request associated with the given UUID. operationId: delete_plan_request tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - in: path name: planId required: true description: The ID of the plan. schema: type: string example: 12345678-1234-1234-1234-123456789012 responses: "204": description: Successfully deleted. "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /abrp/plan/_saved-requests: get: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) List saved plan requests for the user. description: | Returns all saved plan requests associated with the current user session. operationId: list_saved_plan_requests tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" responses: "200": description: List of saved plan requests content: application/json: schema: type: object required: - items properties: items: $ref: "#/components/schemas/SavedPlanRequestList" "401": $ref: "#/components/responses/Unauthorized" "500": $ref: "#/components/responses/InternalServerError" /abrp/voice/_text: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Plan a route from a voice transcript description: | Take a free-text transcript ("drive home", "from Lund to Stockholm") plus the same context as `/abrp/plan`, and return a `VoiceResponse`. operationId: abrp_voice_text tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/VoiceTextRequest" responses: "200": $ref: "#/components/responses/VoiceResponseOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "429": $ref: "#/components/responses/TooManyRequests" "502": $ref: "#/components/responses/WithMessage" "503": $ref: "#/components/responses/WithMessage" /abrp/voice/_audio: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Plan a route from a voice recording description: | Take a recorded audio clip plus the same context as `/abrp/plan`, transcribe it server-side, and return a `VoiceResponse`. operationId: abrp_voice_audio tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: multipart/form-data: schema: $ref: "#/components/schemas/VoiceAudioRequest" responses: "200": $ref: "#/components/responses/VoiceResponseOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "413": $ref: "#/components/responses/WithMessage" "429": $ref: "#/components/responses/TooManyRequests" "502": $ref: "#/components/responses/WithMessage" "503": $ref: "#/components/responses/WithMessage" /range: post: security: - ApiKeyAuth: [] summary: (alpha) Create a range plot description: Create a range plot showing reachable points from a given location based on vehicle and conditions. operationId: range tags: - development parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/RangeRequest" responses: "200": $ref: "#/components/responses/RangeOk" "400": $ref: "#/components/responses/PlanBadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /auth/login: post: security: - ApiKeyAuth: [] summary: (alpha) Login description: | Logs in a user and returns a session token. operationId: login tags: - auth parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: type: object required: - username - password properties: username: type: string description: The username password: type: string description: The password responses: "200": description: OK content: application/json: schema: type: object required: - access_token - token_type - expires_in - refresh_token properties: access_token: type: string description: Access token token_type: type: string expires_in: type: integer description: The time in seconds until the token expires example: 300 refresh_token: type: string description: The refresh token example: 1234567890 "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "429": $ref: "#/components/responses/TooManyRequests" "500": $ref: "#/components/responses/InternalServerError" /charger/_get: post: security: - ApiKeyAuth: [] summary: (alpha) Charger get description: | Returns information about chargers based on multiple ids. Note that the order of the input ids is preserved in the output. operationId: charger_get tags: - charger parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: type: object required: - chargerIds properties: chargerIds: type: array items: $ref: "#/components/schemas/ChargerId" maxItems: 1000 responses: "200": $ref: "#/components/responses/ChargerGetOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charger/{chargerId}: get: security: - ApiKeyAuth: [] summary: (alpha) Charger by id operationId: charger_by_id tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/chargerIdRequired" responses: "200": $ref: "#/components/responses/ChargerOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/{chargerId}/deeplink/{operator}/event: post: security: - ApiKeyAuth: [] summary: Report deeplink press event for a charger description: Endpoint for the app to report that a user has pressed a deeplink for a given charger and operator. operationId: charger_deeplink_event tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/chargerIdRequired" - name: operator in: path required: true description: The operator connected to the deeplink schema: type: string requestBody: description: Event details content: application/json: schema: type: object properties: requestId: type: string description: Optional unique request identifier for correlation or billing platform: $ref: "#/components/schemas/Platform" responses: "201": $ref: "#/components/responses/Created" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /charger/{chargerId}/banner/{operator}/event/view: post: security: - ApiKeyAuth: [] summary: Report banner view event for a charger description: Endpoint for the app to report that a user has pressed a deeplink for a given charger and operator. operationId: charger_banner_view_event tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/chargerIdRequired" - name: operator in: path required: true description: The operator connected to the banner schema: type: string requestBody: description: Event details content: application/json: schema: type: object properties: bannerId: type: string description: The identifier of the banner platform: $ref: "#/components/schemas/Platform" responses: "201": $ref: "#/components/responses/Created" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /charger/{chargerId}/banner/{operator}/event/click: post: security: - ApiKeyAuth: [] summary: Report banner press event for a charger description: Endpoint for reporting that a user has pressed a banner for a given charger and operator. operationId: charger_banner_click_event tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/chargerIdRequired" - name: operator in: path required: true description: The operator connected to the banner schema: type: string requestBody: description: Event details content: application/json: schema: type: object properties: requestId: type: string description: Optional unique request identifier for correlation or billing bannerId: type: string description: The identifier of the banner platform: $ref: "#/components/schemas/Platform" responses: "201": $ref: "#/components/responses/Created" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /charger/_get/details: post: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Charger get details description: | Returns detailed information about chargers based on multiple ids. Note that the order of the input ids is preserved in the output. operationId: charger_details_get tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - in: header name: ACCEPT-LANGUAGE required: false schema: type: string example: en-US description: The lang code for localized responses. requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ChargerDetailsRequest" responses: "200": $ref: "#/components/responses/DetailedChargerGetOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charger/_get/geo-chargers: post: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Get GeoChargers description: | Returns information about chargers based on ids. operationId: geo_chargers_get tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/GeoChargerGetRequest" responses: "200": $ref: "#/components/responses/GeoChargerGetOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charger/_google-place-ids: post: security: - ApiKeyAuth: [] summary: Map between charger IDs and Google Place IDs (bidirectional) description: | Maps charger IDs to Google Place IDs or vice versa. Provide either chargerIds, googlePlaceIds, or both, in the request. Only successful matches are included in the response. operationId: google_place_ids_post tags: - charger parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/GooglePlaceIdsRequest" responses: "200": $ref: "#/components/responses/GooglePlaceIdsOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charger/{chargerId}/prices: get: security: - ApiKeyAuth: [] summary: (beta) Charger prices description: | Returns information about the prices of the charger. operationId: prices_from_charger tags: - price parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/chargerIdRequired" example: 220069843 - in: query name: currency schema: type: string example: SEK description: | The three digit currency code. All prices will be converted to the specified currency. The local price of the charger will be returned if not specified. - in: query name: typecode schema: type: string example: rivian:r1s:21:135 description: Modifies the returned scores to be vehicle specific. responses: "200": $ref: "#/components/responses/ChargerPricesOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/{chargerId}/media: get: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Get info about media associated with a charger description: | Returns information about user provided images for a chargers. The content are images supplied from abrp users and possible other sources. operationId: charger_media_by_id tags: - charger - media parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - $ref: "#/components/parameters/chargerIdRequired" responses: "200": $ref: "#/components/responses/ChargerMediaOk" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Upload an image for a charger description: | Uploads and media to the specified charger. Currently Only jpeg images are supported. operationId: charger_upload_media tags: - charger - media parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" - $ref: "#/components/parameters/chargerIdRequired" - in: query name: lat schema: $ref: "#/components/schemas/Lat" - in: query name: long schema: $ref: "#/components/schemas/Long" requestBody: content: image/jpeg: schema: type: string format: binary application/json: schema: type: object required: - image - contentType properties: image: type: string description: base64 encode image contentType: type: string description: The content type of the image enum: - image/jpeg responses: "202": $ref: "#/components/responses/MediaUploadAccepted" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/_evse-status/compact: post: security: - ApiKeyAuth: [] summary: Compact EVSE statuses operationId: charger_evse_status_compact description: | Returns EVSE statuses for a list of chargers given chargers. Each EVSE status is represented as an integer index into the global `statusTypes` array. If `updatedSince` is provided, only EVSEs whose status has changed since that time are returned. tags: - charger parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: type: object required: - chargerIds properties: chargerIds: maxItems: 500 type: array items: $ref: "#/components/schemas/ChargerId" responses: "200": $ref: "#/components/responses/ChargerEvseStatusOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /media/chargerimg/{chargerImageId}/report: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Report a problem with a charger image description: | User report problem for specific chargers operationId: app_charger_image_report tags: - charger - media - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" - $ref: "#/components/parameters/chargerImageIdRequired" requestBody: content: application/json: schema: type: object required: - reason properties: reason: type: string enum: - WRONG_LOCATION - REMOVE_IMAGE - OTHER description: The reason for reporting the image feedback: type: string description: base64 encode image maxLength: 1000 responses: "202": $ref: "#/components/responses/Accepted" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/_search/tiled: post: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Tiled charger search description: | Mainly used for displaying chargers on the map. The earth is split into tiles based on zoom-level. The tiling has the following implications: - The same chargers are always returned for a specific zoom level/location. - It is possible to cache the result on the client. This enables less data transfer and faster response times. - The result will be more evenly distributed. The recommend approach is to cache the tiles returned from the client. This is enabled through sending the tiles cached on the client as in input parameter. The server will then respond with a sorted list of tile keys, the content of the unknown tiles, and the minimum number of tiles to display. Always render the minimum number of tiles on the map. It is however up to the client to decide on how many of the tiles it wants to cache. The backend will handle invalidating tiles if they are outdated. operationId: tiled_bbox_search tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TiledSchema" examples: simple: value: southWest: lat: 55.5 long: 13.1 northEast: lat: 55.75 long: 13.3 filter: connectorTypes: - CCS - SC - TYPE2 boost: networkIds: - 1 avoid: networkIds: - 2 cachedTiles: - ChIJAAAAAMC6S0ARAAAAAAAxKkASEgkAAAAAYMBLQBEAAAAAAF4qQBgMIJURKO4ZMAE4CEIMCPy51bAGEICWyfoC - ChIJAAAAAGDAS0ARAAAAAAAxKkASEgkAAAAAAMZLQBEAAAAAAF4qQBgMIJURKO8ZMAFCDAj8udWwBhC8m8n6Ag== responses: "200": $ref: "#/components/responses/TiledChargerSearchOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charger/_search/bounding-box: post: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Bounding box search description: Queries for chargers defined by a bounding box. operationId: charger_search_bbox tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: allOf: - type: object required: - southWest - northEast - sortBy properties: southWest: $ref: "#/components/schemas/Coordinates" description: The lower left corner of the bounding box. northEast: $ref: "#/components/schemas/Coordinates" description: The upper right corner of the bounding box. sortBy: type: string enum: - POWER example: POWER description: | Decides the method of sorting chargers, which in turn determines what chargers are returned. - $ref: "#/components/schemas/GeoSearchParams" examples: simple: value: southWest: lat: 55.5 long: 13.1 northEast: lat: 55.75 long: 13.3 sortBy: POWER limit: 20 responses: "200": $ref: "#/components/responses/ChargerGeoSearchOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/_search/bounding-boxes/ids: post: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Bounding boxes ids description: | Queries for chargers defined by a bounding box. The order of the result matches the order of the input bounding boxes. operationId: charger_ids_search_bboxes tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: allOf: - type: object required: - boundingBoxes - sortBy properties: boundingBoxes: type: array items: $ref: "#/components/schemas/CoordsArray" sortBy: type: string enum: - POWER example: POWER description: | Decides the method of sorting chargers, which in turn determines what chargers are returned. - $ref: "#/components/schemas/GeoSearchParams" - type: object properties: annotations: $ref: "#/components/schemas/GeoSearchIdAnnotations" examples: simple: value: southWest: lat: 55.5 long: 13.1 northEast: lat: 55.75 long: 13.3 sortBy: POWER limit: 20 responses: "200": $ref: "#/components/responses/BboxesChargerIdsSearchOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/_search/geopoint: post: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Geopoint search description: Queries for chargers defined by a geopoint. operationId: charger_search_geopoint tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: allOf: - type: object required: - location - maxDistance - sortBy properties: location: $ref: "#/components/schemas/Coordinates" maxDistance: type: integer minimum: 1 maximum: 500000 default: 50000 description: The maximum allowed distance to a returned charger, in meters. sortBy: type: string enum: - POWER - DISTANCE - POWER_AND_DISTANCE example: POWER description: | Decides the method of sorting chargers, which in turn determines what chargers are returned. Power and distance is a weighted method which accounts both for power and distance. - $ref: "#/components/schemas/GeoSearchParams" responses: "200": $ref: "#/components/responses/ChargerGeoSearchOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/_search/bounding-box/re-center: post: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Bounding box re-center description: Returns a bounding box to be used for re-centering the map view. operationId: charger_search_bbox_recenter tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: allOf: - type: object required: - currentBoundingBox properties: currentBoundingBox: type: array items: $ref: "#/components/schemas/Coordinates" - $ref: "#/components/schemas/GeosearchParamsBase" responses: "200": $ref: "#/components/responses/ChargerBoundingBoxReCenterOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/_autocomplete: post: security: - ApiKeyAuth: [] tags: - charger operationId: ChargerAutoComplete summary: (alpha) Charger autocomplete search parameters: - $ref: "#/components/parameters/apiKey" - in: header name: ACCEPT-LANGUAGE required: false schema: type: string example: en-US description: The lang code for search if not specified in the body. requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AutoCompleteQuery" responses: "200": description: Ok content: application/json: schema: type: object required: - result properties: result: type: array items: $ref: "#/components/schemas/AutoCompleteItemCharger" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charger/_rating: get: security: - ApiKeyAuth: [] summary: (alpha) Ratings for chargers description: | Will enumerate all chargers for which there are ratings that are allowed base on api key. operationId: charger_list_rating tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/cursor" responses: "200": $ref: "#/components/responses/ChargerListRatingResponseOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/_features: get: security: - ApiKeyAuth: [] summary: (alpha) Features for chargers description: | Will enumerate all chargers for which there are features that are allowed base on api key. operationId: charger_list_feature tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/cursor" responses: "200": $ref: "#/components/responses/ChargerListFeatureResponseOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /network: get: security: - ApiKeyAuth: [] summary: (alpha) List networks description: | Returns a paginated list of networks. operationId: network_list tags: - network parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/cursor" - in: query name: limit required: false schema: type: integer minimum: 1 maximum: 1000 default: 10 description: Maximum number of networks to return. - in: query name: sortBy required: false schema: type: string enum: - CHARGER_COUNT description: Determines the order of the items. - $ref: "#/components/parameters/allowDeprecated" responses: "200": $ref: "#/components/responses/NetworkListOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /network/_search: post: security: - ApiKeyAuth: [] summary: (alpha) Network search description: | Search endpoint for networks. operationId: network_search tags: - network parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: type: object properties: filter: $ref: "#/components/schemas/NetworkFilter" description: Impacts what networks are returned. boost: $ref: "#/components/schemas/NetworkBoost" description: Impacts the order of the returned networks. Similar to a "soft sort". limit: type: integer minimum: 1 maximum: 500 default: 10 description: Maximum number of networks to return. examples: ionity: value: filter: name: ion limit: 10 tesla: value: filter: name: tes limit: 10 responses: "200": $ref: "#/components/responses/NetworkSearchOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /network/_get: post: security: - ApiKeyAuth: [] summary: (alpha) Network get description: | Returns detailed information about networks based on multiple ids. Note that the order of the input ids is preserved in the output. operationId: network_get tags: - network parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: type: object required: - networkIds properties: networkIds: type: array items: $ref: "#/components/schemas/NetworkId" maxItems: 1000 responses: "200": $ref: "#/components/responses/NetworkGetOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /network/{networkId}: get: security: - ApiKeyAuth: [] summary: (alpha) Network by id description: | Returns a network based on the id. operationId: network_from_id tags: - network parameters: - $ref: "#/components/parameters/apiKey" - in: path required: true name: networkId schema: $ref: "#/components/schemas/NetworkId" description: The id of the network. examples: ionity: value: 85 summary: Ionity responses: "200": $ref: "#/components/responses/NetworkByIdOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charge-card: get: security: - ApiKeyAuth: [] summary: (alpha) List charge cards description: | Returns a paginated list of charge cards. operationId: charge_card_list tags: - charge-card parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/cursor" - in: query name: limit required: false schema: type: integer minimum: 1 maximum: 1000 default: 10 description: Maximum number of charge cards to return. - in: query name: sortBy required: false schema: type: string enum: - CHARGER_COUNT - OPERATOR description: | Determines the order of the items. Sorting by charger count is currently broken. - $ref: "#/components/parameters/allowDeprecated" - in: query name: allowDefaultPrice schema: $ref: "#/components/schemas/AllowDefaultPrice" responses: "200": $ref: "#/components/responses/ChargeCardListOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charge-card/{cardId}: get: security: - ApiKeyAuth: [] summary: (alpha) Charge card by id description: | Returns a charger card based on the id. operationId: charge_card_from_id tags: - charge-card parameters: - $ref: "#/components/parameters/apiKey" - in: path required: true name: cardId schema: $ref: "#/components/schemas/CardId" description: The id of the charge card. examples: Elli: value: 788433496 summary: Elli responses: "200": $ref: "#/components/responses/ChargeCardByIdOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /charge-card/_search: post: security: - ApiKeyAuth: [] summary: (alpha) Charge card search description: | Search endpoint for charge cards. operationId: charge_card_search tags: - charge-card parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: type: object properties: filter: $ref: "#/components/schemas/CardSearchFilter" description: Determines what cards are returned. boost: $ref: "#/components/schemas/CardSearchBoost" description: Impacts the order of the returned items. Similar to a "soft sort". limit: type: integer minimum: 1 maximum: 500 default: 10 description: Maximum number of cards to return. responses: "200": $ref: "#/components/responses/ChargeCardSearchOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charge-card/_get: post: security: - ApiKeyAuth: [] summary: (alpha) Charge card get description: | Returns information about a list of charge card. The order is preserved. operationId: charge_card_get tags: - charge-card parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: type: object required: - cardIds properties: cardIds: type: array items: $ref: "#/components/schemas/CardId" maxItems: 1000 responses: "200": $ref: "#/components/responses/ChargeCardGetOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /charger/{chargerId}/amenities: get: security: - ApiKeyAuth: [] summary: (alpha) Get Amenities around a charger description: | Returns information about amenities around a charger. operationId: charger_by_id_get_amenities tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/chargerIdRequired" - in: query name: categoryLimit required: false schema: type: integer minimum: 1 maximum: 10 default: 10 description: Maximum number of amenities per category to return. - in: query name: radius required: false schema: type: integer minimum: 0 maximum: 2000 default: 500 description: The radius in meters to search for amenities. - in: query name: categories required: false schema: type: array items: $ref: "#/components/schemas/AmenityType" description: | The categories to search for. If supplied only amenities that has one or more of the specified categories will be returned. - in: query name: subcategories required: false schema: type: array items: $ref: "#/components/schemas/AmenitySubtype" description: | The sub-categories to search for. If supplied, only amenities that has one or more of the specified sub-categories will be returned. responses: "200": $ref: "#/components/responses/AmenitiesOk" "400": $ref: "#/components/responses/BadRequest" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/{chargerId}/charging-sessions/summary: get: security: - ApiKeyAuth: [] summary: (alpha) Get information on charging sessions. description: | Returns information based on reported charging sessions. operationId: charger_by_id_get_sessions_summary tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/chargerIdRequired" responses: "200": $ref: "#/components/responses/ChargingSessionsOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /charger/{chargerId}/charging-sessions: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Report a charging session description: | Report a charging session. operationId: charger_by_id_report_session tags: - charger parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - $ref: "#/components/parameters/chargerIdRequired" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ReportChargingSessionPayload" responses: "201": $ref: "#/components/responses/Created" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /charger/{chargerId}/issues: post: security: - ApiKeyAuth: [] - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Report issue description: | Creates an issue report. operationId: create_issue tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - $ref: "#/components/parameters/chargerIdRequired" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/CreateIssuePayload" responses: "201": description: Created content: text/plain: schema: type: object required: - id properties: id: type: string description: An unique identifier for the reported issue. example: abc-123-456 "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /vehicle/_list: get: security: - AbrpSessionAuth: [] ApiKeyAuth: [] summary: List available vehicles description: | Returns a list of vehicles that the user has access to. operationId: vehicle_list tags: - vehicle parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - $ref: "#/components/parameters/countryCode3" responses: "200": $ref: "#/components/responses/VehicleListOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /vehicle-model/image/_get: post: security: - AbrpSessionAuth: [] ApiKeyAuth: [] summary: (alpha) Gets multiple images from typecodes description: | Returns an array of vehicle images. The order of the input typecodes is preserved in the output. If an image is not found and hidden is false, the corresponding response item is an empty object. operationId: vehicle_model_get_images tags: - vehicle parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: type: array items: type: object required: - typecode - scene properties: typecode: $ref: "#/components/schemas/schemas-Typecode" scene: $ref: "#/components/schemas/ImageScene" size: $ref: "#/components/schemas/ImageSize" paint: $ref: "#/components/schemas/PaintId" licensePlate: $ref: "#/components/schemas/LicensePlate" hidden: $ref: "#/components/schemas/HiddenVehicle" quality: $ref: "#/components/schemas/ImageQuality" scaleMode: $ref: "#/components/schemas/ImageScaleMode" responses: "200": description: Returning array with image links content: application/json: schema: type: array items: $ref: "#/components/schemas/CarImageUrlObject" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /vehicle-model/by-typecode/{typecode}/image/{scene}: get: security: - AbrpSessionAuth: [] ApiKeyOptionalAuth: [] summary: (alpha) Gets a vehicle image from the typecode description: | Returns a vehicle image. If the image is not found and hidden is false, this returns a 404. operationId: vehicle_model_get_image tags: - vehicle parameters: - $ref: "#/components/parameters/apiKeyOptional" - $ref: "#/components/parameters/abrpSession" - $ref: "#/components/parameters/typecodeInPath" - in: path required: true name: scene schema: $ref: "#/components/schemas/ImageScene" - in: query name: size required: false description: The image size in pixels to return. If not provided, the default size for the type will be returned. schema: $ref: "#/components/schemas/ImageSize" - in: query name: paint required: false description: The paint color to use. If not provided, the default color for the vehicle will be returned. schema: $ref: "#/components/schemas/PaintId" - in: query name: licensePlate required: false description: The license plate to use. If not provided, no license plate will be shown schema: $ref: "#/components/schemas/LicensePlate" - in: query name: hidden required: false description: If true, the vehicle will be rendered as an hidden vehicle schema: $ref: "#/components/schemas/HiddenVehicle" - in: query name: quality required: false description: WebP encoding quality (1-100). Higher = better quality, larger file size. Default 85. schema: $ref: "#/components/schemas/ImageQuality" - in: query name: scaleMode required: false description: | How the image is framed. `fit` (default) crops empty margins; `preserve` keeps the original framing so multi-vehicle listings retain real-world relative size. schema: $ref: "#/components/schemas/ImageScaleMode" responses: "200": description: Returning image content: image/png: schema: type: string format: binary image/jpeg: schema: type: string format: binary image/webp: schema: type: string format: binary "302": $ref: "#/components/responses/Found" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /vehicle-model/by-typecode/{typecode}/charge-curve/get: post: security: - ApiKeyAuth: [] summary: (alpha) Charge curve operationId: vehicle_model_get_charge_curve tags: - vehicle parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/typecodeInPath" requestBody: required: true content: application/json: schema: type: object properties: chargerId: $ref: "#/components/schemas/ChargerId" startSoc: $ref: "#/components/schemas/StartSoc" calibrationState: type: string description: | The current calibration state. Might affect the charger speed. examples: ionityHbg: value: chargerId: 50878898 startSoc: 10 responses: "200": $ref: "#/components/responses/ChargerCurveOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /vehicle-model/by-typecode/{typecode}/ref-cons: get: security: - ApiKeyAuth: [] summary: (alpha) Reference Consumption operationId: vehicle_model_get_ref_cons_by_typecode tags: - vehicle parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/typecodeParam" - $ref: "#/components/parameters/vehicleConfigType" - $ref: "#/components/parameters/vehicleConfigKey" - $ref: "#/components/parameters/extraMassKg" - $ref: "#/components/parameters/manualRefCons" responses: "200": $ref: "#/components/responses/RefConsOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /vehicle-model/by-id/{vehicleId}/ref-cons: get: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Reference Consumption operationId: vehicle_model_get_ref_cons_by_id tags: - vehicle parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" - $ref: "#/components/parameters/vehicleIdInPath" - $ref: "#/components/parameters/vehicleConfigType" - $ref: "#/components/parameters/vehicleConfigKey" - $ref: "#/components/parameters/extraMassKg" - $ref: "#/components/parameters/manualRefCons" responses: "200": $ref: "#/components/responses/RefConsOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /route-share-group/vehicle/{vehicleId}: get: security: - AbrpSessionAuth: [] summary: (alpha) Get list of shares a vehicle is part of description: | Returns a list of shares for that the vehicle is part of. With the read access keys. operationId: route_share_vehicle_list tags: - route-share parameters: - $ref: "#/components/parameters/vehicleIdInPath" - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" responses: "200": $ref: "#/components/responses/RouteShareListOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" put: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Register vehicle in a share description: | RouteShare your ride and vehicle information via a link. For this to work firs a share group needs to be created via `POST /route-share-group` operationId: route_share_create tags: - route-share parameters: - $ref: "#/components/parameters/vehicleIdInPath" - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" - $ref: "#/components/parameters/routeShareHeaderKey" - $ref: "#/components/parameters/wait" requestBody: content: application/json: schema: type: object responses: "204": $ref: "#/components/responses/NoContent" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" delete: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Remove a vehicle from a share group description: | Removes the vehicle from the share group. Can be called by admin provide routesharekey or the owner of the vehicle. operationId: route_share_vehicle_delete tags: - route-share parameters: - $ref: "#/components/parameters/vehicleIdInPath" - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" - $ref: "#/components/parameters/routeShareHeaderKey" - $ref: "#/components/parameters/wait" responses: "202": $ref: "#/components/responses/Accepted" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /route-share-group/vehicle/{vehicleId}/status: get: security: - ApiKeyAuth: [] summary: (alpha) Get status of vehicle in share description: | Returns the status of the vehicle in the share group. operationId: route_share_vehicle_get_status tags: - route-share parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/vehicleIdInPath" - $ref: "#/components/parameters/routeShareHeaderKeyList" - name: Accept in: header required: true schema: type: string example: application/json default: application/json responses: "200": $ref: "#/components/responses/RouteShareVehicleStatusOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" put: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Update status of vehicle in share description: | Updates the status of the vehicle in the share group. Must be owner of vehicle operationId: route_share_vehicle_update_status tags: - route-share parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" - $ref: "#/components/parameters/vehicleIdInPath" requestBody: content: application/json: schema: $ref: "#/components/schemas/VehicleStatus" responses: "202": $ref: "#/components/responses/Accepted" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /route-share-group: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Create a share group description: | A share group is a collection of shares. By distributing the shareGroupId you can invite other users to add a share to the group. tags: - route-share operationId: route_share_group_create parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" - $ref: "#/components/parameters/wait" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/RouteShareGroupCreate" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/RouteShareGroup" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" get: security: - ApiKeyAuth: [] summary: (alpha) Get a share group from the key in the header tags: - route-share operationId: route_share_group_get parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/routeShareHeaderKey" - in: query name: filter description: | Filter the shares in the group. schema: type: string description: | The filter to apply to the shares. * `ACTIVE`: Only active shares. * `ALL`: All shares even shares that are expired. enum: - ACTIVE - ALL example: ACTIVE default: ALL responses: "200": description: Ok content: application/json: schema: $ref: "#/components/schemas/RouteShareGroup" "400": $ref: "#/components/responses/BadRequest" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" put: security: - ApiKeyAuth: [] summary: (alpha) Update a share group description: | Update the share group. Must proved routeShareKey that are admin of the group. It is not allowed to edit a group after that the group has expired. (where end_data>=now()). To stop the share set the end data to now() operationId: route_share_group_id_put tags: - route-share parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/routeShareHeaderKey" - $ref: "#/components/parameters/wait" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/RouteShareGroupUpdate" responses: "200": description: Ok content: application/json: schema: $ref: "#/components/schemas/RouteShareGroup" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /speed-cameras/_get: post: summary: (alpha) Get all speed cameras along a route. description: Get all speed cameras that will be passed along a given polyline route. security: - ApiKeyAuth: [] AbrpSessionAuth: [] operationId: list_speed_cameras tags: - plan parameters: - $ref: "#/components/parameters/abrpSession" - $ref: "#/components/parameters/apiKey" requestBody: $ref: "#/components/requestBodies/SpeedCamerasRequestBody" responses: "200": $ref: "#/components/responses/SpeedCamerasOk" "400": $ref: "#/components/responses/BadRequest" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /app/config: get: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Get app configuration description: | Get the configuration for the application. operationId: get_app_config tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - in: query name: version schema: type: string example: 1.0.0 description: The version of the app. required: true - in: query name: platform required: true schema: type: string enum: - ANDROID - AUTOMOTIVE - IOS - WEB example: ANDROID description: The platform of the app. - in: query name: build required: true schema: type: integer format: int32 minimum: 0 example: 3080 responses: "200": description: Ok content: application/json: schema: type: object required: - upgrade - flags properties: upgrade: $ref: "#/components/schemas/UpgradeType" flags: type: array description: A list of flags that are active items: type: string example: flag1 description: A flag that is active. "400": $ref: "#/components/responses/BadRequest" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /app/user-feedback: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Report user-feedback description: Create a report with feedback from the user. operationId: create_app_user_feedback tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AppUserFeedback" responses: "201": $ref: "#/components/responses/Created" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /abrp/me/api-keys: get: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: List your self-managed API keys description: | Returns the caller's currently-valid self-managed API keys. The api-key value itself is never returned by this endpoint — secrets are show-once and are only returned by `POST /abrp/me/api-keys`. Authentication: standard `X-API-KEY` (any abrp app/partner key) plus `X-ABRP-SESSION` (your OIDC access token). Keys are scoped to the user resolved from the access token. operationId: list_self_api_keys tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" responses: "200": description: List of self-managed API keys. content: application/json: schema: type: array items: $ref: "#/components/schemas/SelfManagedApiKey" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: Create a self-managed API key description: | Generates a new API key for the caller and returns its UUIDv4 secret exactly once. Save it immediately; we cannot show it again. To rotate a key, delete it and create a new one. Server-controlled fields (not configurable per request): the feature set is fixed to `get_data,post_data` for posting and reading personal telemetry, and the rate limit is fixed to two calls per second. Each user is capped at five active keys; over the cap the endpoint returns `409`. operationId: create_self_api_key tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" requestBody: required: false content: application/json: schema: $ref: "#/components/schemas/CreateSelfManagedApiKeyRequest" responses: "201": description: Newly created key with its one-time secret. content: application/json: schema: $ref: "#/components/schemas/CreatedSelfManagedApiKey" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "409": description: Conflict — maximum number of API keys reached. content: text/plain: schema: type: string "500": $ref: "#/components/responses/InternalServerError" /abrp/me/api-keys/{keyId}: delete: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: Delete a self-managed API key description: | Permanently removes one of the caller's self-managed API keys. Only the owner of the key can delete it; calling this with a keyId that doesn't belong to the authenticated user returns `404` (the same response you'd get for a non-existent id, so ownership cannot be probed). operationId: delete_self_api_key tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" - name: keyId in: path required: true description: The id returned by `list_self_api_keys` / `create_self_api_key`. schema: type: integer format: int64 minimum: 1 example: 909 responses: "204": description: Successfully deleted. "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /app/metrics/performance: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: Submit performance metrics description: Allows the app to report performance and usage metrics. operationId: report_performance_metrics tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PerformanceMetrics" responses: "201": $ref: "#/components/responses/Created" "400": $ref: "#/components/responses/BadRequest" "500": $ref: "#/components/responses/InternalServerError" /app/location/autocomplete: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] tags: - app operationId: AppLocationAutocomplete summary: (alpha) Get location autocomplete description: | Get location autocomplete for a given query. The query is a string that will be used to search for locations. The response will be a list of locations that match the query. The returned session is to be reused in further calls to this method. The session is also mandatory for the `result` endpoint. parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - in: header name: ACCEPT-LANGUAGE required: false schema: type: string example: en-US description: The lang code for search if not specified in the body. requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AutoCompleteQueryWithSession" responses: "200": description: Ok content: application/json: schema: type: object required: - result - session properties: session: $ref: "#/components/schemas/AutoCompleteSession" result: type: array items: $ref: "#/components/schemas/AutoCompleteItem" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /app/location/autocomplete/result: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] tags: - app operationId: AppLocationAutocompleteResult summary: (alpha) Get location autocomplete result description: | Get the result from the autocomplete session. This will consume the session, reusing the same session to get results will fail. parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" requestBody: required: true content: application/json: schema: type: object required: - session - id properties: session: type: string description: The session id from from the lookup call. example: "1234567890" id: type: string responses: "200": description: Ok content: application/json: schema: type: object required: - location - result properties: location: $ref: "#/components/schemas/Coordinates" description: | The location of the result. This is the location of the result in the session. result: type: string "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /poi/autosuggest: post: security: - ApiKeyAuth: [] tags: - poi operationId: PoiAutosuggest summary: (alpha) Get point-of-interest autosuggest description: | Get point-of-interest (POI) autosuggest for a given query using multiple search modes. This endpoint provides POI suggestions including places, addresses, chargers, ferries, and other POIs based on the specified modes. **Modes:** - `FERRY` - Search for ferry routes - `CHARGER` - Search for EV chargers - `HERE` - Search for places using HERE API - `GOOGLE_AUTOSEARCH` - Search for places using Google Places API Each mode type can only appear once in the modes array. All modes run in parallel and results are merged into a single response. When using `GOOGLE_AUTOSEARCH` mode, the `google_session` field in the response should be reused in subsequent calls and is required for the `/poi/autosuggest/result` endpoint. parameters: - $ref: "#/components/parameters/apiKey" - in: header name: ACCEPT-LANGUAGE required: false schema: type: string example: en-US description: The lang code for search if not specified in the body. requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AutosuggestRequest" responses: "200": description: Ok content: application/json: schema: type: object required: - result properties: google_session: $ref: "#/components/schemas/AutoCompleteSession" description: | Session token for Google Places API. Only returned when GOOGLE_AUTOSEARCH mode is requested. This session should be reused in subsequent calls and is required for the `/poi/autosuggest/result` endpoint. result: type: array items: $ref: "#/components/schemas/AutoCompleteItem" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /poi/autosuggest/result: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] tags: - poi operationId: PoiAutosuggestResult summary: (alpha) Get point-of-interest autosuggest result description: | Get the result details for a Google Places autosuggest item. This endpoint is used to retrieve the full location details for a LOOKUP type result from the autosuggest endpoint when using GOOGLE_AUTOSEARCH mode. The session will be consumed after this call - reusing the same session will fail. parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: type: object required: - session - id properties: session: type: string description: The google_session from the /poi/autosuggest response. example: "1234567890" id: type: string description: The id of the LOOKUP result item from /poi/autosuggest. responses: "200": description: Ok content: application/json: schema: type: object required: - location - result properties: location: $ref: "#/components/schemas/Coordinates" description: | The location of the result. This is the location of the result in the session. result: type: string "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /app/featurebase/sso: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Featurebase SSO description: Get a jwt token for sso. operationId: featurebase_sso tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" responses: "200": description: JWT token for SSO content: application/json: schema: $ref: "#/components/schemas/FeaturebaseSsoOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /stats/plan: get: security: - ApiKeyAuth: [] summary: (alpha) Get total number of abrp plans created operationId: get_stats_plan tags: - development parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/acceptHeader" responses: "200": description: Ok content: application/json: schema: type: object required: - count properties: count: type: integer format: int64 minimum: 0 description: The total number of plans created. text/event-stream: schema: type: string example: | Same as the normal response but as a stream of events with data: as prefix e.g. `data: {"count": 123}` "401": $ref: "#/components/responses/Unauthorized" "500": $ref: "#/components/responses/InternalServerError" /tlm/{vehicleId}: get: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Get telemetry for a vehicle description: | Returns tlm data for the specified vehicle operationId: tlm_get_for_vehicle tags: - development parameters: - $ref: "#/components/parameters/vehicleIdInPath" - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - $ref: "#/components/parameters/acceptHeader" - $ref: "#/components/parameters/routeShareHeaderKeyListOptional" responses: "200": $ref: "#/components/responses/TlmGetForVehicleOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /tlm: get: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Get telemetry for multiple vehicles description: | Returns a stream of data for the specified vehicles. NB! The non stream application/json is just for documenting the response format and will not be used. operationId: tlm_get tags: - development parameters: - $ref: "#/components/parameters/vehiclesIdInQuery" - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - $ref: "#/components/parameters/acceptHeader" - $ref: "#/components/parameters/routeShareHeaderKeyListOptional" responses: "200": $ref: "#/components/responses/TlmGetForVehiclesOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /app/tlm/{vehicleId}: post: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: (alpha) Post telemetry for a vehicle with multiple data points operationId: app_tlm_post_for_vehicle tags: - app parameters: - $ref: "#/components/parameters/vehicleIdInPath" - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSessionRequired" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InputPoint" responses: "200": $ref: "#/components/responses/AppTlmPostTlmResponse" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /app/tlm: post: security: - TlmTokenAuth: [] summary: (alpha) Post a batch of telemetry points using a legacy v1 telemetry token operationId: app_tlm_post_with_token tags: - app parameters: - $ref: "#/components/parameters/tlmTokenRequired" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InputPointList" responses: "200": $ref: "#/components/responses/AppTlmPostTlmResponse" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" "501": $ref: "#/components/responses/NotImplemented" /app/route-summarize: get: security: - ApiKeyAuth: [] AbrpSessionAuth: [] summary: Get recent route summaries description: | Returns a list of recent route planning results with simplified data optimized for display. Useful for displaying route visualizations on kiosk displays or dashboards. Returns globally recent plans, so it requires a logged-in user holding the `kiosk` role (passed via `X-ABRP-SESSION`) in addition to an API key with the `kiosk` feature. Callers without a valid kiosk session receive `401`; logged-in users lacking the role receive `403`. operationId: get_app_route_summarize tags: - app parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/abrpSession" - in: query name: max_age_seconds schema: type: integer minimum: 1 maximum: 3600 default: 60 description: Maximum age of routes to return in seconds - in: query name: cursor schema: type: string description: Pagination cursor from previous response to fetch next page of results responses: "200": description: Successfully retrieved route summaries content: application/json: schema: $ref: "#/components/schemas/RouteSummaryResult" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /ferry: get: security: - ApiKeyAuth: [] summary: Search ferries by location description: | Search for ferry routes by geographic criteria. Supports both bounding box and radius-based searches. * For bounding box searches, returns ferries whose route geometry intersects with the specified area. * For radius searches, returns ferries with departure point locations within the radius from the given coordinates. operationId: ferry_search parameters: - $ref: "#/components/parameters/apiKey" - in: query name: bbox schema: type: string pattern: ^-?\d+\.?\d*,-?\d+\.?\d*,-?\d+\.?\d*,-?\d+\.?\d*$ example: 10.0,54.0,20.0,60.0 description: | Bounding box as "west,south,east,north" coordinates. Returns ferries whose route geometry intersects with the specified bounding box. - in: query name: lat schema: $ref: "#/components/schemas/Lat" description: Latitude for radius search (must be used with lng and radius) - in: query name: lng schema: $ref: "#/components/schemas/Long" description: Longitude for radius search (must be used with lat and radius) - in: query name: radius schema: type: integer minimum: 100 maximum: 100000 example: 5000 description: | Search radius in meters from the specified coordinates. Ferries are matched by their departure point location. - in: query name: limit schema: type: integer minimum: 1 maximum: 500 default: 10 description: Maximum number of ferry routes to return responses: "200": description: Successfully retrieved ferry routes content: application/json: schema: type: array items: allOf: - $ref: "#/components/schemas/Ferry" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" /ferry/{ferryId}: get: security: - ApiKeyAuth: [] summary: Get ferry details by ID description: | Returns detailed information about a specific ferry route. operationId: ferry_by_id parameters: - $ref: "#/components/parameters/apiKey" - in: path name: ferryId required: true schema: type: string description: Unique identifier for the ferry route example: 1349018822:{|alI}_xgArfqAana@ responses: "200": description: Successfully retrieved ferry details content: application/json: schema: $ref: "#/components/schemas/Ferry" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /oem2/charger/{chargerId}/extended-info: get: security: - ApiKeyAuth: [] summary: Get additional information about a specific charger. operationId: stellantis_extended_info tags: - charger - beta parameters: - $ref: "#/components/parameters/apiKey" - $ref: "#/components/parameters/chargerId" responses: "200": $ref: "#/components/responses/ExtendedInfoOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/InternalServerError" /oem2/charger/_get/details: post: security: - ApiKeyAuth: [] summary: Get details about a specific charger. operationId: oem2_charger_details tags: - charger parameters: - $ref: "#/components/parameters/apiKey" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ChargerDetailsRequest" responses: "200": $ref: "#/components/responses/Oem2ChargerDetailsOk" "400": $ref: "#/components/responses/BadRequest" "401": $ref: "#/components/responses/Unauthorized" "403": $ref: "#/components/responses/Forbidden" "500": $ref: "#/components/responses/InternalServerError" components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-KEY ApiKeyOptionalAuth: type: apiKey in: header name: X-API-KEY AbrpSessionAuth: type: apiKey in: header name: X-ABRP-SESSION TlmTokenAuth: type: apiKey in: header name: X-TLM-TOKEN parameters: abrpSession: name: X-ABRP-SESSION in: header description: The user session key for abrp users schema: type: string example: abrp_session_token abrpSessionRequired: name: X-ABRP-SESSION in: header description: The user session key for abrp users schema: type: string example: abrp_session_token required: true tlmTokenRequired: name: X-TLM-TOKEN in: header description: Legacy telemetry token from v1 user_tokens table schema: type: string example: 123a4567-8bcd-9012-e345-fgh6789i0123 required: true typecodeParam: name: typecode in: path required: true schema: $ref: "#/components/schemas/Typecode" countryCode3: in: query name: countryCode3 schema: $ref: "#/components/schemas/Country3" extraMassKg: name: extraMassKg in: query schema: type: number minimum: 0 default: 0 description: The extra mass of the vehicle in kg. vehicleConfigKey: name: vehicleConfigKey in: query schema: type: string description: The key of the vehicle configuration. Typically either "default" or a UUID. Sometimes associated with a drive mode (EG - Rivian). example: 123a4567-8bcd-9012-e345-fgh6789i0123 vehicleConfigType: name: vehicleConfigType in: query schema: type: string description: The config type used to determine reference consumption. enum: - NORMAL - BICYCLE-BACK - BICYCLE-TOP - CARGO-BACK - CARGO-TOP - TRAILER-SMALL - TRAILER-MEDIUM - TRAILER-LARGE - ROLE - TYRES - OTHER manualRefCons: name: manualRefCons in: query schema: type: number minimum: 50 description: User Input reference consumption in Wh/km. Only include if provided by the user. If not included, the default consumption for the vehicle model will be used. apiKey: name: X-API-KEY in: header description: The api key required: true schema: type: string example: api_key chargerIdRequired: in: path required: true name: chargerId schema: $ref: "#/components/schemas/ChargerId" examples: Rifil: value: 134525594 summary: Rifil Malmö tesla: value: 168 summary: Tesla Löddeköpinge chargerImageIdRequired: in: path required: true name: chargerImageId schema: $ref: "#/components/schemas/ChargerImageId" limit: in: query name: limit required: false schema: type: integer minimum: 1 maximum: 500 default: 500 description: Maximum number of items to return. cursor: in: query name: cursor required: false schema: type: string description: The opaque cursor to start from, if not start from the beginning example: "" allowDeprecated: in: query name: allowDeprecated schema: $ref: "#/components/schemas/AllowDeprecated" apiKeyOptional: name: X-API-KEY in: header description: The api key schema: type: string example: api_key typecodeInPath: in: path required: true name: typecode schema: $ref: "#/components/schemas/schemas-Typecode" vehicleIdInPath: in: path required: true name: vehicleId description: The id of the vehicle . schema: type: integer format: int64 routeShareHeaderKey: name: X-ABRP-RS in: header description: Secret key that identifies one share required: true schema: $ref: "#/components/schemas/RouteShareKeyEntry" wait: in: query name: wait required: false schema: type: boolean description: | Set this to try to wait for the operation to complete. This is not guaranteed to work, and are on best effort bases example: true routeShareHeaderKeyList: name: X-ABRP-RS in: header description: Secret keys that identifies one share, separated by comma required: true schema: type: array minItems: 1 maxItems: 10 items: $ref: "#/components/schemas/RouteShareKeyEntry" acceptHeader: name: Accept in: header required: true schema: type: string example: application/json default: application/json routeShareHeaderKeyListOptional: name: X-ABRP-RS in: header description: Secret keys that identifies one share, separated by comma required: false schema: type: array minItems: 1 maxItems: 10 items: $ref: "#/components/schemas/RouteShareKeyEntry" vehiclesIdInQuery: in: query name: vehicleIds required: true explode: false schema: type: array items: type: integer format: int64 uniqueItems: true description: | A list of vehicle ids to filter on. chargerId: in: path required: true name: chargerId schema: $ref: "#/components/schemas/ChargerId" examples: Rifil: value: 134525594 summary: Rifil Malmö tesla: value: 168 summary: Tesla Löddeköpinge schemas: PerformanceMetricsGps: type: object properties: delaySeconds: type: number description: The delay in seconds between the GPS and the app. okCount: type: integer description: The number of times the GPS was ok. lowAccuracyCount: type: integer description: The number of times the GPS was low accuracy. laggingCount: type: integer description: The number of times the GPS was lagging. PerformanceMetricsBattery: type: object properties: levelPct: type: number minimum: -1 maximum: 100 description: Battery level of the device as a percentage. A negative value means that the device doesn't support retrieving the battery level. state: type: string enum: - CHARGING - UNPLUGGED - FULL description: Current charging state of the battery. PerformanceMetricsDevice: type: object properties: platformName: type: string description: The name of the platform. manufacturer: type: string description: The manufacturer of the device. model: type: string description: The model of the device. osVersion: type: string description: The operating system version. totalMemoryBytes: type: integer description: The total memory of the device in bytes. totalHeapBytes: type: integer description: The total heap of the device in bytes. ThreadMetrics: type: object properties: totalUserTimeSeconds: type: number totalSystemTimeSeconds: type: number totalTimeSeconds: type: number deltaSystemTimeSeconds: type: number deltaUserTimeSeconds: type: number deltaTimeSeconds: type: number MapThread: type: object properties: deltaLoadFrac: type: number totalLoadFrac: type: number PerformanceMetrics: type: object required: - timestamp - appVersion - buildNumber - platform properties: timestamp: type: string format: date-time description: Time the metric was recorded. appVersion: type: string description: Version of the app. buildNumber: type: integer description: The build number of the app. platform: $ref: "#/components/schemas/Platform" mode: type: string enum: - PLANNING - DRIVING device: $ref: "#/components/schemas/PerformanceMetricsDevice" gps: $ref: "#/components/schemas/PerformanceMetricsGps" battery: $ref: "#/components/schemas/PerformanceMetricsBattery" heapUsageBytes: type: integer description: The heap usage of the app in bytes. uiFps: type: number description: The UI frames per second. jsFps: type: number description: The JS frames per second. mapFps: type: number description: The map frames per second. uptimeSeconds: type: number ramUsedBytes: type: integer ramLoadPercent: type: number uiThread: $ref: "#/components/schemas/ThreadMetrics" jsThread: $ref: "#/components/schemas/ThreadMetrics" mapThread: $ref: "#/components/schemas/MapThread" isPerfTest: type: boolean description: | Set to true when the metrics originate from an automated performance test client (e.g. the BrowserStack long-drive perf pipeline). The backend stores the flag on the doc as `is_perf_test`; downstream consumers (Kibana dashboards, the perf-CSV scraper) filter on it to include or exclude these rows. Optional; defaults to false. NetworkCountryBoost: type: object required: - type - country properties: type: type: string description: Discriminator for the boost type. country: $ref: "#/components/schemas/Country3" description: | Impacts the sorting of the items. Increases the score of items with a lot of chargers in the specified country. NetworkLocationBoost: allOf: - $ref: "#/components/schemas/Coordinates" - type: object required: - type properties: type: type: string description: Discriminator for the boost type. description: | Impacts the sorting of the items. Looks up a country based on the coordinates, and improve the rating of networks with lots of chargers within the country. NetworkFilter: type: object properties: name: type: string example: ion description: | Only networks with names matching the provided string will be returned. The quality of the match is weighted in the result order. Intended to be used as a search as you type feature. NetworkBoost: type: object properties: geoCount: type: object oneOf: - $ref: "#/components/schemas/NetworkCountryBoost" - $ref: "#/components/schemas/NetworkLocationBoost" discriminator: propertyName: type mapping: country: "#/components/schemas/NetworkCountryBoost" location: "#/components/schemas/NetworkLocationBoost" totalCount: type: boolean description: | Impacts the sorting of the items. Increases the score of items with a lot of chargers. AllowDefaultPrice: type: boolean description: If false, excludes cards that doesn't alter the price (same price as someone without a charge card). default: true CardSearchFilter: type: object properties: name: type: string example: Be Med description: | Only cards with names matching the provided string will be returned. The quality of the match is weighted in the results sort order. Intended to be used as a search as you type feature. allowDeprecated: $ref: "#/components/schemas/AllowDeprecated" allowDefaultPrice: $ref: "#/components/schemas/AllowDefaultPrice" CardSearchBoost: type: object properties: totalCount: type: boolean default: false description: | Impacts the sorting of the items. Increases the score of items with a lot of chargers. NotAccessible: type: object description: | Indicates that the charger is not accessible. required: - type - reason properties: type: type: string example: NotAccessible reason: type: string enum: - CLOSED_TO_PUBLIC - WRONG_OPENING_HOURS - OTHER description: An enum entry indicating why the charger is not accessible. description: type: string description: A text description of why the charger is not accessible. IssuesChargingReason: type: string enum: - NOT_OPERATIONAL - BLOCKED - ALL_STALLS_USED - MULTIPLE_ATTEMPTS_NEEDED - SLOW_CHARGING_SPEED - PAYMENT - OTHER IssuesCharging: type: object description: | Indicates that there was an issue with the charger. required: - type - reasons properties: type: type: string example: IssuesCharging reasons: type: array items: $ref: "#/components/schemas/IssuesChargingReason" description: type: string description: A text description of what the issue is. IncorrectLocation: type: object description: Indicates that the location of the charger was incorrect. required: - type properties: type: type: string example: IncorrectLocation correctLocation: $ref: "#/components/schemas/Coordinates" IncorrectConnectorsCorrection: type: object required: - types - power - stalls properties: types: type: array items: $ref: "#/components/schemas/ConnectorType" power: type: number description: The maximum power that can be supplied by the connector [kW]. example: 150 minimum: 0 stalls: type: integer description: Number of stalls. example: 2 minimum: 0 IncorrectConnectors: type: object description: Indicates that the connectors of the charger are incorrect. required: - type - data properties: type: type: string example: IncorrectConnectors corrections: type: array items: $ref: "#/components/schemas/IncorrectConnectorsCorrection" IncorrectPricing: type: object description: Indicates that the pricing information is incorrect. required: - type properties: type: type: string example: IncorrectPricing IncorrectProvider: type: object description: | Indicates that the provider (CPO) is incorrect required: - type - correctProvider properties: type: type: string example: IncorrectProvider correctProvider: type: string example: Another Provider IncorrectLiveData: type: object description: Indicates that the availability is incorrect. required: - type properties: type: type: string example: IncorrectLiveData correction: type: string enum: - LESS_BUSY - MORE_BUSY CreateIssuePayloadIssue: oneOf: - $ref: "#/components/schemas/NotAccessible" - $ref: "#/components/schemas/IssuesCharging" - $ref: "#/components/schemas/IncorrectLocation" - $ref: "#/components/schemas/IncorrectConnectors" - $ref: "#/components/schemas/IncorrectPricing" - $ref: "#/components/schemas/IncorrectProvider" - $ref: "#/components/schemas/IncorrectLiveData" discriminator: propertyName: type CreateIssuePayload: type: object required: - issue properties: issue: $ref: "#/components/schemas/CreateIssuePayloadIssue" userLocation: $ref: "#/components/schemas/Coordinates" description: Users located close to the charger are more likely to be able to provide accurate information. AppUserFeedback: type: object required: - message - version - platform properties: message: type: string example: Great app, but I don't like the color schema. description: Free-text feedback message. version: type: string example: 1.0.1 description: The current version of the application. platform: type: string example: ios description: The current platform. description: Payload for giving feedback on the application. SelfManagedApiKey: type: object required: - id properties: id: type: integer format: int64 example: 909 description: Stable, user-scoped identifier; pass to `delete_self_api_key`. appName: type: string nullable: true example: tesla-mobile description: Optional caller-supplied label set at creation. description: | Listing entry for a self-managed API key. Intentionally omits the secret value — secrets are returned exactly once at create time and cannot be re-fetched afterwards. CreateSelfManagedApiKeyRequest: type: object properties: appName: type: string minLength: 1 maxLength: 64 pattern: ^[A-Za-z0-9._\s-]{1,64}$ example: Tesla Mobile description: | Optional human-readable label for the key. Visible only to the key's owner. Allowed characters: letters, digits, dot, underscore, hyphen, and whitespace (e.g. space, tab); length 1–64. Leading and trailing whitespace is trimmed server-side before storage. description: Optional configuration for `create_self_api_key`. CreatedSelfManagedApiKey: type: object required: - id - apiKey properties: id: type: integer format: int64 example: 909 apiKey: type: string format: uuid example: 54ac054f-0412-4747-b788-bcc8c6b60f27 description: | The UUIDv4 secret. Returned exactly once — store it immediately. There is no API to retrieve it again; rotate by deleting and re-creating. description: Response body for `create_self_api_key`. FeaturebaseSsoOk: type: object required: - token properties: token: type: string description: JWT token SimpleGeoSearchBoost: type: object properties: networkIds: type: array items: $ref: "#/components/schemas/NetworkId" description: Increases the score for chargers from the given list of networks. cardIds: type: array items: $ref: "#/components/schemas/CardId" description: Increases the score for chargers from the given list of charge cards. description: Alters the sorting of the chargers, and thereby also what chargers to be returned. DetailedGeoSearchBoost: type: object properties: reliability: type: boolean description: | Increase the score for chargers that are deemed more reliable. The score is a weighting of multiple factors, such as user reports, live data and the number of available stalls. GeoSearchBoost: type: object allOf: - $ref: "#/components/schemas/SimpleGeoSearchBoost" - $ref: "#/components/schemas/DetailedGeoSearchBoost" GeoSearchExclude: type: object properties: networkIds: type: array items: $ref: "#/components/schemas/NetworkId" description: Exclude chargers from the given list of networks. GeoSearchAvoid: type: object properties: networkIds: type: array items: $ref: "#/components/schemas/NetworkId" description: Avoid (dislike) chargers from the given list of networks. AmenityFilter: type: object required: - maxDistance - categories properties: maxDistance: type: integer minimum: 0 example: 1500 description: The maximum allowed distance in meters. categories: type: array minItems: 1 items: $ref: "#/components/schemas/AmenityType" subcategories: type: array items: $ref: "#/components/schemas/AmenitySubtype" PowerRangeEntry: type: object properties: lowerBound: type: integer minimum: 0 example: 150000 description: The lower-bound of the filter [W]. upperBound: type: integer minimum: 0 example: 150000 description: The upper-bound of the filter [W]. GeoSearchFilter: type: object properties: connectorTypes: type: array items: $ref: "#/components/schemas/ConnectorType" example: - CCS - SC - TYPE2 description: | Specifies the allowed types of connectors to return. An empty or not supplied value is interpreted as allow all. networkIds: type: array items: $ref: "#/components/schemas/NetworkId" description: Only include chargers from the given list of networks. cardIds: type: array items: $ref: "#/components/schemas/CardId" description: Only include chargers from the given list of charge cards. features: type: array items: $ref: "#/components/schemas/ChargerFeature" description: Only include chargers with the provided features. amenities: $ref: "#/components/schemas/AmenityFilter" description: Only include chargers that matches the provided amenity filter. minimumRating: type: number minimum: 1 maximum: 5 example: 3.5 description: Only include chargers that has an average rating higher than the provided value. powerRanges: type: array items: $ref: "#/components/schemas/PowerRangeEntry" description: Only include chargers that has allowed outlets within one of the supplied ranges. description: Filters the result to only include chargers that matches the specified conditions. GeoSearchGroupingAuto: type: object required: - type properties: type: type: string example: auto enum: - auto expand: type: boolean default: false example: false description: | Automatically removes the grouping when the number of chargers from a tiles is limited. Will automatically show a cluster of overlapping chargers for lower zoom-levels. excludeHiddenChargers: type: boolean default: false example: false description: | Determines if information about the hidden chargers is returned in the response. description: Automatically determine how the grouping of chargers is performed GeoSearchGroupingRadius: type: object required: - type - radiusM properties: type: type: string example: radius enum: - radius radiusM: type: number minimum: 1 default: 1000 description: | The radius in meters that chargers need to be within to be grouped. description: Automatically determine how the grouping of chargers is performed GeoSearchGrouping: type: object oneOf: - $ref: "#/components/schemas/GeoSearchGroupingAuto" - $ref: "#/components/schemas/GeoSearchGroupingRadius" discriminator: propertyName: type mapping: auto: "#/components/schemas/GeoSearchGroupingAuto" radius: "#/components/schemas/GeoSearchGroupingRadius" description: | Chargers that are located closely will be grouped and only one of them is returned. An additional group field will be returned with the chargers that describes which chargers has been hidden. GeoSearchTypecode: type: string description: | Customizes the behaviour of the endpoint based on the specified vehicle. For example it will only return chargers with supported connectorTypes and accounts for the vehicle limitations when weighting chargers. Any manually supplied parameters will override the attributes derived from the vehicle model. example: rivian:r1s:21:135 GeosearchParamsBase: type: object properties: boost: $ref: "#/components/schemas/GeoSearchBoost" filter: $ref: "#/components/schemas/GeoSearchFilter" description: Filters the result to only include values that matches the specified conditions. avoid: $ref: "#/components/schemas/GeoSearchAvoid" description: Sets a lower score to chargers that matches any of the conditions. exclude: $ref: "#/components/schemas/GeoSearchExclude" description: Filters the result to exclude values that matches the conditions. typecode: $ref: "#/components/schemas/GeoSearchTypecode" grouping: $ref: "#/components/schemas/GeoSearchGrouping" GeoSearchParams: allOf: - $ref: "#/components/schemas/GeosearchParamsBase" - type: object properties: tags: $ref: "#/components/schemas/GeoSearchTags" mergeConnectorTypes: $ref: "#/components/schemas/MergeConnectorTypes" limit: type: integer minimum: 1 maximum: 500 default: 10 description: Maximum number of chargers to be returned. GeoSearchTags: type: object properties: cards: type: array items: $ref: "#/components/schemas/CardId" features: type: boolean description: If true, charger features will be included in the tag response. description: | The payload of the returned chargers will include a tag for each condition they satisfies. GeoSearchIdAnnotations: type: object properties: coordinates: type: boolean description: | When true, include `lat` and `long` on each id-search result entry. Both are always returned together; partial coordinate opt-in is not supported. maxPower: type: boolean description: When true, include `maxPower` [W] on each id-search result entry. description: | Optional fields on id-only bbox search results. Omitted or false flags leave the default id-only payload unchanged. TiledParams: type: object properties: boost: $ref: "#/components/schemas/SimpleGeoSearchBoost" filter: $ref: "#/components/schemas/GeoSearchFilter" avoid: $ref: "#/components/schemas/GeoSearchAvoid" grouping: $ref: "#/components/schemas/GeoSearchGrouping" typecode: $ref: "#/components/schemas/GeoSearchTypecode" tags: $ref: "#/components/schemas/GeoSearchTags" mergeConnectorTypes: $ref: "#/components/schemas/MergeConnectorTypes" cachedTiles: type: array items: $ref: "#/components/schemas/ChargerTileKey" description: The clients currently cached tiles. There is a limit of 500 on how many tiles are allowed to cache. maximum: 500 chargerDensity: type: number maximum: 1 minimum: 0 default: 0.6 description: Determines the density of the chargers returned. A linear scale where 1 is the highest. expansion: type: object oneOf: - $ref: "#/components/schemas/RelativeTileExpansion" discriminator: propertyName: type mapping: relative: "#/components/schemas/RelativeTileExpansion" CoordsArray: allOf: - type: object required: - coordinates properties: coordinates: type: array items: $ref: "#/components/schemas/Coordinates" description: An array of coordinates. DirectionsBBox: allOf: - type: object required: - southWest - northEast properties: southWest: $ref: "#/components/schemas/Coordinates" description: The south-west corner of the bounding box. northEast: $ref: "#/components/schemas/Coordinates" description: The north-east corner of the bounding box. description: A bounding box constructed by the south-west and north-east corners. TiledSchema: allOf: - oneOf: - $ref: "#/components/schemas/DirectionsBBox" - $ref: "#/components/schemas/CoordsArray" - $ref: "#/components/schemas/TiledParams" RelativeTileExpansion: type: object required: - type properties: type: type: string enum: - relative x: type: number minimum: 0 default: 1 maximum: 5 example: 1 "y": type: number minimum: 0 default: 1 maximum: 5 example: 1 preserveZoom: type: boolean default: false description: | This flag is highly recommended to enable. Use the original bounding box to determine the zoom level. It will ensure that the number of chargers returned within the current view of the user is more static. description: | Modifies the bounding-box from where the chargers are fetched. Commonly used with a values of ~1.25 to ensure that chargers are pre-loaded when panning. The functionality is the same as sending in a larger bounding-box. Note that it is common to send different values for x & y based in the proportions of the screen. UpgradeType: description: The type of upgrade that is available. example: LATEST type: string enum: - LATEST - CODE_PUSH - AVAILABLE - REQUIRED ReportChargingSessionPayload: type: object oneOf: - $ref: "#/components/schemas/ReportSuccessfulChargingSession" discriminator: propertyName: status mapping: SUCCESS: "#/components/schemas/ReportSuccessfulChargingSession" ChargeCurveEntryWithDuration: type: object required: - secondsSinceStart properties: secondsSinceStart: type: integer description: The duration since the start of the session in seconds. socFrac: $ref: "#/components/schemas/FracWiggle" powerW: $ref: "#/components/schemas/PowerW" ReportSuccessfulChargingSession: type: object required: - status properties: status: enum: - SUCCESS typecode: $ref: "#/components/schemas/Typecode" description: The typecode of the vehicle being charged. vehicleId: type: integer format: int64 description: The vehicle ID of the vehicle being charged. If provided, `typecode` will be ignored. startTime: type: string format: date-time description: The start time of the session. chargeCurveWithDuration: type: array items: $ref: "#/components/schemas/ChargeCurveEntryWithDuration" description: The charge curve of the session. location: $ref: "#/components/schemas/Coordinates" description: The location of the charging session. AutoCompleteQuery: type: object required: - input - location properties: input: type: string description: | Input is the text string on which to search. The api will return matches based on this string and order results based on their relevance. example: Berlin offset: type: integer format: uint description: | Offset is the character position in the input term at which the service uses text for predictions. For example, if the input is 'Lond' and the completion point is 3, the service will match on 'Lon'. The offset should generally be set to the position of the text caret. If no offset is supplied, the service will use the entire term. example: 0 location: $ref: "#/components/schemas/Coordinates" description: | Origin is the point from which to calculate the straight-line distance to the destination. lang: type: string description: The language to use for the response. If not specified here it the language from the 'accept-language' header will be used. example: en-US connectorTypes: type: array items: $ref: "#/components/schemas/ConnectorType" example: - CCS - SC - TYPE2 maxItems: 20 uniqueItems: true description: | Specifies the allowed types of connectors. An empty or not supplied value is interpreted as allow all. PoiProvider: type: string description: | The point-of-interest provider to use for the request. enum: - HERE - GOOGLE AutosuggestQueryWithSession: allOf: - $ref: "#/components/schemas/AutoCompleteQuery" - type: object properties: session: $ref: "#/components/schemas/AutoCompleteSession" AutoCompleteQueryWithSession: allOf: - $ref: "#/components/schemas/AutoCompleteQuery" - type: object properties: session: $ref: "#/components/schemas/AutoCompleteSession" backend: $ref: "#/components/schemas/PoiProvider" AutoCompleteItem: type: object oneOf: - $ref: "#/components/schemas/AutoCompleteItemWithLocation" - $ref: "#/components/schemas/AutoCompleteItemLookup" - $ref: "#/components/schemas/AutoCompleteItemQuery" - $ref: "#/components/schemas/AutoCompleteItemCharger" - $ref: "#/components/schemas/AutoCompleteItemFerry" discriminator: propertyName: type mapping: LOCATION: "#/components/schemas/AutoCompleteItemWithLocation" LOOKUP: "#/components/schemas/AutoCompleteItemLookup" QUERY: "#/components/schemas/AutoCompleteItemQuery" CHARGER: "#/components/schemas/AutoCompleteItemCharger" FERRY: "#/components/schemas/AutoCompleteItemFerry" AutoCompleteItemWithLocation: type: object required: - type - name - location properties: type: type: string enum: - LOCATION name: type: string description: A constructed full address name. example: Stanford University, Jane Stanford Way, Stanford, United States title: type: string description: The title of a place, null if not a place example: Stanford University location: $ref: "#/components/schemas/Coordinates" distanceM: $ref: "#/components/schemas/DistanceM" address: $ref: "#/components/schemas/AutoCompleteAddress" AutoCompleteAddress: type: object description: Address of a location. properties: CountryCode: type: string example: USA description: The three letter country code (ISO 3166-1 alpha-3) in capital letters CountryName: type: string example: United States State: type: string description: Name of the state. In some countries, e.g. Sweden, this may be the name of a county. example: California County: type: string description: Name of the county. In some countries, e.g. Sweden, this may be the name of a municipality. example: Santa Clara City: type: string example: Stanford Street: type: string example: Ayrshire Farm Ln PostalCode: type: string example: 95118 HouseNumber: type: string example: 228 AutoCompleteItemLookup: type: object required: - type - id - name properties: type: type: string enum: - LOOKUP id: type: string description: The id of the location. example: "123456" name: type: string description: The name of the location. example: Berlin distanceM: $ref: "#/components/schemas/DistanceM" AutoCompleteItemQuery: type: object required: - type - name properties: type: type: string enum: - QUERY name: type: string description: The suggested search query. example: restaurants near me AutoCompleteItemChargerBase: type: object required: - id - name - connectorTypes - coordinates properties: id: type: integer description: The id of the location. example: 123456 name: type: string description: The name of the location. example: Berlin network: type: string description: The name of the network. example: Ionity powerW: type: integer description: The maximum power of the charger in W. example: 150000 connectorTypes: type: array items: $ref: "#/components/schemas/ConnectorType" example: - CCS - SC - TYPE2 description: The types of connectors available at the charger. coordinates: $ref: "#/components/schemas/Coordinates" AutoCompleteItemCharger: allOf: - $ref: "#/components/schemas/AutoCompleteItemChargerBase" - type: object required: - type properties: type: type: string enum: - CHARGER AutoCompleteSession: type: string description: The session id from the start session. example: "1234567890" AutosuggestModeType: type: string description: The type of autosuggest mode. enum: - FERRY - CHARGER - HERE - GOOGLE_AUTOSEARCH AutosuggestModeFerry: type: object required: - type properties: type: type: string enum: - FERRY description: Search for ferry routes. AutosuggestModeCharger: type: object required: - type properties: type: type: string enum: - CHARGER description: Search for EV chargers. connectorTypes: type: array items: $ref: "#/components/schemas/ConnectorType" example: - CCS - SC - TYPE2 maxItems: 20 uniqueItems: true description: | Specifies the allowed types of connectors to filter charger results. An empty or not supplied value is interpreted as allow all connector types. AutosuggestModeHere: type: object required: - type properties: type: type: string enum: - HERE description: Search for places using HERE API. AutosuggestModeGoogle: type: object required: - type properties: type: type: string enum: - GOOGLE_AUTOSEARCH description: Search for places using Google Places API. session: type: string description: | Google Places session token. Reuse the same session token for related autosuggest calls to group them for billing purposes. The session returned in the response should be used for subsequent calls. example: abc123-session-token radius: type: integer description: | Search radius in meters from the provided location. If not specified, the default radius is used. example: 50000 minimum: 50 maximum: 50000 includeQueryPredictions: type: boolean description: | Includes query predictions in prediction result, if true. offset: type: integer format: uint description: | Offset is the character position in the input term at which the service uses text for predictions. For example, if the input is 'Lond' and the completion point is 3, the service will match on 'Lon'. The offset should generally be set to the position of the text caret. If no offset is supplied, the service will use the entire term. example: 0 AutosuggestMode: type: object oneOf: - $ref: "#/components/schemas/AutosuggestModeFerry" - $ref: "#/components/schemas/AutosuggestModeCharger" - $ref: "#/components/schemas/AutosuggestModeHere" - $ref: "#/components/schemas/AutosuggestModeGoogle" discriminator: propertyName: type mapping: FERRY: "#/components/schemas/AutosuggestModeFerry" CHARGER: "#/components/schemas/AutosuggestModeCharger" HERE: "#/components/schemas/AutosuggestModeHere" GOOGLE_AUTOSEARCH: "#/components/schemas/AutosuggestModeGoogle" AutosuggestRequest: type: object required: - input - location - modes properties: input: type: string description: | Input is the text string on which to search. The API will return matches based on this string and order results based on their relevance. example: Berlin location: $ref: "#/components/schemas/Coordinates" description: | Origin is the point from which to calculate the straight-line distance to the destination. lang: type: string description: | The language to use for the response. If not specified here the language from the 'accept-language' header will be used. example: en-US modes: type: array items: $ref: "#/components/schemas/AutosuggestMode" minItems: 1 description: | Array of search modes to use. Each mode type can only appear once in the array. Results from all modes are merged into a single response. example: - type: CHARGER - type: HERE - type: GOOGLE_AUTOSEARCH session: abc123 RouteSummaryResult: type: object required: - results properties: results: type: array items: $ref: "#/components/schemas/RouteSummaryData" cursor: type: string description: Cursor for pagination. Use this value in the next request to fetch more results. RouteSummaryData: type: object required: - routes properties: source: type: string enum: - app - api description: Source of the route plan example: app planTime: type: number format: float description: Time taken to generate the plan in seconds example: 0.45 country3: type: string description: Three-letter country code (ISO 3166-1 alpha-3) of the route origin example: SWE vehicle: $ref: "#/components/schemas/RouteSummaryVehicle" routes: type: array items: $ref: "#/components/schemas/RouteSummaryItem" RouteSummaryVehicle: type: object required: - name properties: name: type: string description: Full display name of the vehicle example: Tesla Model 3 Long Range manufacturer: type: string description: Vehicle manufacturer example: Tesla model: type: string description: Vehicle model example: Model 3 Long Range typecode: $ref: "#/components/schemas/schemas-Typecode" RouteSummaryItem: type: object required: - totalDist - totalDriveDuration - totalChargeDuration - steps properties: totalDist: type: integer description: Total distance in meters example: 425000 totalDriveDuration: type: integer description: Total driving duration in seconds example: 14400 totalChargeDuration: type: integer description: Total charging duration in seconds example: 1800 steps: type: array items: $ref: "#/components/schemas/RouteSummaryStep" RouteSummaryStep: type: object required: - lat - lon - type - path properties: lat: $ref: "#/components/schemas/Lat" lon: $ref: "#/components/schemas/Long" type: $ref: "#/components/schemas/StepType" chargerType: $ref: "#/components/schemas/ConnectorType" path: type: array description: Array of coordinate pairs [lat, lon] representing the path to the next step items: type: array items: type: number format: double minItems: 2 maxItems: 2 example: - - 59.3293 - 18.0686 - - 59.3295 - 18.069 StepType: type: string enum: - start - finish - charger - waypoint - ferry description: Type of route step Ferry: type: object required: - id - name - from - to - via - lengthM - geometry properties: id: type: string description: The unique identifier of the ferry route. example: 1349018822:{|alI}_xgArfqAana@ name: type: string description: The name of the ferry route. example: Trelleborg (SWE) -> Rostock (DEU) by Stena Line lengthM: type: integer description: The length of the ferry route in meters. example: 158187 geometry: $ref: "#/components/schemas/LineString" from: type: object required: - coordinate - heading properties: coordinate: $ref: "#/components/schemas/Coordinates" description: The coordinates of the start of the ferry route. heading: type: number description: Heading (azimuth) in degrees in the range [0.0, 360.0) degrees, measured clockwise from North. 0.0 is North, 90.0 is East, 180.0 is South and 270.0 is West. to: type: object required: - coordinate - heading properties: coordinate: $ref: "#/components/schemas/Coordinates" description: The coordinates of the end of the ferry route. heading: type: number description: Heading (azimuth) in degrees in the range [0.0, 360.0) degrees, measured clockwise from North. 0.0 is North, 90.0 is East, 180.0 is South and 270.0 is West. via: type: object required: - coordinate - heading properties: coordinate: $ref: "#/components/schemas/Coordinates" description: The coordinates of the ferry route waypoint, that allows to precisely select the exact ferry route. heading: type: number description: Heading (azimuth) in degrees in the range [0.0, 360.0) degrees, measured clockwise from North. 0.0 is North, 90.0 is East, 180.0 is South and 270.0 is West. AutoCompleteItemFerry: allOf: - $ref: "#/components/schemas/Ferry" - type: object required: - type properties: type: type: string enum: - FERRY SavedPlanDestinationDetails: type: object required: - coordinates properties: coordinates: $ref: "#/components/schemas/Coordinates" description: The coordinates of the destination. PersistPlanRequest: type: object required: - reason properties: clientContext: type: object additionalProperties: true description: | Arbitrary client-defined metadata. If provided, overrides the clientContext from the original plan request. Stored and returned as-is; not used in route planning. destinations: type: array items: $ref: "#/components/schemas/Destination" description: The list of destinations to plan for. If not supplied, the destinations from the plan request will be used. reason: type: string enum: - SHARED - SAVED SavedPlanVehicleState: type: object required: - referenceConsumption - degradationFrac - speedScaling - maximumSpeedMs properties: referenceConsumption: minimum: 0 maximum: 1000 $ref: "#/components/schemas/ReferenceConsumption" degradationFrac: $ref: "#/components/schemas/DegradationFrac" speedScaling: $ref: "#/components/schemas/SpeedScaling" maximumSpeedMs: $ref: "#/components/schemas/MaximumSpeedMs" SavedPlanRequest: type: object required: - planId - request - typecode - destinationDetails - vehicleState properties: planId: type: string example: 123e4567-e89b-12d3-a456-426614174000 request: $ref: "#/components/schemas/AbrpPlanRequest" typecode: $ref: "#/components/schemas/Typecode" description: The typecode of the vehicle for which the plan was saved. destinationDetails: type: array description: Optional additional information about the destination. Matched to the destinations in the plan request by order. items: $ref: "#/components/schemas/SavedPlanDestinationDetails" vehicleState: $ref: "#/components/schemas/SavedPlanVehicleState" SavedPlanRequestList: type: array items: $ref: "#/components/schemas/SavedPlanRequest" ChargerDetailsRequest: type: object required: - chargerIds properties: chargerIds: type: array items: $ref: "#/components/schemas/ChargerId" maxItems: 1000 example: - 123123 - 25 cardIds: type: array items: $ref: "#/components/schemas/CardId" maxItems: 1000 example: - 12 - 85 description: | Only the adhoc-price and prices related to the supplied charge-cards will be returned. currency: type: string example: SEK description: | The three digit currency code. All prices will be converted to the specified currency. The local price of the charger will be returned if not specified. typecode: type: string description: Enables vehicle specific fields in the response. example: rivian:r1s:21:135 connectorTypes: type: array items: $ref: "#/components/schemas/ConnectorType" example: - CCS - SC - TYPE2 description: | Specifies the allowed types of connectors. An empty or not supplied value is interpreted as allow all. This attribute overrides connector types derived from the typecode. mergeConnectorTypes: $ref: "#/components/schemas/MergeConnectorTypes" GeoChargerGetRequest: type: object required: - chargerIds properties: chargerIds: type: array items: $ref: "#/components/schemas/ChargerId" maxItems: 1000 example: - 123123 - 25 ChargerId: type: integer format: int64 description: A unique identifier for the charger. example: 134525594 minimum: 1 WaypointChargerId: type: object required: - type - value properties: type: type: string description: Discriminator field. enum: - CHARGER_ID example: CHARGER_ID value: $ref: "#/components/schemas/ChargerId" Lat: type: number format: double minimum: -90 maximum: 90 example: 55.6 description: The latitude of the coordinate. Long: type: number format: double minimum: -180 maximum: 180 example: 13.24 description: The longitude of the coordinate WaypointCoordinates: type: object required: - type - lat - long properties: type: type: string description: Discriminator field. enum: - COORDINATES example: COORDINATES lat: $ref: "#/components/schemas/Lat" long: $ref: "#/components/schemas/Long" WaypointAddress: type: object required: - type - value properties: type: type: string description: Discriminator field. enum: - ADDRESS example: ADDRESS value: type: string description: The address of the location. DestinationLocation: oneOf: - $ref: "#/components/schemas/WaypointChargerId" - $ref: "#/components/schemas/WaypointCoordinates" - $ref: "#/components/schemas/WaypointAddress" discriminator: propertyName: type mapping: CHARGER_ID: "#/components/schemas/WaypointChargerId" COORDINATES: "#/components/schemas/WaypointCoordinates" ADDRESS: "#/components/schemas/WaypointAddress" DestinationEnergySettingsTimeAndSocCharging: type: object required: - type - seconds - socFrac properties: type: type: string enum: - TIME_AND_SOC seconds: type: integer minimum: 0 description: | [s] The time available to charge at the destination. socFrac: type: number format: float minimum: 0 maximum: 1 description: | The target SoC fraction to charge to at the destination. DestinationEnergySettingsTimeAndPowerCharging: type: object required: - type - seconds - watts properties: type: type: string enum: - TIME_AND_POWER seconds: type: integer minimum: 0 description: | [s] The time available to charge at the destination. watts: type: number description: | [W] The power of the charger at the destination. DestinationEnergySettingsSocAndPower: type: object required: - type - socFrac - watts properties: type: type: string enum: - SOC_AND_POWER socFrac: type: number format: float minimum: 0 maximum: 1 description: | The target SoC fraction to charge to at the destination. watts: type: number description: | [W] The power of the charger at the destination. DestinationEnergySettingsPowerOnly: type: object required: - type - watts properties: type: type: string enum: - POWER watts: type: number minimum: 0 description: | [W] The power of the charger at the destination. No time or SoC target is specified. DestinationEnergySettingsCharging: oneOf: - $ref: "#/components/schemas/DestinationEnergySettingsTimeAndSocCharging" - $ref: "#/components/schemas/DestinationEnergySettingsTimeAndPowerCharging" - $ref: "#/components/schemas/DestinationEnergySettingsSocAndPower" - $ref: "#/components/schemas/DestinationEnergySettingsPowerOnly" discriminator: propertyName: type mapping: TIME_AND_SOC: "#/components/schemas/DestinationEnergySettingsTimeAndSocCharging" TIME_AND_POWER: "#/components/schemas/DestinationEnergySettingsTimeAndPowerCharging" SOC_AND_POWER: "#/components/schemas/DestinationEnergySettingsSocAndPower" POWER: "#/components/schemas/DestinationEnergySettingsPowerOnly" DestinationEnergySettings: type: object properties: minArrivalSocFrac: type: number format: float minimum: 0 maximum: 1 description: | Arrive at this waypoint with at least this SoC. The default is specified by other input parameters. charging: $ref: "#/components/schemas/DestinationEnergySettingsCharging" DestinationTimeSettingsDepartureTime: type: object required: - type - time properties: type: type: string enum: - DEPARTURE_TIME time: type: string format: date-time example: "2017-07-21T17:32:28Z" description: | The date-time notation as defined by RFC 3339, section 5.6, when the vehicle should depart from the destination. DestinationTimeSettingsTimeOfDay: type: object required: - type - secondsAfterMidnight properties: type: type: string enum: - TIME_OF_DAY secondsAfterMidnight: type: integer minimum: 0 description: | [s] The duration after midnight when the vehicle should depart from the destination. DestinationTimeSettingsDepartureAt: oneOf: - $ref: "#/components/schemas/DestinationTimeSettingsDepartureTime" - $ref: "#/components/schemas/DestinationTimeSettingsTimeOfDay" discriminator: propertyName: type mapping: DEPARTURE_TIME: "#/components/schemas/DestinationTimeSettingsDepartureTime" TIME_OF_DAY: "#/components/schemas/DestinationTimeSettingsTimeOfDay" DestinationTimeSettings: type: object properties: departAt: $ref: "#/components/schemas/DestinationTimeSettingsDepartureAt" stayForSeconds: type: integer minimum: 0 description: | [s] The time the vehicle should stay at the destination. Destination: type: object required: - location properties: location: $ref: "#/components/schemas/DestinationLocation" energySettings: $ref: "#/components/schemas/DestinationEnergySettings" timeSettings: $ref: "#/components/schemas/DestinationTimeSettings" name: type: string description: | The name of the destination. This is used for display purposes only. It will return the same name for the destination in the result. example: Home ConnectorType: type: string description: | The standard of the installed connector (deviates from the OCPI-standard). example: CCS enum: - CCS - SC - TESLA_CCS - TESLA_DESTINATION_CHARGER - CHADEMO - TYPE2 - TYPE2_CABLE - J1772 - SCHUKO - TYPE3 - GBT - NACS - NEMA515 - NEMA520 - NEMA1450 - NEMATT30 - THREEPHASE_AU - CEE_RED - CEE_BLUE - OTHER ConnectorTypes: type: array items: $ref: "#/components/schemas/ConnectorType" description: | Array of allowed connector types for planning. The default value is decided by the vehicle type. AllowedDbs: type: array uniqueItems: true items: type: string description: | Array of databases to use as the source of chargers. The default is to include all databases allowed for the given API key. MinimumDestinationSocFrac: type: number format: float minimum: 0 maximum: 1 description: | The minimum SoC allowed when arriving at the final destination. MinimumChargerArrivalSocFrac: type: number format: float minimum: 0 maximum: 1 description: | The minimum SoC allowed when arriving at any charger or waypoint. MaximumChargingSocFrac: type: number minimum: 0 maximum: 1 description: | The maximum SoC allowed when charging. ChargingOverheadSec: type: integer minimum: 0 description: | [s] The overhead to add to the driving time and charging time for each charge stop. This typically accounts for finding the charger, connecting it and starting it. A higher value here will lead to fewer but longer charge stops. ChargingStopPreference: type: string enum: - MOST - MORE - OPTIMAL - FEWER - LEAST - FEWEST description: | Bias the number of charge stops in the plan, the default value is "optimal" which gives shortest total trip time. LEAST is deprecated and will be removed in future versions, please use FEWEST instead. RealTimeStatus: type: boolean description: | Enables planning with realtime charger status. This feature is considered premium and has to be explicitly enabled for your API key. ExcludedChargerIds: type: array items: type: integer format: int64 description: A unique identifier for the charger. example: 134525594 nullable: true description: A list of charger ids to exclude from the plan. Preference: type: string description: | Charger, network, or tag preference. For networks, `EXCLUSIVE` restricts planning to chargers on those networks only (when at least one network is exclusive, all other networks are excluded). enum: - EXCLUDE - DISLIKE - NO_PREFERENCE - PREFER - PREFER_STRONGLY - EXCLUSIVE NetworkPreferenceItem: type: object required: - id - preference properties: id: type: integer format: int64 description: Unique identifier for a network. preference: $ref: "#/components/schemas/Preference" NetworkPreferences: type: array items: $ref: "#/components/schemas/NetworkPreferenceItem" description: | Modifies the preferences for charges based on their network. When any entry uses `EXCLUSIVE`, only chargers on networks marked exclusive are considered; all other networks are excluded from the plan. CardPreference: type: string enum: - NO_PREFERENCE - PREFER CardPreferenceItem: type: object required: - id - preference properties: id: type: integer format: int64 description: Unique identifier for a charge card. preference: $ref: "#/components/schemas/CardPreference" CardPreferences: type: array items: $ref: "#/components/schemas/CardPreferenceItem" description: | Modifies the preferences for charges based on their card. Further, costs for all stop will be calculated if a specified card is present. ChargerFeature: type: string enum: - DOG_FRIENDLY - TRAILER_FRIENDLY - HAS_PLAYGROUND - HAS_OPEN_RESTROOMS - PLUG_AND_CHARGE example: DOG_FRIENDLY description: A set of supported charger features. FeaturePreference: type: object required: - feature - preference properties: feature: $ref: "#/components/schemas/ChargerFeature" preference: type: string enum: - PREFER description: | Preference for a specific feature of a charger. FeaturePreferences: type: array items: $ref: "#/components/schemas/FeaturePreference" description: Preferences for charger features. TagPreferenceItem: type: object required: - tag - preference properties: tag: type: string description: The name of the tag to apply the preference on. preference: $ref: "#/components/schemas/Preference" TagPreferences: type: array items: $ref: "#/components/schemas/TagPreferenceItem" description: | Modifies the preferences for charges based on their network. ChargingOptions: type: object default: {} properties: connectorTypes: $ref: "#/components/schemas/ConnectorTypes" allowedDbs: $ref: "#/components/schemas/AllowedDbs" minimumDestinationSocFrac: $ref: "#/components/schemas/MinimumDestinationSocFrac" default: 0.1 minimumChargerArrivalSocFrac: $ref: "#/components/schemas/MinimumChargerArrivalSocFrac" default: 0.1 maximumChargingSocFrac: $ref: "#/components/schemas/MaximumChargingSocFrac" minimum: 0.2 default: 1 overheadSec: $ref: "#/components/schemas/ChargingOverheadSec" default: 300 stopPreference: $ref: "#/components/schemas/ChargingStopPreference" default: OPTIMAL realTimeStatus: $ref: "#/components/schemas/RealTimeStatus" default: false excludedChargerIds: $ref: "#/components/schemas/ExcludedChargerIds" networkPreferences: $ref: "#/components/schemas/NetworkPreferences" cardPreferences: $ref: "#/components/schemas/CardPreferences" featurePreferences: $ref: "#/components/schemas/FeaturePreferences" tagPreferences: $ref: "#/components/schemas/TagPreferences" preferredMinimumStallCount: type: integer minimum: 1 description: A soft constraint on the preferred number of stalls. example: connectorTypes: - CCS - NACS minimumArrivalSocFrac: 0.07 maximumSocFrac: 0.8 overhead: 120 steps: MORE realTimeStatus: false networkPreferences: id: 2 preference: PREFER cards: id: 2 preference: PREFER MaximumSpeedMs: type: number minimum: 0 description: | The maximum speed which the planner will allow for the car, even if speed limits allow more. This is mostly useful for very high speed highways, such as Autobahns. If not given, the recommended max speed for the car model is used. AllowSpeedAdjustment: type: boolean description: | Allow the planner to lower the maximum speed for individual legs if this is needed to reach the next charger. SpeedScaling: type: number minimum: 0 description: | A speed factor relative to the speed limits or estimated speed of the road. 1.1 means 10% faster than speed limits. SpeedOptions: type: object default: {} properties: maximumMs: $ref: "#/components/schemas/MaximumSpeedMs" allowAdjustment: default: false $ref: "#/components/schemas/AllowSpeedAdjustment" scaling: default: 1 $ref: "#/components/schemas/SpeedScaling" AvoidFerries: type: boolean description: Allow the route to include ferries. AvoidHighways: type: boolean description: Allow the route to include highways. AvoidTolls: type: boolean description: Allow the route to include toll roads. AvoidBorders: type: boolean description: | If true, the route will not allow country border crossings, or more specifically, not allow chargers or waypoints in different countries. AvoidOptions: type: object default: {} properties: ferries: default: false $ref: "#/components/schemas/AvoidFerries" highways: default: false $ref: "#/components/schemas/AvoidHighways" tolls: default: false $ref: "#/components/schemas/AvoidTolls" borders: default: false $ref: "#/components/schemas/AvoidBorders" AlternativeRoutes: type: object required: - type properties: type: type: string example: ROUTES enum: - ROUTES description: Discriminator field. description: | The returned plan may contain up to three routes if there are several reasonable alternatives. These alternatives have been selected to not completely overlap geographically - i.e. different charger selections along the same basic route are not counted as alternatives. AlternativeChargers: type: object required: - type properties: type: type: string example: CHARGERS enum: - CHARGERS description: Discriminator field. description: | Up to five options for the next charger are returned (as different routes). Cannot be used at the same time as alternatives are enabled. Alternatives: oneOf: - $ref: "#/components/schemas/AlternativeRoutes" - $ref: "#/components/schemas/AlternativeChargers" discriminator: propertyName: type mapping: ROUTES: "#/components/schemas/AlternativeRoutes" CHARGERS: "#/components/schemas/AlternativeChargers" Currency: type: string example: EUR description: The three digit currency code of the country where the charging station is located UnitSystem: type: string enum: - METRIC - IMPERIAL description: The units in the response. ResultOptions: type: object default: {} properties: alternatives: $ref: "#/components/schemas/Alternatives" currency: $ref: "#/components/schemas/Currency" unitSystem: $ref: "#/components/schemas/UnitSystem" description: Speed adjustments will be returned in reasonable values for the unit system. example: alternatives: type: ROUTES Traffic: type: string enum: - NO_TRAFFIC - REAL_TIME description: | Enable planning with realtime traffic information and routing for the first hours of driving. The REAL TIME feature is considered premium and has to be explicitly enabled for your API key. If you don't have the REAL TIME feature, the planner will use the default traffic model, and communicate this as an warning. default: NO_TRAFFIC RealTimeWeather: type: object required: - type properties: type: type: string enum: - REAL_TIME description: | Fetches and applies the current conditions for wind, temperature and road-conditions. SeasonalWeather: type: object required: - type properties: type: type: string enum: - SEASONAL description: | Assume the average weather for the season. ManualWeather: type: object required: - type properties: type: type: string enum: - MANUAL temperatureC: type: number default: 20 description: | [degrees C] The assumed outside temperature for the plan; this will affect vehicle consumption. Note that there are other settings that can change the default. roadConditions: type: string default: NORMAL enum: - NORMAL - RAIN - HEAVY_RAIN description: Anything other than normal will increase the assumed consumption of the vehicle. windSpeedMs: type: number minimum: 0 description: | [m/s] The assumed wind speed for the plan. windDirection: type: string enum: - HEAD - TAIL description: The assumed wind direction for the plan. NoWeather: type: object required: - type properties: type: type: string enum: - NONE description: Assumes optimal weather conditions. Weather: oneOf: - $ref: "#/components/schemas/RealTimeWeather" - $ref: "#/components/schemas/SeasonalWeather" - $ref: "#/components/schemas/ManualWeather" - $ref: "#/components/schemas/NoWeather" discriminator: propertyName: type mapping: REAL_TIME: "#/components/schemas/RealTimeWeather" SEASONAL: "#/components/schemas/SeasonalWeather" MANUAL: "#/components/schemas/ManualWeather" NONE: "#/components/schemas/NoWeather" default: type: SEASONAL description: | Real time weather is considered a premium feature and has to be explicitly enabled for your API key. If you don't have the real time weather feature, the planner will use the seasonal weather model, and communicate this as a warning. CurrentSocFrac: type: number format: float minimum: -0.15 maximum: 1.15 description: | The current SoC of the vehicle, used as starting SoC for the plan. ReferenceConsumption: type: number description: | [Wh/km @ 110 km/h] This overrides the default reference consumption of the vehicle. Use this to adjust the assumed consumption of the vehicle. The default value is based on the type of vehicle. DegradationFrac: type: number description: | The degradation of the battery. Defaults to 0.05 (5%) or a calibrated value. BaseVehicle: type: object properties: currentSocFrac: default: 0.9 $ref: "#/components/schemas/CurrentSocFrac" referenceConsumption: minimum: 0 maximum: 1000 $ref: "#/components/schemas/ReferenceConsumption" degradationFrac: $ref: "#/components/schemas/DegradationFrac" configuration: type: string description: The current vehicle configuration, affecting energy consumption. example: trailer TypecodeIdentifier: type: object required: - type - value properties: type: type: string description: Discriminator field. enum: - TYPECODE example: TYPECODE value: type: string description: The unique identifier for the vehicle model. example: rivian:r1s:21:135 example: type: TYPECODE value: rivian:r1s:21:135 PlanVehicleIdentifier: type: object required: - identifier properties: identifier: oneOf: - $ref: "#/components/schemas/TypecodeIdentifier" discriminator: propertyName: type mapping: TYPECODE: "#/components/schemas/TypecodeIdentifier" PlanVehicle: allOf: - $ref: "#/components/schemas/BaseVehicle" - $ref: "#/components/schemas/PlanVehicleIdentifier" example: identifier: type: TYPECODE value: rivian:r1s:21:135 degradation: 3 socFrac: 0.43 PlanRequest: type: object required: - destinations - vehicle properties: destinations: type: array minItems: 2 items: $ref: "#/components/schemas/Destination" description: | A list of at least two destination (the start and final destination) of the plan. example: - location: type: COORDINATES lat: 55.71220191979822 long: 13.215866972117013 bearing: 23 - location: type: ADDRESS value: Örgrytevägen 5, Gothemburg minimumArrivalSocFrac: 0.2 charging: $ref: "#/components/schemas/ChargingOptions" speed: $ref: "#/components/schemas/SpeedOptions" avoid: $ref: "#/components/schemas/AvoidOptions" resultOptions: $ref: "#/components/schemas/ResultOptions" traffic: $ref: "#/components/schemas/Traffic" weather: $ref: "#/components/schemas/Weather" vehicle: $ref: "#/components/schemas/PlanVehicle" clientContext: type: object additionalProperties: true description: | Arbitrary client-defined metadata. Stored and returned as-is; not used in route planning. Coordinates: type: object description: Defines a geographic location. required: - lat - long properties: lat: $ref: "#/components/schemas/Lat" long: $ref: "#/components/schemas/Long" example: lat: 55.7047 long: 13.191 Location: description: Defines a geographic location, with tlm data allOf: - $ref: "#/components/schemas/Coordinates" FracWiggle: type: number format: float maximum: 1.05 minimum: -0.05 example: 0.85 description: A fraction in the range -0.05-1.05 as in -5-105%. The min and max allows a bit of wiggle room. EnergyWh: type: number format: float description: (Wh) The energy in watt hours. example: 72000 minimum: 0 PowerW: type: number format: float description: (W) The power in watts. example: 23300 CurrentA: type: number format: float description: (A) The current in amperes. example: 100 VoltageV: type: number format: float description: (V) The voltage in volts. example: 400 DistanceM: type: integer description: (m) The distance in meters. example: 1000 ChargingState: type: object required: - state properties: state: type: string description: The vehicles charging state enum: - CHARGING_AC - CHARGING_DC - CHARGING_UNKNOWN - NOT_CHARGING - PLUGGED_IN DrivingState: type: object required: - state properties: state: type: string description: Driving state of the vehicle. I.e the vehicles current gear enum: - PARK - REVERSE - NEUTRAL - DRIVE PlanTelemetryPoint: type: object default: {} required: - utc properties: utc: type: integer format: int64 description: | [s] The UNIX timestamp in seconds. location: $ref: "#/components/schemas/Location" speedMs: type: number format: float description: | [m/s] The speed of the vehicle. example: 10 externalTemperatureC: type: number format: float description: | [degrees C] The external temperature. example: 20 batteryTemperatureC: type: number format: float description: | [degrees C] The battery temperature. example: 20 socFrac: $ref: "#/components/schemas/FracWiggle" soeWh: $ref: "#/components/schemas/EnergyWh" powerW: $ref: "#/components/schemas/PowerW" hvacPowerW: $ref: "#/components/schemas/PowerW" currentA: $ref: "#/components/schemas/CurrentA" voltageV: $ref: "#/components/schemas/VoltageV" estimatedBatteryRangeM: $ref: "#/components/schemas/DistanceM" chargingState: $ref: "#/components/schemas/ChargingState" drivingState: $ref: "#/components/schemas/DrivingState" elevationM: $ref: "#/components/schemas/DistanceM" PlanTelemetry: type: object properties: dataPoints: type: array items: $ref: "#/components/schemas/PlanTelemetryPoint" PlanCalibration: type: object default: {} properties: state: type: string format: string example: gAAAAABlEsWRgMeNoCloN_z14nEAmzT1UTFjj30FZ8t1ZKwjCPhVXSO0gdf8eQZeURkf-X3PJNhOCGe0kTS_tElsBWPie8U9cQ== description: | A string containing the calibration state as returned by a previous call of plan/refresh or the empty string if reset/unknown. PlanTelemetryRequest: type: object properties: telemetry: $ref: "#/components/schemas/PlanTelemetry" calibration: $ref: "#/components/schemas/PlanCalibration" PlanRequestWithTelemetry: allOf: - $ref: "#/components/schemas/PlanRequest" - $ref: "#/components/schemas/PlanTelemetryRequest" RouteTag: type: string enum: - REFRESHED_SAME_LEG_ORIGINS - REFRESHED_SAME_DRIVES - REFRESHED_HAS_INITIAL_STAY - AMENITY_BREAK_NOT_NEEDED - AMENITY_BREAK_AFTER_FINAL_DESTINATION description: TO BE WRITTEN LegTag: type: string enum: - ARRIVAL_SOC_BELOW_WANTED - ARRIVAL_SOC_BELOW_ACCEPTABLE - ARRIVAL_SOC_BELOW_ZERO - ARRIVAL_SOC_BELOW_CRITICAL - SECONDARY_CHARGE_SESSION description: TO BE WRITTEN RouteSummary: type: object required: - durationSec - driveDurationSec - ferryDurationSec - distanceM - driveDistanceM - ferryDistanceM - consumedSoc - consumedWh - chargedSoc - chargedW - primaryChargeDurationSec - secondaryChargeDurationSec properties: durationSec: type: integer minimum: 0 description: The total time of the route. driveDurationSec: type: integer minimum: 0 description: The total time spent diving. ferryDurationSec: type: integer minimum: 0 description: The total time spent on ferries. distanceM: type: integer minimum: 0 description: The total distance of the route. driveDistanceM: type: integer minimum: 0 description: The total distance driven. ferryDistanceM: type: integer minimum: 0 description: The total distance on ferries. consumedSoc: type: integer minimum: 0 description: The total Soc consumed on the route. consumedWh: type: integer minimum: 0 description: The total energy consumed on the route. chargedSoc: type: integer minimum: 0 description: The total Soc charged on the route. chargedW: type: integer minimum: 0 description: The total energy charged on the route. primaryChargeDurationSec: type: integer minimum: 0 description: The total time spent in primary charging sessions. This is typically the time that should be displayed to the user. secondaryChargeDurationSec: type: integer minimum: 0 description: The total time spent in secondary charging sessions. These are typically over-the-night charge-stops that are not as important to show to the user. NonOverlappingRouteSegment: type: object required: - startLegIndex - startPolylineIndex - endLegIndex - endPolylineIndex properties: startLegIndex: type: integer description: The index of the leg where the non-overlapping segment starts. startPolylineIndex: type: integer description: The index of the polyline where the non-overlapping segment starts. endLegIndex: type: integer description: The index of the leg where the non-overlapping segment ends. endPolylineIndex: type: integer description: The index of the polyline where the non-overlapping segment ends. RouteOverlap: type: object required: - comparedRouteId - nonOverlappingSegments properties: comparedRouteId: type: string description: The route id of the overlapping route. nonOverlappingSegments: type: array items: $ref: "#/components/schemas/NonOverlappingRouteSegment" OriginType: type: string enum: - UNSPECIFIED - ADDED_CHARGER - AMENITY_SEARCH_CHARGER - DESTINATION Country3: type: string example: SWE description: The three letter country code (ISO 3166-1 alpha-3) in capital letters ChargeProfilePoint: type: object required: - durationSec - socFrac - powerW properties: durationSec: type: integer minimum: 0 description: The duration until the soc point has been reached. socFrac: type: number minimum: 0 maximum: 1 description: The soc value of the current point powerW: type: number minimum: 0 description: The current power of the charging session. description: A point of a charging session. Busyness: type: string enum: - UNKNOWN - LOW - MEDIUM - HIGH description: The predicted busyness of the charger at arrival CardId: type: integer format: int64 description: Unique identifier for a charge card. minimum: 1 ChargeCostEntry: type: object required: - cost - cardId - currency - isDefault properties: cost: type: number minimum: 0 cardId: $ref: "#/components/schemas/CardId" currency: $ref: "#/components/schemas/Currency" isDefault: type: boolean description: | The expected price to be used for a user without any card preferences. SelectedConnector: type: object required: - connectorType - evseIds properties: connectorType: $ref: "#/components/schemas/ConnectorType" evseIds: type: array items: type: string description: | EVSE identifiers at the charger that matches the presented charge-session. When present, this set matches the EVSE scope used for the corresponding bulk charge session cost request. description: Information to help identify the selected outlet. LegOriginChargerSource: type: object required: - name - locationId properties: name: type: string description: The name of the source. locationId: type: string description: The charger's location id within this source. LegOriginCharger: type: object required: - id - predictedBusyness - costs - selectedConnector properties: id: $ref: "#/components/schemas/ChargerId" predictedBusyness: $ref: "#/components/schemas/Busyness" costs: type: array items: $ref: "#/components/schemas/ChargeCostEntry" selectedConnector: $ref: "#/components/schemas/SelectedConnector" source: $ref: "#/components/schemas/LegOriginChargerSource" LegOrigin: type: object required: - type - lat - long - name - timezone - arrivalSocFrac - utcOffsetSec - departureSocFrac - totalStayDurationSec - remainingRouteDistanceM - remainingRouteDurationOnArrivalSec - arrivalTime - chargeDurationSec - chargeOverheadSec - chargedSocFrac - chargedW - chargeProfile - idealChargeDurationSec - chargeThrottleReason properties: type: $ref: "#/components/schemas/OriginType" description: TO BE WRITTEN lat: $ref: "#/components/schemas/Lat" long: $ref: "#/components/schemas/Long" name: type: string description: TO BE WRITTEN country3: $ref: "#/components/schemas/Country3" utcOffsetSec: type: integer description: The UTC offset in seconds. timezone: type: string description: The "tz database" name of the timezone, i.e, "/" arrivalSocFrac: type: number minimum: 0 maximum: 1 description: The SoC on arrival. departureSocFrac: type: number minimum: 0 maximum: 1 description: The SoC on departure. totalStayDurationSec: type: integer minimum: 0 description: The time for the say. remainingRouteDistanceM: type: integer minimum: 0 description: The total distance remaining. remainingRouteDurationOnArrivalSec: type: integer minimum: 0 description: The total duration left on the route on arrival. arrivalTime: type: string format: date-time description: The time of arrival in the local timezone. chargeDurationSec: type: integer minimum: 0 description: The time spent charging. chargeOverheadSec: type: integer minimum: 0 description: The time spent on charge overhead. chargedSocFrac: type: number minimum: 0 maximum: 1 description: The total SoC charged. chargedW: type: integer minimum: 0 description: The total energy charged. chargeProfile: type: array items: $ref: "#/components/schemas/ChargeProfilePoint" description: The profile of the charging session. idealChargeDurationSec: type: integer minimum: 0 description: The ideal charge duration without external factors like temperature. Should always be equal to or less than chargeDurationSec. chargeThrottleReason: type: string description: The reason for the difference between the ideal charge duration and the actual charge duration. enum: - NONE - LOW_BATTERY_TEMP destinationIndex: type: integer minimum: 0 description: The index of the destination in the request. charger: $ref: "#/components/schemas/LegOriginCharger" WeatherSummary: type: object required: - condition - temperatureC - windSpeedMs - windDirection properties: condition: type: string enum: - CLEAR - CLOUDS - FOG - LIGHT_SNOW - SNOW - HEAVY_SNOW - LIGHT_RAIN - RAIN - HEAVY_RAIN - THUNDERSTORM - UNKNOWN description: Enum representing different weather conditions. temperatureC: type: number description: The temperature in Celsius. windSpeedMs: type: number description: The wind speed in m/s. windDirection: type: integer description: The wind direction in degrees. PolylineIndex: type: integer description: An index of a polyline. PolylineSegment: type: object required: - start - end properties: start: $ref: "#/components/schemas/PolylineIndex" description: The index where the segment starts. end: $ref: "#/components/schemas/PolylineIndex" description: The index where the segment ends. ReducedSpeedSegment: type: object required: - segment - maxSpeedMs properties: segment: $ref: "#/components/schemas/PolylineSegment" maxSpeedMs: type: number PolylineWithPrecision: type: object required: - value - precision properties: value: type: string example: _p~iF~ps|U_ulLnnqC_mqNvxq@ precision: type: integer enum: - 5 - 6 GeometryPointInfo: type: object required: - socFrac - speedMs - elevationM - remainingRouteDistanceM - remainingRouteDurationSec properties: socFrac: type: array items: type: number minimum: 0 maximum: 1 description: The current SoC Frac. speedMs: type: array items: type: number minimum: 0 maximum: 100 description: The current speed. elevationM: type: array items: type: integer description: The current elevation remainingRouteDistanceM: type: array items: type: integer minimum: 0 description: The total distance remaining. remainingRouteDurationSec: type: array items: type: integer minimum: 0 description: The total duration left on the route. InstructionType: type: string enum: - CONTINUE - TURN - ARRIVE - FORK - OFF_RAMP - ROUNDABOUT - ROUNDABOUT_EXIT TurnType: type: string enum: - NO_TURN_TYPE - RIGHT - SHARP_RIGHT - SLIGHT_RIGHT - LEFT - SHARP_LEFT - SLIGHT_LEFT - UTURN_LEFT - UTURN_RIGHT - STRAIGHT - RETURN TurnLane: type: object required: - valid - indications properties: valid: type: boolean indications: type: array items: $ref: "#/components/schemas/TurnType" RoadSign: type: object properties: destination: type: string ref: type: string RoadType: type: string enum: - NO_ROAD_TYPE - MOTORWAY - TRUNK - PRIMARY - SECONDARY - TERTIARY - MOTORWAY_LINK - TRUNK_LINK - PRIMARY_LINK - SECONDARY_LINK - TERTIARY_LINK - RESIDENTIAL - SERVICE RoundaboutInfo: type: object required: - isClockwiseRotation - isSmallRoundabout - bearingChange - exitNr properties: isClockwiseRotation: type: boolean isSmallRoundabout: type: boolean bearingChange: type: number format: double exitNr: type: integer format: uint32 RoundaboutExitInfo: type: object required: - isClockwiseRotation properties: isClockwiseRotation: type: boolean Instruction: type: object required: - index - type - direction - lanes - signs - currentRoadType - ontoRoadType properties: index: $ref: "#/components/schemas/PolylineIndex" type: $ref: "#/components/schemas/InstructionType" direction: $ref: "#/components/schemas/TurnType" lanes: type: array items: $ref: "#/components/schemas/TurnLane" signs: type: array items: $ref: "#/components/schemas/RoadSign" ontoStreetName: type: string currentRoadType: $ref: "#/components/schemas/RoadType" ontoRoadType: $ref: "#/components/schemas/RoadType" exitSign: type: string country3: $ref: "#/components/schemas/Country3" roundaboutInfo: $ref: "#/components/schemas/RoundaboutInfo" roundaboutExitInfo: $ref: "#/components/schemas/RoundaboutExitInfo" SpeedLimitSegment: type: object required: - segment - speedMs - unlimited properties: segment: $ref: "#/components/schemas/PolylineSegment" speedMs: type: number unlimited: type: boolean FerrySegment: type: object required: - segment - travelDurationSec - boardingTimeSec - deboardingTime - name properties: segment: $ref: "#/components/schemas/PolylineSegment" travelDurationSec: type: integer boardingTimeSec: type: integer deboardingTime: type: integer name: type: string TollSegment: type: object required: - segment properties: segment: $ref: "#/components/schemas/PolylineSegment" TunnelSegment: type: object required: - segment properties: segment: $ref: "#/components/schemas/PolylineSegment" CongestionLevel: type: string enum: - NO_CONGESTION - LIGHT - MEDIUM - HEAVY description: TO BE WRITTEN CongestionSegment: type: object required: - segment - congestion properties: segment: $ref: "#/components/schemas/PolylineSegment" congestion: $ref: "#/components/schemas/CongestionLevel" LegDriveDetails: type: object required: - durationSec - driveDurationSec - ferryDurationSec - distanceM - driveDistanceM - ferryDistanceM - consumedSoc - consumedW - reducedSpeeds - polyline - geometryPointInfo - instructions - speedLimits - ferries - tolls - tunnels - congestions properties: durationSec: type: integer minimum: 0 description: The total time of the route. driveDurationSec: type: integer minimum: 0 description: The total time spent diving. ferryDurationSec: type: integer minimum: 0 description: The total time spent on ferries. distanceM: type: integer minimum: 0 description: The total distance of the route. driveDistanceM: type: integer minimum: 0 description: The total distance driven. ferryDistanceM: type: integer minimum: 0 description: The total distance on ferries. consumedSoc: type: integer minimum: 0 description: The total Soc consumed on the route. consumedW: type: integer minimum: 0 description: The total energy consumed on the route. reducedSpeeds: type: array items: $ref: "#/components/schemas/ReducedSpeedSegment" description: TO BE WRITTEN. polyline: $ref: "#/components/schemas/PolylineWithPrecision" geometryPointInfo: $ref: "#/components/schemas/GeometryPointInfo" instructions: type: array items: $ref: "#/components/schemas/Instruction" description: TO BE WRITTEN. speedLimits: type: array items: $ref: "#/components/schemas/SpeedLimitSegment" description: TO BE WRITTEN. ferries: type: array items: $ref: "#/components/schemas/FerrySegment" description: TO BE WRITTEN. tolls: type: array items: $ref: "#/components/schemas/TollSegment" description: TO BE WRITTEN. tunnels: type: array items: $ref: "#/components/schemas/TunnelSegment" description: TO BE WRITTEN. congestions: type: array items: $ref: "#/components/schemas/CongestionSegment" description: TO BE WRITTEN. RouteLeg: type: object required: - legId - tags - origin - driveDetails properties: legId: type: string description: A unique identifier for the leg. tags: type: array items: $ref: "#/components/schemas/LegTag" description: TO BE WRITTEN origin: $ref: "#/components/schemas/LegOrigin" weatherSummary: $ref: "#/components/schemas/WeatherSummary" driveDetails: $ref: "#/components/schemas/LegDriveDetails" Route: type: object required: - routeId - score - tags - legTags - summary - routeOverlaps - legs properties: routeId: type: string description: A unique identifier for the route. score: type: integer format: int64 minimum: 0 description: The score for the route, can be interpreted as seconds. tags: type: array items: $ref: "#/components/schemas/RouteTag" description: TO BE WRITTEN legTags: type: array items: $ref: "#/components/schemas/LegTag" description: TO BE WRITTEN summary: $ref: "#/components/schemas/RouteSummary" routeOverlaps: type: array items: $ref: "#/components/schemas/RouteOverlap" legs: type: array items: $ref: "#/components/schemas/RouteLeg" PlanResult: type: object required: - planId - alternativesCursor - routes - customData properties: planId: type: string alternativesCursor: type: string description: Cursor to be used to fetch alternative plans. routes: type: array items: $ref: "#/components/schemas/Route" customData: type: object description: Customer specific additional data. clientContext: type: object additionalProperties: true description: | Arbitrary client-defined context, echoed from the request as-is. PlanCalibrationResultData: type: object required: - state properties: state: type: string description: The calibration state of the vehicle. referenceConsumption: type: number description: The reference consumption in Wh/km @ 110 km/h. PlanCalibrationResult: type: object properties: calibration: $ref: "#/components/schemas/PlanCalibrationResultData" EnrichedPlanResult: allOf: - $ref: "#/components/schemas/PlanResult" - $ref: "#/components/schemas/PlanCalibrationResult" PlanUsageError: type: string enum: - DIFFERENT_REGIONS - DIFFERENT_COUNTRIES_WITH_AVOID_BORDER AmenityChargerCandidateCategory: type: string description: The category of the amenity. enum: - RESTAURANT - SHOPPING - HOTEL - CAFE - TOILET AmenitySubtype: type: string enum: - RESTAURANT_ASIAN - RESTAURANT_EUROPEAN - RESTAURANT_AMERICAN - RESTAURANT_OTHER - RESTAURANT_FASTFOOD description: Amenity subtypes AfterDestinationIndexOption: type: object required: - type - index properties: type: type: string enum: - afterDestinationIndex index: type: integer minimum: 0 AtDestinationIndexOption: type: object required: - type - index properties: type: type: string enum: - atDestinationIndex index: type: integer minimum: 0 AfterCurrentPositionOption: type: object required: - type properties: type: type: string enum: - afterCurrentPosition AfterTimeOption: type: object required: - type - afterTimeSec properties: type: type: string enum: - afterTime afterTimeSec: type: integer minimum: 0 description: | [s] Search after this time from the start of the leg. Typically used to search for chargers after the current vehicle position. AroundPointOption: type: object required: - type - aroundPoint properties: type: type: string enum: - aroundPoint aroundPoint: $ref: "#/components/schemas/Coordinates" AmenityChargerCandidatesSearchFilter: type: object properties: category: $ref: "#/components/schemas/AmenityChargerCandidateCategory" distanceM: type: integer minimum: 0 default: 1000 description: | The maximum distance from the route to search for amenities. stayTimeSec: type: integer minimum: 0 default: 300 description: | [s] The time the vehicle is expected to stay at the amenity. This is used to filter out amenities that are too far away from the route. subcategories: type: array items: $ref: "#/components/schemas/AmenitySubtype" whereOnPlan: oneOf: - $ref: "#/components/schemas/AfterDestinationIndexOption" - $ref: "#/components/schemas/AtDestinationIndexOption" - $ref: "#/components/schemas/AfterCurrentPositionOption" discriminator: propertyName: type mapping: afterDestinationIndex: "#/components/schemas/AfterDestinationIndexOption" atDestinationIndex: "#/components/schemas/AtDestinationIndexOption" afterCurrentPosition: "#/components/schemas/AfterCurrentPositionOption" whereOnLeg: oneOf: - $ref: "#/components/schemas/AfterTimeOption" - $ref: "#/components/schemas/AroundPointOption" discriminator: propertyName: type mapping: afterTime: "#/components/schemas/AfterTimeOption" aroundPoint: "#/components/schemas/AroundPointOption" cursor: type: string description: Opaque token for retrieving the next set of results. AmenityCandidatesRequest: type: object required: - searches - planRequest properties: searches: type: array items: $ref: "#/components/schemas/AmenityChargerCandidatesSearchFilter" planRequest: $ref: "#/components/schemas/PlanRequest" AmenityCandidate: type: object required: - chargerId - location - timeLostSec - timeToSec - distanceToM properties: chargerId: type: integer format: uint64 description: Unique charger identifier location: $ref: "#/components/schemas/Coordinates" timeLostSec: type: integer minimum: 0 description: Time lost if stopping at this charger, in seconds timeToSec: type: integer minimum: 0 description: Time to reach this charger from current position, in seconds distanceToM: type: integer minimum: 0 description: Distance to this charger from current position, in meters AmenityCandidateSearchResult: type: object required: - filter - candidates properties: filter: $ref: "#/components/schemas/AmenityChargerCandidatesSearchFilter" candidates: type: array items: $ref: "#/components/schemas/AmenityCandidate" RefreshRequest: type: object required: - routeId - legId - currentLat - currentLong - currentSocFrac properties: routeId: type: string legId: type: string currentLat: $ref: "#/components/schemas/Lat" currentLong: $ref: "#/components/schemas/Long" currentBearing: type: number minimum: 0 maximum: 360 description: | The bearing (heading) of the vehicle in degrees with zero being north. currentSocFrac: type: number format: float minimum: 0 maximum: 1 RefreshRequestWithTelemetry: allOf: - $ref: "#/components/schemas/RefreshRequest" - $ref: "#/components/schemas/PlanTelemetryRequest" AmenityCandidatesCurrentPosition: type: object required: - location - legId - socFrac properties: location: $ref: "#/components/schemas/Coordinates" description: | The current position of the vehicle. This is used to search for amenities along the route. legId: type: string socFrac: type: number format: float minimum: 0 maximum: 1 description: The SoC of the vehicle at the current position. AmenityCandidatesAlongRouteRequest: type: object required: - searches - routeId properties: routeId: type: string description: The routeId of the route to search for amenities along. currentPosition: $ref: "#/components/schemas/AmenityCandidatesCurrentPosition" description: | The current position of the vehicle. This is used to search for amenities along the route. searches: type: array items: $ref: "#/components/schemas/AmenityChargerCandidatesSearchFilter" VehicleId: type: integer format: int64 description: The id of the vehicle. example: 1 VehicleIdIdentifier: type: object required: - type - value properties: type: type: string description: Discriminator field. enum: - VEHICLE_ID example: VEHICLE_ID value: $ref: "#/components/schemas/VehicleId" AbrpVehicleIdentifier: type: object required: - identifier properties: identifier: oneOf: - $ref: "#/components/schemas/TypecodeIdentifier" - $ref: "#/components/schemas/VehicleIdIdentifier" discriminator: propertyName: type mapping: TYPECODE: "#/components/schemas/TypecodeIdentifier" VEHICLE_ID: "#/components/schemas/VehicleIdIdentifier" AbrpVehicle: allOf: - $ref: "#/components/schemas/BaseVehicle" - $ref: "#/components/schemas/AbrpVehicleIdentifier" example: identifier: type: TYPECODE value: rivian:r1s:21:135 degradation: 3 socFrac: 0.43 RealtimeTrafficSource: type: string description: | Allows the client to toggle the source of the traffic. AbrpPlanRequestDeveloperSettings: type: object properties: realtimeTrafficSource: $ref: "#/components/schemas/RealtimeTrafficSource" AbrpPlanRequest: type: object required: - destinations - vehicle properties: destinations: type: array minItems: 2 items: $ref: "#/components/schemas/Destination" description: | A list of at least two destination (the start and final destination) of the plan. example: - location: type: COORDINATES lat: 55.71220191979822 long: 13.215866972117013 bearing: 23 - location: type: ADDRESS value: Örgrytevägen 5, Gothemburg minimumArrivalSocFrac: 0.2 charging: $ref: "#/components/schemas/ChargingOptions" speed: $ref: "#/components/schemas/SpeedOptions" avoid: $ref: "#/components/schemas/AvoidOptions" resultOptions: $ref: "#/components/schemas/ResultOptions" traffic: $ref: "#/components/schemas/Traffic" weather: $ref: "#/components/schemas/Weather" vehicle: $ref: "#/components/schemas/AbrpVehicle" developerSettings: $ref: "#/components/schemas/AbrpPlanRequestDeveloperSettings" description: | Debug options for the plan request. Requires the developer role. clientContext: type: object additionalProperties: true description: | Arbitrary client-defined metadata. Stored and returned as-is; not used in route planning. AbrpPlanResponseVehicle: type: object required: - batteryCapacityWh - maxSpeedMs properties: batteryCapacityWh: type: integer description: The battery capacity in watt-hours. maxSpeedMs: type: number description: The maximum speed of the vehicle in m/s. AbrpGeometryPointInfoPatch: type: object required: - bearing properties: bearing: type: array items: type: number description: The bearings of the point in degrees. minimum: 0 maximum: 360 exclusiveMaximum: true AbrpGeometryPointInfo: allOf: - $ref: "#/components/schemas/GeometryPointInfo" - $ref: "#/components/schemas/AbrpGeometryPointInfoPatch" AbrpLegDriveDetailsPatch: type: object required: - geometryPointInfo properties: geometryPointInfo: $ref: "#/components/schemas/AbrpGeometryPointInfo" AbrpLegDriveDetails: allOf: - $ref: "#/components/schemas/LegDriveDetails" - $ref: "#/components/schemas/AbrpLegDriveDetailsPatch" AbrpRouteLegPatch: type: object required: - driveDetails properties: driveDetails: $ref: "#/components/schemas/AbrpLegDriveDetails" AbrpRouteLeg: allOf: - $ref: "#/components/schemas/RouteLeg" - $ref: "#/components/schemas/AbrpRouteLegPatch" AbrpRoutePatch: type: object required: - legs properties: legs: type: array items: $ref: "#/components/schemas/AbrpRouteLeg" AbrpRoute: allOf: - $ref: "#/components/schemas/Route" - $ref: "#/components/schemas/AbrpRoutePatch" AbrpPlanResponsePatch: type: object required: - vehicle - routes properties: vehicle: $ref: "#/components/schemas/AbrpPlanResponseVehicle" routes: type: array items: $ref: "#/components/schemas/AbrpRoute" AbrpPlan: allOf: - $ref: "#/components/schemas/PlanResult" - $ref: "#/components/schemas/AbrpPlanResponsePatch" PlanAlternativesRequest: type: object required: - planId - cursor properties: planId: type: string cursor: type: string description: Opaque token for retrieving the next set of alternatives AbrpRouteGeometry: type: object required: - legId properties: legId: type: string polyline: $ref: "#/components/schemas/PolylineWithPrecision" AbrpRefreshPatch: type: object properties: findNextChargerAlternatives: type: boolean routeGeometries: type: array items: $ref: "#/components/schemas/AbrpRouteGeometry" AbrpRefreshRequest: allOf: - $ref: "#/components/schemas/RefreshRequest" - $ref: "#/components/schemas/AbrpRefreshPatch" AbrpAmenityCandidatesRequest: type: object required: - searches - planRequest properties: searches: type: array items: $ref: "#/components/schemas/AmenityChargerCandidatesSearchFilter" planRequest: $ref: "#/components/schemas/AbrpPlanRequest" EvComparisonGeometryPointInfo: type: object required: - elevationM - remainingRouteDistanceM properties: elevationM: type: array items: type: integer description: The elevation in meters. remainingRouteDistanceM: type: array items: type: integer minimum: 0 description: The total distance remaining. EvComparisonFerrySegment: type: object required: - remainingRouteSecPreBoarding - travelDurationSec - boardingTimeSec - deboardingTimeSec - name properties: remainingRouteSecPreBoarding: type: integer minimum: 0 description: The remaining duration on the arrival, in seconds. travelDurationSec: type: integer minimum: 0 description: The remaining duration on the departure, in seconds. boardingTimeSec: type: integer minimum: 0 description: The boarding time, in seconds. deboardingTimeSec: type: integer minimum: 0 description: The deboarding time, in seconds. name: type: string description: The name of the ferry. EvComparisonDriveDetails: type: object required: - geometryPointInfo - ferries properties: geometryPointInfo: $ref: "#/components/schemas/EvComparisonGeometryPointInfo" ferries: type: array items: $ref: "#/components/schemas/EvComparisonFerrySegment" EvComparisonRouteLeg: type: object required: - tags - origin - driveDetails properties: tags: type: array items: $ref: "#/components/schemas/LegTag" origin: $ref: "#/components/schemas/LegOrigin" weatherSummary: $ref: "#/components/schemas/WeatherSummary" driveDetails: $ref: "#/components/schemas/EvComparisonDriveDetails" EvComparisonRoute: type: object required: - tags - legTags - legs - summary properties: summary: $ref: "#/components/schemas/RouteSummary" tags: type: array items: $ref: "#/components/schemas/RouteTag" legTags: type: array items: $ref: "#/components/schemas/LegTag" legs: type: array items: $ref: "#/components/schemas/EvComparisonRouteLeg" EvComparisonPlan: type: object required: - planId - routes properties: planId: type: string routes: type: array items: $ref: "#/components/schemas/EvComparisonRoute" Typecode: type: string description: A unique identifier for a vehicle model example: rivian:r1s:21:135 Degrees: type: number format: float example: 90 description: The degrees of the angle. 0 is north, 90 is east, 180 is south, 270 is west. minimum: 0 maximum: 360 exclusiveMaximum: true VoiceCommandLocation: type: object required: - lat - lon description: | Current device/vehicle location, used by the voice intent dispatcher to bias autosuggest results and as the origin for new routes. properties: lat: $ref: "#/components/schemas/Lat" lon: $ref: "#/components/schemas/Long" heading: $ref: "#/components/schemas/Degrees" VoiceSavedLocation: type: object required: - name - lat - lon description: | A user saved location that might be referenced by phrases like "take me home" or "go to work". properties: name: type: string description: | User-chosen name for the place (e.g. `home`, `work`). Matched by the intent dispatcher against the user's transcript and shown back as the display name in plan responses. example: home lat: $ref: "#/components/schemas/Lat" lon: $ref: "#/components/schemas/Long" VoiceTurn: type: object description: | Common fields every turn response carries. Extended by `VoicePlanResponse` and `VoiceClarificationResponse`. The client should append `{transcript, reply}` to its local history before the next request. required: - transcript - reply - language properties: transcript: type: string description: | What the user said in this turn — the STT output for `_audio` / `_stream`, or the normalised input transcript for `_text`. reply: type: string description: | Server's natural-language reply for this turn. On the happy path (`plan`) this is a short plan announcement; on `clarification` it explains what went wrong so the next turn can recover. language: type: string description: | Language of this turn (the reply, and typically the transcript too). BCP-47, but may be just the primary subtag (`de`) rather than region-qualified (`de-DE`) when STT auto-detected without a hint. Use for TTS voice selection. Always populated; defaults to `en-US`. example: sv-SE VoiceCommandContext: type: object required: - location - vehicle description: | Per-request context shared by all voice endpoints. Carries the planner inputs used by `/abrp/plan` plus voice-specific bits: `savedLocations` for alias matching, `history` for multi-turn follow-ups, and `languageCode` for STT bias / reply locale. properties: location: $ref: "#/components/schemas/VoiceCommandLocation" vehicle: $ref: "#/components/schemas/AbrpVehicle" charging: $ref: "#/components/schemas/ChargingOptions" speed: $ref: "#/components/schemas/SpeedOptions" avoid: $ref: "#/components/schemas/AvoidOptions" weather: $ref: "#/components/schemas/Weather" traffic: $ref: "#/components/schemas/Traffic" resultOptions: $ref: "#/components/schemas/ResultOptions" routeId: type: string description: Current routeId if any. savedLocations: type: array description: User saved locations available for intent-based matching. items: $ref: "#/components/schemas/VoiceSavedLocation" history: type: array description: | Prior conversational turns. Append the previous response (same `VoiceTurn` shape) here before each follow-up so the assistant can resolve references like "the one in Germany". Combined runes across history + the new transcript are capped at 1024; over the cap returns 400. items: $ref: "#/components/schemas/VoiceTurn" languageCode: type: string description: | Optional BCP-47 tag (e.g. `en-US`, `sv-SE`, `de-DE`). Biases speech recognition and the reply language. Leave it absent if you're unsure — a wrong hint is worse than auto-detect. example: en-US VoiceTextRequest: type: object required: - transcript - context description: | Text request body for `/abrp/voice/_text`. Use this when the client already has a transcript (e.g. produced by on-device STT or typed directly). properties: transcript: type: string minLength: 1 maxLength: 1024 description: Free-text command. example: drive me home context: $ref: "#/components/schemas/VoiceCommandContext" VoiceResponseType: type: string enum: - plan - clarification x-enum-varnames: - VoiceResponseTypePlan - VoiceResponseTypeClarification description: | Discriminator for `VoiceResponse`. `plan` means a route was produced; `clarification` means the server has a reply but no plan (place not found, not-a-route, etc.) and the conversation should continue. VoicePlanResponse: allOf: - $ref: "#/components/schemas/VoiceTurn" - type: object required: - type - plan properties: type: $ref: "#/components/schemas/VoiceResponseType" enum: - plan plan: $ref: "#/components/schemas/AbrpPlan" VoiceClarificationResponse: allOf: - $ref: "#/components/schemas/VoiceTurn" - type: object required: - type properties: type: $ref: "#/components/schemas/VoiceResponseType" enum: - clarification VoiceResponse: description: | Unified response for `/abrp/voice/_text`, `/abrp/voice/_audio`, and each downlink turn on `/abrp/voice/_stream`. Discriminated on `type`: * `plan` — the user's request was resolved into a route; the full `AbrpPlan` rides along. * `clarification` — the request was understood enough to respond conversationally but did not yield a route (place not found, not-a-route, etc.); the natural-language `reply` asks the user to re-speak. The conversation continues. Both shapes carry the same `transcript`, `reply`, `language` triple — the client should append `{transcript, reply}` to its local history before the next turn regardless of type. oneOf: - $ref: "#/components/schemas/VoicePlanResponse" - $ref: "#/components/schemas/VoiceClarificationResponse" discriminator: propertyName: type mapping: plan: "#/components/schemas/VoicePlanResponse" clarification: "#/components/schemas/VoiceClarificationResponse" VoiceAudioRequest: type: object required: - audio - context description: | Audio request body for `/abrp/voice/_audio`. Use this when the client has a recording in any common audio container. For headerless PCM, set the audio part's Content-Type to `audio/L16` (defaults: 16000 Hz mono). Override with `;rate=N` and/or `;channels=N` when needed. properties: audio: type: string format: binary description: Audio bytes. context: $ref: "#/components/schemas/VoiceCommandContext" RangeRequest: type: object required: - vehicle - currentLocation properties: vehicle: $ref: "#/components/schemas/AbrpVehicle" currentLocation: $ref: "#/components/schemas/Coordinates" speed: $ref: "#/components/schemas/SpeedOptions" avoid: $ref: "#/components/schemas/AvoidOptions" maxFerryLength: type: integer format: uint32 description: | Maximum ferry length in meters. Ferry routes longer than this threshold will be avoided. When specified, this parameter takes precedence over the `avoid.ferries` setting, allowing ferries up to this length even if `avoid.ferries` is true. This parameter might be removed in the future. minimum: 0 example: 950 default: 10000 traffic: $ref: "#/components/schemas/Traffic" weather: $ref: "#/components/schemas/Weather" developerSettings: $ref: "#/components/schemas/AbrpPlanRequestDeveloperSettings" radialsCount: type: integer format: uint32 description: | Number of radials to use when calculating range polygons and thus the amount of points in the resulting polygons (note: some points might collapse, so this parameter is an upper bound). Higher values result in smoother polygons but increase computation time. This parameter might be removed in the future. minimum: 8 maximum: 256 default: 32 soc: type: array items: $ref: "#/components/schemas/FracWiggle" description: | SoC levels to calculate range polygons for. Each value generates a polygon showing the reachable area while retaining at least that SoC level. example: - 0.2 - 0.05 - 0 default: - 0.2 - 0.05 - 0 minItems: 1 maxItems: 10 Geometry: type: object description: Abstract base type for GeoJSON geometry objects discriminator: propertyName: type mapping: Point: "#/components/schemas/Point" LineString: "#/components/schemas/LineString" Polygon: "#/components/schemas/Polygon" MultiPoint: "#/components/schemas/MultiPoint" MultiLineString: "#/components/schemas/MultiLineString" MultiPolygon: "#/components/schemas/MultiPolygon" externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.1 required: - type properties: type: type: string enum: - Point - LineString - Polygon - MultiPoint - MultiLineString - MultiPolygon description: The geometry type Position: type: array description: | A position is represented by an array of numbers. There MUST be two or more elements. The first two are longitude and latitude, or easting and northing, precisely in that order. Altitude or elevation MAY be included as an optional third element. externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.1.1 minItems: 2 maxItems: 3 items: type: number format: double example: - 125.6 - 10.1 Point: type: object description: GeoJSON Point geometry externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.1.2 allOf: - $ref: "#/components/schemas/Geometry" - type: object required: - coordinates properties: type: type: string enum: - Point coordinates: $ref: "#/components/schemas/Position" LineString: type: object description: GeoJSON LineString geometry externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.1.4 allOf: - $ref: "#/components/schemas/Geometry" - type: object required: - coordinates properties: type: type: string enum: - LineString coordinates: type: array minItems: 2 items: $ref: "#/components/schemas/Position" Polygon: type: object description: | GeoJSON Polygon geometry. For Polygons with more than one of these rings, the first MUST be the exterior ring, and any others MUST be interior rings. externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.1.6 allOf: - $ref: "#/components/schemas/Geometry" - type: object required: - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array description: A LinearRing is a closed LineString with four or more positions minItems: 4 items: $ref: "#/components/schemas/Position" MultiPoint: type: object description: GeoJSON MultiPoint geometry externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.1.3 allOf: - $ref: "#/components/schemas/Geometry" - type: object required: - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: $ref: "#/components/schemas/Position" MultiLineString: type: object description: GeoJSON MultiLineString geometry externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.1.5 allOf: - $ref: "#/components/schemas/Geometry" - type: object required: - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: $ref: "#/components/schemas/Position" MultiPolygon: type: object description: GeoJSON MultiPolygon geometry externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.1.7 allOf: - $ref: "#/components/schemas/Geometry" - type: object required: - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: $ref: "#/components/schemas/Position" Feature: type: object description: GeoJSON Feature object required: - type - geometry externalDocs: url: https://tools.ietf.org/html/rfc7946#section-3.2 properties: type: type: string enum: - Feature id: oneOf: - type: string - type: number description: A feature identifier geometry: $ref: "#/components/schemas/Geometry" properties: type: object additionalProperties: true description: A feature object MAY have any number of members RangePolygonProperties: type: object required: - soc properties: soc: $ref: "#/components/schemas/FracWiggle" description: | SoC level this polygon represents. Areas within the polygon are reachable while retaining at least this much battery charge. example: 0.2 RangeEstimate: allOf: - $ref: "#/components/schemas/Feature" - type: object required: - geometry - properties properties: geometry: $ref: "#/components/schemas/Polygon" properties: $ref: "#/components/schemas/RangePolygonProperties" Name: type: string example: Iternio's office charger description: The name of the location. SimpleChargerNetwork: type: object required: - id - name properties: id: type: integer format: int64 description: A unique identifier for the network. example: 85 name: type: string description: The name of the network. example: Ionity ChargerAccessibilityOpen: type: object required: - status properties: status: type: string enum: - OPEN ChargerAccessibilityLimited: type: object required: - status - restrictions properties: status: type: string enum: - LIMITED restrictions: type: array items: type: string enum: - ONLY_CUSTOMERS - ONLY_TRUCKS - ONLY_2_WHEELERS - ONLY_BUS - ONLY_BRAND - ONLY_CARSHARING - ONLY_TAXIS - ONLY_RESIDENTIAL - ONLY_EMPLOYEES - TIME_RESTRICTED ChargerAccessibilityConstruction: type: object required: - status properties: status: type: string enum: - CONSTRUCTION ChargerAccessibilityClosed: type: object required: - status properties: status: type: string enum: - CLOSED ChargerAccessibilityNonpublic: type: object required: - status properties: status: type: string enum: - NON-PUBLIC ChargerAccessibilityUnknown: type: object required: - status properties: status: type: string enum: - UNKNOWN ChargerAccessibility: type: object description: Iternio specific status about the whole location. oneOf: - $ref: "#/components/schemas/ChargerAccessibilityOpen" - $ref: "#/components/schemas/ChargerAccessibilityLimited" - $ref: "#/components/schemas/ChargerAccessibilityConstruction" - $ref: "#/components/schemas/ChargerAccessibilityClosed" - $ref: "#/components/schemas/ChargerAccessibilityNonpublic" - $ref: "#/components/schemas/ChargerAccessibilityUnknown" discriminator: propertyName: status mapping: OPEN: "#/components/schemas/ChargerAccessibilityOpen" LIMIT: "#/components/schemas/ChargerAccessibilityLimited" CONSTRUCTION: "#/components/schemas/ChargerAccessibilityConstruction" CLOSED: "#/components/schemas/ChargerAccessibilityClosed" NON-PUBLIC: "#/components/schemas/ChargerAccessibilityNonpublic" UNKNOWN: "#/components/schemas/ChargerAccessibilityUnknown" example: status: open Connector: type: object required: - standard properties: standard: $ref: "#/components/schemas/ConnectorType" power: type: number description: The maximum power that can be supplied by the connector [W]. example: 150000 priceId: type: string description: A unique identifier for the price of the connector. example: abc-123-456 cardIds: type: array items: $ref: "#/components/schemas/CardId" example: - 1 - 85 description: A list of unique identifiers for the supporter charge cards. Evse: type: object required: - connectors properties: connectors: type: array items: $ref: "#/components/schemas/Connector" Charger: type: object required: - id - coordinates - accessibility - evses - hasDynamicStatus properties: id: type: integer description: A unique identifier for the charger. coordinates: $ref: "#/components/schemas/Coordinates" name: $ref: "#/components/schemas/Name" network: $ref: "#/components/schemas/SimpleChargerNetwork" accessibility: $ref: "#/components/schemas/ChargerAccessibility" hasDynamicStatus: type: boolean example: false description: Signals if the charger has dynamic status. evses: type: array items: $ref: "#/components/schemas/Evse" SuccessCharger: type: object required: - status - item properties: status: type: string description: Describes the status of the request item: $ref: "#/components/schemas/Charger" GetItemError: type: object description: Error signaling inability to retrieve the item. required: - status allOf: - type: object required: - status properties: status: type: string enum: - error description: Describes the status of the request - type: object properties: message: type: string example: resource not found description: message describing why the item couldn't be retrieved. GetCharger: type: object oneOf: - $ref: "#/components/schemas/GetItemError" - $ref: "#/components/schemas/SuccessCharger" discriminator: propertyName: status mapping: ok: "#/components/schemas/SuccessCharger" error: "#/components/schemas/GetItemError" Platform: type: string enum: - WEB - ANDROID - IOS - CARPLAY - ANDROID_AUTO - AUTOMOTIVE description: The platform of the device making the request MergeConnectorTypes: type: string default: NONE enum: - NONE - ALL description: | If set to ALL, the connector types from all sources will be merged. This is useful when you want to append outlets to the standard vehicle connectors. If set to NONE, the explicitly defined connector types will be the primary source, with connector types derived from vehicle as a fallback. Address: type: string example: Scheelevägen 15 description: The street and house number where the charge point is located. AmenityType: type: string enum: - RESTAURANT - SHOPPING - HOTEL - CAFE description: The available amenity types AmenityDistance: type: object required: - type - distance properties: type: $ref: "#/components/schemas/AmenityType" distance: type: integer description: The distance in meters. description: The distance to the closest amenity of a certain type. ChargerRatingItem: type: object required: - rating - count properties: rating: type: integer description: Number of stars in the rating (1-5 where 5 is best) minimum: 1 maximum: 5 example: 5 count: type: integer description: Number of times this rating has been given example: 123 Rating: type: object required: - ratings - numberOfVotes description: The rating of the charger. Collected from user reports. properties: average: type: number description: The average score of the votes. Formatted with one decimal. example: 4.2 maximum: 5 minimum: 0 numberOfVotes: type: integer description: The sum of the count for all ratings. example: 602 minimum: 0 ratings: type: array example: - rating: 5 count: 123 - rating: 4 count: 456 - rating: 3 count: 23 items: type: object $ref: "#/components/schemas/ChargerRatingItem" HasFeature: type: string enum: - NO_DATA - "YES" - "NO" - AMBIGUOUS UserBooleanFeature: type: object required: - "yes" - "no" - dontKnow properties: "yes": type: integer example: 5 description: Reports indicating that the charger has the property. "no": type: integer example: 2 description: Reports indicating that the charger doesn't have the property. dontKnow: type: integer example: 3 description: Reports indicating that it is difficult to determine if the charger has the property. DogFriendly: type: object description: Indicates that the location is ell suited for dog owners. required: - hasFeature properties: hasFeature: $ref: "#/components/schemas/HasFeature" userVotes: $ref: "#/components/schemas/UserBooleanFeature" HasPlayground: type: object description: Indicates that the location has a nearby playground. required: - hasFeature properties: hasFeature: $ref: "#/components/schemas/HasFeature" userVotes: $ref: "#/components/schemas/UserBooleanFeature" HasOpenRestrooms: type: object description: Indicates that the location has open restrooms. required: - hasFeature properties: hasFeature: $ref: "#/components/schemas/HasFeature" userVotes: $ref: "#/components/schemas/UserBooleanFeature" TrailerFriendly: type: object description: Indicates that the location is usable with a trailer. required: - hasFeature properties: hasFeature: $ref: "#/components/schemas/HasFeature" userVotes: $ref: "#/components/schemas/UserBooleanFeature" PlugAndCharge: type: object description: Indicates that the location has a plug and charge feature. required: - hasFeature properties: hasFeature: $ref: "#/components/schemas/HasFeature" ChargerFeatures: type: object description: Describes specific features of the charger. There might be multiple sources for a feature. required: - dogFriendly - hasPlayground - hasOpenRestrooms - trailerFriendly - plugAndCharge properties: dogFriendly: $ref: "#/components/schemas/DogFriendly" hasPlayground: $ref: "#/components/schemas/HasPlayground" hasOpenRestrooms: $ref: "#/components/schemas/HasOpenRestrooms" trailerFriendly: $ref: "#/components/schemas/TrailerFriendly" plugAndCharge: $ref: "#/components/schemas/PlugAndCharge" ChargeCompass: type: object description: Data collected from Rivian charging sessions. properties: reliabilityScore: type: string enum: - A - B - C - D - F description: A measurement of how reliable the charger is, A is the most reliable. averageMaxPower: type: number description: The average of the maximum power supplied by the charger [kW]. example: 107 PriceType: type: string example: ENERGY description: | The type of pricing. Energy based charging is per kWh. Time based is per hour. enum: - ENERGY - TIME - FLAT - PARKING_TIME PriceSummaryEntry: type: object required: - type - lowestPrice - highestPrice properties: type: $ref: "#/components/schemas/PriceType" currentPrice: type: number example: 0.6 description: The current applicable price including vat. Only present if the price is active. lowestPrice: type: number example: 0.5 description: | The lowest applicable price including vat. highestPrice: type: number example: 0.7 description: The lowest applicable price including vat. PriceSummary: type: object required: - currency - items - isAdhoc properties: currency: $ref: "#/components/schemas/Currency" items: type: array items: $ref: "#/components/schemas/PriceSummaryEntry" isAdhoc: type: boolean description: Signals that the price is the adhoc (non-contracted) price. example: true cardId: type: integer format: int64 description: A unique identifier for the charge card. example: 85 DetailedConnectorSummary: type: object required: - standard - power properties: standard: $ref: "#/components/schemas/ConnectorType" power: type: number description: The maximum power that can be supplied by the connector. example: 150000 prices: type: array items: $ref: "#/components/schemas/PriceSummary" isCompatible: type: boolean description: | Describes if the standard is compatible with the supplied typecode or connector types. Will only be present if either a typecode or a list of connector types was supplied. example: true description: | An array of the connector standards supported by the included evses. For a charger to be included it has to exactly match the array of types and power. It also includes additional information that is shared between the included evses. EVSEStatus: type: string description: | The status of an EVSE. * `OPERATIONAL`: Iternio specific status when the user doesn't have live-data permissions. The charger is working correctly. example: AVAILABLE enum: - AVAILABLE - BLOCKED - CHARGING - INOPERATIVE - OUTOFORDER - PLANNED - REMOVED - RESERVED - UNKNOWN - OPERATIONAL EvseSummaryStatus: type: object required: - status - count properties: status: $ref: "#/components/schemas/EVSEStatus" count: type: integer minimum: 1 description: The number of evses with the specified status. EvseSummaryBase: type: object required: - count - statuses properties: count: type: integer minimum: 1 description: The number of stalls in the location that exactly matches the standards. statuses: type: array items: $ref: "#/components/schemas/EvseSummaryStatus" description: A summary of the statuses of the evses. DetailedEvseSummary: type: object allOf: - type: object required: - connectors properties: connectors: type: array items: $ref: "#/components/schemas/DetailedConnectorSummary" - $ref: "#/components/schemas/EvseSummaryBase" description: Detailed information shared between all of the EVSEs. EvseUId: type: string description: A unique identifier for the evse. example: EVSE-1 DetailedConnector: type: object required: - standard properties: standard: $ref: "#/components/schemas/ConnectorType" description: A detailed description of a connector. DetailedEvse: type: object required: - id - connectors properties: id: $ref: "#/components/schemas/EvseUId" status: $ref: "#/components/schemas/EVSEStatus" statusLastUpdated: type: string format: date-time connectors: type: array items: $ref: "#/components/schemas/DetailedConnector" description: A detailed description of an EVSE. ChargerIssues: type: object required: - summarizedSeverity description: Community reported issues with the charger. properties: summarizedSeverity: type: string description: | A summarized severity of the reported issues. - AVOID is the highest severity and should not be included in plans. - DISLIKE indicates that the charger doesn't function as expected. Examples are payment issues or slower charge speeds. - DO_NOTHING indicates that the reports doesn't affect the functionality of the charger. enum: - AVOID - DISLIKE - DO_NOTHING OpeningTimesObject: type: object required: - weekday - periodBegin - periodEnd properties: weekday: type: integer example: 3 description: The number of the day in the week. It starts from Monday (1) and ends in Sunday (7). periodBegin: type: string example: "05:00" description: The beginning of the regular period. periodEnd: type: string example: "06:00" description: The ending of the regular period. OpeningTimes: type: object required: - twentyfourseven - regularHours properties: twentyfourseven: type: boolean example: true description: Indicates if the location is always open or has certain opening and closing times. regularHours: type: array items: $ref: "#/components/schemas/OpeningTimesObject" description: The opening and closing hours of the location on a particular day of the week. description: Indicates if the location is always open or has certain opening and closing times. ParkingType: type: string example: ON_STREET enum: - ALONG_MOTORWAY - PARKING_GARAGE - PARKING_LOT - ON_DRIVEWAY - ON_STREET - UNDERGROUND_GARAGE ChargerDeepLinkUrl: type: object required: - url properties: url: type: string format: uri description: A url that can be used to deeplink to the charger. ChargerDeepLink: type: object required: - operator - urls properties: operator: type: string description: The name of the operator that the deeplinks are related to. urls: type: array items: $ref: "#/components/schemas/ChargerDeepLinkUrl" description: A list of urls that can be used to deeplink to the charger. default: [] ChargerBannerImage: type: object required: - url properties: url: type: string format: uri description: The URL of the image. ChargerBanner: type: object required: - operator - id properties: id: type: string description: Unique identifier for this banner instance (e.g., "summer-promo-2025", "banner-1") operator: type: string description: The name of the operator that the banner is related to. url: type: string format: uri description: A url to be used as deeplink on banner click. dark: $ref: "#/components/schemas/ChargerBannerImage" description: The image for dark mode. light: $ref: "#/components/schemas/ChargerBannerImage" description: The image for light mode. DetailedCharger: type: object required: - id - coordinates - source - accessibility - amenityDistances - hasDynamicStatus - cardIds - features - evseSummary - evses - deepLinks - banners description: A detailed description of a charger. properties: id: type: integer description: A unique identifier for the charger. coordinates: $ref: "#/components/schemas/Coordinates" timezone: type: string description: | IANA timezone ID for the charger's location (for example `Europe/Stockholm`). name: $ref: "#/components/schemas/Name" address: $ref: "#/components/schemas/Address" city: type: string description: The city where the charger is located. source: type: string description: The name of the data-source. example: ecomovement url: type: string description: The url of the charger. editableUrl: type: string description: The url to a website that can be used to edit the charger. network: $ref: "#/components/schemas/SimpleChargerNetwork" accessibility: $ref: "#/components/schemas/ChargerAccessibility" amenityDistances: type: array items: $ref: "#/components/schemas/AmenityDistance" description: | The distance to the closest amenity, grouped by amenity-type. If an entry is missing there are no amenities of the type located closely. rating: $ref: "#/components/schemas/Rating" hasDynamicStatus: type: boolean example: false description: Signals if the charger has dynamic status. cardIds: type: array items: $ref: "#/components/schemas/CardId" description: The charge-cards supported by the charger. features: $ref: "#/components/schemas/ChargerFeatures" chargeCompass: $ref: "#/components/schemas/ChargeCompass" evseSummary: type: array items: $ref: "#/components/schemas/DetailedEvseSummary" evses: type: array items: $ref: "#/components/schemas/DetailedEvse" issues: $ref: "#/components/schemas/ChargerIssues" openingTimes: $ref: "#/components/schemas/OpeningTimes" chargingWhenClosed: type: boolean example: true description: Indicates if the EVSEs can be used for charging outside the opening hours of the location. For example, when the parking garage closes its barriers overnight, this attribute indicates if you can still charge until the next morning. parkingType: $ref: "#/components/schemas/ParkingType" deepLinks: type: array description: A list of deeplinks that can be used for additional information, payment, etc. items: $ref: "#/components/schemas/ChargerDeepLink" banners: type: array description: A list of banners. items: $ref: "#/components/schemas/ChargerBanner" SuccessDetailedCharger: type: object required: - status - item properties: status: type: string enum: - ok description: Describes the status of the request. item: $ref: "#/components/schemas/DetailedCharger" GetDetailedCharger: type: object oneOf: - $ref: "#/components/schemas/GetItemError" - $ref: "#/components/schemas/SuccessDetailedCharger" discriminator: propertyName: status mapping: ok: "#/components/schemas/SuccessDetailedCharger" error: "#/components/schemas/GetItemError" GeoChargerBase: type: object required: - id - lat - long - accessibility - hasDynamicStatus properties: id: type: integer description: A unique identifier for the charger. lat: $ref: "#/components/schemas/Lat" long: $ref: "#/components/schemas/Long" accessibility: $ref: "#/components/schemas/ChargerAccessibility" hasDynamicStatus: type: boolean example: false description: Signals if the charger has dynamic status. network: $ref: "#/components/schemas/SimpleChargerNetwork" ConnectorSummary: type: object required: - standard - power properties: standard: $ref: "#/components/schemas/ConnectorType" power: type: number description: The maximum power that can be supplied by the connector [W]. example: 150000 isCompatible: type: boolean description: | Describes if the standards is compatible with the supplied typecode or connector types. Will only be present if either a typecode or a list of connector types was supplied. example: true EvseSummary: type: object allOf: - type: object required: - connectors properties: connectors: type: array items: $ref: "#/components/schemas/ConnectorSummary" - $ref: "#/components/schemas/EvseSummaryBase" EvseSummaryStatusWithIds: allOf: - $ref: "#/components/schemas/EvseSummaryStatus" - type: object required: - ids properties: ids: type: array items: $ref: "#/components/schemas/EvseUId" description: A list of evse uids that have the specified status. GeoChargerEvseSummary: allOf: - $ref: "#/components/schemas/EvseSummary" - type: object required: - statuses properties: statuses: type: array items: $ref: "#/components/schemas/EvseSummaryStatusWithIds" GeoCharger: allOf: - $ref: "#/components/schemas/GeoChargerBase" - type: object required: - evseSummary properties: evseSummary: type: array items: $ref: "#/components/schemas/GeoChargerEvseSummary" SuccessGeoCharger: allOf: - $ref: "#/components/schemas/GeoCharger" - type: object required: - status properties: status: type: string enum: - ok description: Describes the status of the request. GeoChargerResponseItem: type: object oneOf: - $ref: "#/components/schemas/GetItemError" - $ref: "#/components/schemas/SuccessGeoCharger" discriminator: propertyName: status mapping: ok: "#/components/schemas/SuccessGeoCharger" error: "#/components/schemas/GetItemError" GooglePlaceIdsRequest: type: object anyOf: - required: - chargerIds - required: - googlePlaceIds properties: chargerIds: type: array items: $ref: "#/components/schemas/ChargerId" minItems: 1 maxItems: 256 description: List of charger IDs to lookup Google Place IDs for example: - 123 - 456 - 789 googlePlaceIds: type: array items: type: string minItems: 1 maxItems: 256 description: List of Google Place IDs to lookup charger IDs for example: - ChIJN1t_tDeuEmsRUsoyG83frY4 - ChIJAQAAAFauEmsRlJw3Dw3szbE GooglePlaceIdsResponse: type: object properties: chargerToGoogle: type: object additionalProperties: type: string description: Map of charger IDs to Google Place IDs. Only includes successful matches. example: "234987": ChIJrUV-qfCll0cRJBANVBbwxmQ "24501844": ChIJ1wRwYW70T0YRdn9FJoS7krA googleToCharger: type: object additionalProperties: type: string description: Map of Google Place IDs to charger IDs. Only includes successful matches. example: ChIJrUV-qfCll0cRJBANVBbwxmQ: "234987" ChIJ1wRwYW70T0YRdn9FJoS7krA: "24501844" PriceProductType: type: string example: ADHOC enum: - ADHOC - MSP - CPO_SUBSCRIPTION - UNKNOWN description: | A price can be of one of the following types: - ADHOC: The default price you at the station. Payment is made via a card / QR code. - MSP: A price that is obtained through using a MSP. - CPO_SUBSCRIPTION: A price that is obtained by a subscription to the CPO. - UNKNOWN: A price that doesn't fit the other categories or has an unknown type. SubscriptionType: type: string enum: - MONTHLY - YEARLY - ONE_OFF - UNKNOWN description: The type of the subscription. Subscription: type: object required: - type properties: type: $ref: "#/components/schemas/SubscriptionType" fee: type: number description: | The fee for the subscription. The currency is defined in the price product. description: Information related to the subscription. ChargerPriceProduct: type: object required: - name - currency - type properties: name: type: string description: The name of the product example: be.ENERGISED description: type: string description: The description of the product. example: be.ENERGISED currency: $ref: "#/components/schemas/Currency" type: $ref: "#/components/schemas/PriceProductType" subscription: $ref: "#/components/schemas/Subscription" PriceComponent: type: object required: - type - price properties: type: $ref: "#/components/schemas/PriceType" price: type: number example: 0.5 description: The applicable price including vat. vat: type: number example: 19 description: The applicable VAT TimeRestriction: type: object properties: from: type: integer example: 21600 description: Seconds from 00:00. A missing values indicates that it is active from 00:00. to: type: integer example: 72000 description: Seconds from 00:00. A missing values indicates that it is active until 23:59. PriceRestrictions: type: object properties: time: $ref: "#/components/schemas/TimeRestriction" PriceElement: type: object required: - components properties: components: type: array items: $ref: "#/components/schemas/PriceComponent" description: The different elements of the price. Add them together to get the total price. restrictions: $ref: "#/components/schemas/PriceRestrictions" description: | Restrictions for when the price is active. A price is active if all restrictions are fulfilled. A missing value indicate that there are no restrictions. PriceV2: type: object required: - id - elements - score properties: id: type: string description: A unique identifier for the price. example: abc-123-456 cardId: $ref: "#/components/schemas/CardId" score: type: integer description: Higher is better. Used for sorting. minimum: 0 product: $ref: "#/components/schemas/ChargerPriceProduct" elements: type: array items: $ref: "#/components/schemas/PriceElement" description: All elements of the prices. currentPrice: type: array items: $ref: "#/components/schemas/PriceComponent" description: The currently active price components. PriceConnector: type: object required: - standard - power properties: standard: $ref: "#/components/schemas/ConnectorType" power: type: number description: The maximum power that can be supplied by the connector. example: 150000 PriceMapping: type: object required: - priceIds - connectors properties: connectors: type: array items: $ref: "#/components/schemas/PriceConnector" priceIds: type: array items: type: string description: A unique identifier for the price. example: abc-123-456 ChargerPriceTag: type: string enum: - PARKING_FEE description: | Tags that signals information about the all prices of the location. ChargerImageId: type: string description: Id of an image for a charger example: 123-imageid ChargerImageVariant: type: object required: - url properties: url: type: string format: uri description: A link to an image of the charger. example: https://picsum.photos/800/600 width: type: integer description: The width of the image in pixels. example: 800 height: type: integer description: The height of the image in pixels. example: 600 contentType: type: string description: The mimetype from from the image. example: image/jpeg ChargerImage: type: object required: - id - variants properties: id: $ref: "#/components/schemas/ChargerImageId" variants: type: array items: $ref: "#/components/schemas/ChargerImageVariant" blurHash: type: string description: A hash that can be used to create a blurred placeholder of the image. example: L5H2EC=PM+yV0g-mq.wG9G9G9G9G ChargerImages: type: object required: - images properties: images: type: array items: $ref: "#/components/schemas/ChargerImage" ChargerEvseStatusesEntry: type: object required: - chargerId - evses properties: chargerId: $ref: "#/components/schemas/ChargerId" evses: type: object description: Mapping of EVSE uIDs to the index of the charger status array. additionalProperties: type: integer example: "1": 0 "2": 2 NetworkId: type: integer format: int64 description: Unique identifier for a network. minimum: 1 ChargerTileKey: type: string format: byte description: A key describing a quantized area of chargers. example: ChIJAAAAAGDAS0ARAAAAAAAxKkASEgkAAAAAAMZLQBEAAAAAAF4qQBgMIJURKO8ZMAFCDAj8udWwBhC8m8n6Ag== GeoSearchGroupEntry: type: object required: - id - score - lat - long - maxPower properties: id: type: integer description: A unique identifier for the charger. score: type: number description: The score of the charger. Comparable across tiles. lat: $ref: "#/components/schemas/Lat" long: $ref: "#/components/schemas/Long" maxPower: type: number description: The maximum power that the charger can supply [W]. example: 107500 description: A charger entry that is hidden by a better charger. GeoSearchChargerTags: type: object properties: cards: type: array items: $ref: "#/components/schemas/CardId" description: A list of card ids supported by the charger. features: type: array items: $ref: "#/components/schemas/ChargerFeature" description: | A tag is only present iff it is requested and the charger matches it. TiledCharger: allOf: - $ref: "#/components/schemas/GeoChargerBase" - type: object required: - evseSummary - score - normalizedScore properties: evseSummary: type: array items: $ref: "#/components/schemas/EvseSummary" description: A summary of the evses of the chargers. Grouped by the standards supported by the evse. score: type: number description: The score of the charger. Can be used to order chargers across tiles. normalizedScore: type: number minimum: 0 maximum: 1 description: The normalized score of the charger (0-1). Can be used to order the objects within a tiles. group: type: array items: $ref: "#/components/schemas/GeoSearchGroupEntry" description: A list of chargers that are hidden due to this entry. tags: $ref: "#/components/schemas/GeoSearchChargerTags" description: Conditional based on the requested tags. If no tags are present, the object is omitted. ChargerTile: type: object required: - chargers - key properties: chargers: type: array items: $ref: "#/components/schemas/TiledCharger" description: A list of chargers contained in the box. key: $ref: "#/components/schemas/ChargerTileKey" TiledChargerSearchMetaBBox: type: object required: - southWest - northEast description: | The corners of the bbox. The bbox is never tiled, i.e. these are the max/min values. properties: southWest: $ref: "#/components/schemas/Coordinates" northEast: $ref: "#/components/schemas/Coordinates" TiledChargerSearchMeta: type: object required: - onlyFastChargers - boundingBox properties: onlyFastChargers: type: boolean description: | Slow chargers is only allowed at closer zoom-levels. This value conveys if slow-chargers was considered. A chargers is considered slow if all outlets have power bellow 50kWh. boundingBox: $ref: "#/components/schemas/TiledChargerSearchMetaBBox" GeoSearchCharger: allOf: - $ref: "#/components/schemas/TiledCharger" - type: object properties: name: $ref: "#/components/schemas/Name" address: $ref: "#/components/schemas/Address" GeoSearchChargerIdGroupEntry: type: object required: - id - score properties: id: $ref: "#/components/schemas/ChargerId" score: type: number description: The score of the charger. Comparable across tiles. lat: $ref: "#/components/schemas/Lat" description: Only present when `annotations.coordinates` is true on the request. long: $ref: "#/components/schemas/Long" description: Only present when `annotations.coordinates` is true on the request. maxPower: type: number description: | The maximum power that the charger can supply [W]. Only present when `annotations.maxPower` is true on the request. example: 107500 description: A charger entry that is hidden by a better charger. GeoSearchChargerId: type: object required: - id - score - normalizedScore properties: id: $ref: "#/components/schemas/ChargerId" score: type: number description: The score of the charger. Can be used to order chargers across tiles. normalizedScore: type: number minimum: 0 maximum: 1 description: The normalized score of the charger (0-1). Can be used to order the objects within a tiles. lat: $ref: "#/components/schemas/Lat" description: Only present when `annotations.coordinates` is true on the request. long: $ref: "#/components/schemas/Long" description: Only present when `annotations.coordinates` is true on the request. maxPower: type: number description: | The maximum power that the charger can supply [W]. Only present when `annotations.maxPower` is true on the request. example: 107500 group: type: array items: $ref: "#/components/schemas/GeoSearchChargerIdGroupEntry" description: A list of chargers that are hidden due to this entry. ChargerIdTile: type: object required: - chargers properties: chargers: type: array items: $ref: "#/components/schemas/GeoSearchChargerId" description: A list of chargers contained in the box. MetaPagination: type: object required: - endCursor properties: endCursor: type: string description: | The opaque cursor to start from. Note that the curser has a limited lifetime. example: opaque-cursor hasNextPage: type: boolean description: | If present tells the caller that there are more items to fetch with the provided cursor example: true MetaPaginationProperty: type: object required: - meta properties: meta: $ref: "#/components/schemas/MetaPagination" ChargerIdVendorObject: type: object required: - id properties: id: $ref: "#/components/schemas/ChargerId" vendorId: type: string description: the id used byt the vendor for this charger. example: 1234 ChargerRating: allOf: - $ref: "#/components/schemas/ChargerIdVendorObject" - type: object required: - ratings properties: ratings: type: array example: - rating: 5 count: 123 - rating: 4 count: 456 - rating: 3 count: 23 items: type: object $ref: "#/components/schemas/ChargerRatingItem" ChargerFeaturesObject: allOf: - $ref: "#/components/schemas/ChargerIdVendorObject" - type: object required: - features properties: features: $ref: "#/components/schemas/ChargerFeatures" AllowDeprecated: type: boolean default: false example: false description: Determines if deprecated items should be included ChargerNetwork: allOf: - $ref: "#/components/schemas/SimpleChargerNetwork" - type: object properties: deprecated: type: boolean description: Signals that the network is deprecated. Missing value is the same as false. example: false replacedBy: type: integer format: int64 description: The id of the network that is replacing the deprecated network. example: 85 SuccessChargerNetwork: type: object required: - status - item properties: status: type: string description: Describes the status of the request item: $ref: "#/components/schemas/ChargerNetwork" GetChargerNetwork: type: object oneOf: - $ref: "#/components/schemas/GetItemError" - $ref: "#/components/schemas/SuccessChargerNetwork" discriminator: propertyName: status mapping: ok: "#/components/schemas/SuccessChargerNetwork" error: "#/components/schemas/GetItemError" ChargeCard: type: object required: - id - name - priceType properties: id: type: integer format: int64 description: A unique identifier for the charge card. example: 85 name: type: string description: The name of the charge card. example: BE Medium operator: type: string description: The name of the operator of the card. example: Be Charge priceType: type: string enum: - UNKNOWN - DEFAULT - CONTRACT description: | Describes if the price is the default price, or specific to the card. UNKOWN: No information available. DEFAULT: The prices is the same as someone without the card. CONTRACT: There is a specific prices for customers with the card. deprecated: type: boolean description: Signals that the card is deprecated. Missing value is the same as not deprecated. example: false replacedBy: allOf: - $ref: "#/components/schemas/CardId" description: The id of the card that is replacing the deprecated network. example: 85 SuccessChargeCard: type: object required: - status - item properties: status: type: string description: Describes the status of the request item: $ref: "#/components/schemas/ChargeCard" GetChargeCard: type: object oneOf: - $ref: "#/components/schemas/GetItemError" - $ref: "#/components/schemas/SuccessChargeCard" discriminator: propertyName: status mapping: ok: "#/components/schemas/SuccessChargeCard" error: "#/components/schemas/GetItemError" Amenity: type: object required: - name - location - categories properties: name: type: string example: Sweet Lemon description: The name of the amenity. address: type: string example: Magistratsvägen 13, SE-226 43 Lund, Sverige description: The address of the amenity. url: type: string format: uri example: http://www.sweet-lemon.se description: The url of the amenity. phone: type: string example: "+4646323222" location: $ref: "#/components/schemas/Coordinates" categories: type: array items: $ref: "#/components/schemas/AmenityType" subcategories: type: array items: $ref: "#/components/schemas/AmenitySubtype" AmenityFullDistance: description: Amenity with distance to a geopoint allOf: - $ref: "#/components/schemas/Amenity" - type: object required: - distance - id properties: distance: type: integer description: The distance in meters to the geopoint. example: 212 id: type: integer description: The id of the amenity. example: 123 SuccessfulChargingSession: type: object required: - endTime properties: endTime: type: string format: date-time description: The time when the charging session ended. VehicleTelemetryChargingSessions: type: object required: - successful properties: successful: type: array items: $ref: "#/components/schemas/SuccessfulChargingSession" description: A list of successfully completed charge sessions. ChargerTelemetryChargingSessions: type: object required: - successful properties: successful: type: array items: $ref: "#/components/schemas/SuccessfulChargingSession" description: A list of successfully completed charge sessions. UserReportedChargingSessions: type: object required: - successful properties: successful: type: array items: $ref: "#/components/schemas/SuccessfulChargingSession" description: A list of successfully completed charge sessions. VehicleOptionIdentifier: type: string description: The unique identifier for the option. VehicleOptionReference: type: object required: - id - title properties: id: $ref: "#/components/schemas/VehicleOptionIdentifier" title: type: string description: The title of the option. example: heatpump ListVehicleDisplayHints: type: object required: - tags - nameFields properties: tags: type: array items: type: string enum: - YEAR - DRIVE_TRAIN - BATTERY_CAPACITY - BATTERY_NAME description: The recommended tags to be used when displaying the vehicle. nameFields: type: array items: type: string enum: - MANUFACTURER - MODEL - TITLE - YEAR description: The recommended fields to be used when constructing the vehicle name. ListVehicleIdealTrip: type: object required: - chargeTimeSec - driveTimeSec - chargeToSocFrac properties: chargeTimeSec: type: integer description: The time it takes to charge the vehicle to the target SoC. driveTimeSec: type: integer description: The time it takes to drive the vehicle. chargeToSocFrac: type: number description: The SoC fraction charge to at each stop. ListVehicle: type: object required: - typecode - manufacturer - title - model - options - maturity - defaultConnectors - dcConnectors - dcConnectorPowers - acConnectors - referenceConsumption - displayHints - idealTrip properties: typecode: $ref: "#/components/schemas/Typecode" manufacturer: type: string description: The manufacturer of the vehicle. example: Rivian model: type: string description: The model of the vehicle. title: type: string description: The title of the vehicle. maturity: type: string enum: - SPECULATIVE - ALPHA - BETA - MATURE description: The maturity of the vehicle, e.g. pre-production, production or future. driveTrain: type: string enum: - FWD - RWD - AWD - Dual Motor AWD - Tri Motor AWD - Quad Motor AWD description: | The drive train of the vehicle, e.g. front-wheel drive, rear-wheel drive or all-wheel drive. May include motor configuration to differentiate between different AWD configurations. batteryCapacityWh: type: integer format: int32 batteryChemistry: type: string description: The chemistry of the battery pack. enum: - LFP - NMC - NCA - NCMA - Unknown batteryName: type: string description: The name of the battery pack. startYear: type: integer format: int32 endYear: type: integer format: int32 options: type: array items: $ref: "#/components/schemas/VehicleOptionReference" description: The options of the vehicle in the variants hierarchy. createdAt: type: string format: date-time description: The date and time when the vehicle was created. defaultConnectors: type: array items: $ref: "#/components/schemas/ConnectorType" description: A list of recommended connectors. dcConnectors: type: array items: $ref: "#/components/schemas/ConnectorType" description: A list of supported fast chargers for the vehicle dcConnectorPowers: type: array items: type: integer format: int32 description: A list of the powers of the supported fast chargers for the vehicle in the same order as the dcConnectors hasDcfcPreconditioning: type: boolean description: Whether the vehicle has DCFC preconditioning. example: true hasHeatpump: type: boolean description: Whether the vehicle has a heatpump for cabin heating. example: true recommendedMaxSpeed: type: number description: The recommended maximum driving speed [km/h], used as the default max speed in planning. example: 150 acConnectors: type: array items: $ref: "#/components/schemas/ConnectorType" description: A list of supported level 2 chargers for the vehicle referenceConsumption: type: number description: The reference consumption [Wh/km] @ 110km/h. example: 180 displayHints: $ref: "#/components/schemas/ListVehicleDisplayHints" idealTrip: $ref: "#/components/schemas/ListVehicleIdealTrip" VehicleOptionsChoice: type: object required: - title properties: title: type: string description: The title of the option. example: heatpump value: type: string description: "The value to be appended to the typecode, use : as separator, IE rivian:r1s:21:135:heatpump:w22" example: heatpump isSelected: type: boolean description: Whether the option should be selected by default. Omitted equals false. VehicleOption: type: object description: An option that can be appended to the typecode of a vehicle. required: - title - choices properties: title: type: string description: The title of the option. example: heatpump choices: type: array items: $ref: "#/components/schemas/VehicleOptionsChoice" description: The possible choices for the option. Not that only one choice can be selected at a time. VehicleOptionItem: allOf: - type: object required: - id properties: id: $ref: "#/components/schemas/VehicleOptionIdentifier" - $ref: "#/components/schemas/VehicleOption" ListVehicleFilterOption: type: object required: - title - typecodes properties: title: type: string description: The name of the filter option. example: Manufacturer typecodes: type: array items: $ref: "#/components/schemas/Typecode" description: The list of typecodes that matches the filter option. ListVehicleFilter: type: object required: - type - options properties: type: type: string description: The name of the filter, e.g. Year, Drive Train, Battery Capacity. enum: - YEAR - DRIVE_TRAIN - BATTERY_CAPACITY - MOTOR_CONFIGURATION - BATTERY_PACK - RANGE_TYPE - PERFORMANCE_TIER options: type: array items: $ref: "#/components/schemas/ListVehicleFilterOption" description: The options for the filter. ListVehicleDisplayGrouping: type: object required: - title - typecodes properties: title: type: string description: The name of the display category. example: 2021 typecodes: type: array items: $ref: "#/components/schemas/Typecode" description: The list of typecodes that matches the display category. ListVehicleDisplay: type: object required: - manufacturer - model - filters - yearGrouping properties: manufacturer: type: string description: The manufacturer of the vehicle. example: Rivian model: type: string description: The model of the vehicle. filters: type: array items: $ref: "#/components/schemas/ListVehicleFilter" description: The filters for the vehicle list. yearGrouping: type: array items: $ref: "#/components/schemas/ListVehicleDisplayGrouping" description: The recommended categories to be used when displaying the vehicle list. schemas-Typecode: type: string description: The typecode of the vehicle. example: rivian:r1s:21:135 ImageScene: type: string description: | The render of the car. enum: - FRONT - SIDE - REAR - HERO_RIGHT - HERO_LEFT ImageSize: type: integer description: The requested size of the image in pixels. example: 400 PaintId: type: string description: The unique identifier for the paint. example: black enum: - BLACK - GREY - WHITE - BLUE - YELLOW - RED - ORANGE - GREEN LicensePlate: type: string description: The type of license plate to render on the vehicle. enum: - EU - US HiddenVehicle: type: boolean description: Whether the vehicle should be treated as hidden example: false default: false ImageQuality: type: integer minimum: 1 maximum: 100 description: WebP encoding quality. Higher = better quality, larger file size. Default 85. example: 85 ImageScaleMode: type: string enum: - fit - preserve description: | How the vehicle image is framed. `fit` (default) crops empty margins so the vehicle fills the frame — visual sizes are normalized across vehicles. `preserve` keeps the original framing so vehicles render at their natural relative size across a multi-vehicle listing (a small car appears smaller, a large vehicle appears larger). CarImageUrlObject: type: object properties: url: type: string format: uri description: The URL to the image. Omitted when the image is not found. example: https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/2022_Rivian_R1T_%28in_Glacier_White%29%2C_front_6.21.22.jpg/960px-2022_Rivian_R1T_%28in_Glacier_White%29%2C_front_6.21.22.jpg StartSoc: type: number minimum: 0 maximum: 100 exclusiveMaximum: true description: | The start SoC percentage. If supplied, all times will be relative to the start soc, and the result will only return results greater than the value. example: 17.9 ChargerCurveTime: type: object required: - time - soc properties: time: type: integer format: uint32 description: Time since the beginning of the charge session [seconds]. soc: type: number description: Time since the beginning of the charge section. power: type: integer format: uint32 description: "[W] The charger power output at this time." description: The time it takes to charger to a certain SoC level. RouteShareGroupBase: type: object properties: startDate: type: string format: date-time description: The start date of the share example: "2020-01-01T00:00:00Z" endDate: type: string format: date-time description: The end date of the share example: "2020-01-01T00:00:00Z" shortName: type: string maxLength: 80 description: | A short name for the group. If not specified nothing will be shown. example: My group description: type: string maxLength: 1000 description: | A description of the activity/share group required: - startDate - endDate - shortName - description RouteShareGroupId: type: string description: | The unique identifier of the route share group. The group is created with a call to `POST /route-share-group/`. The value should be treated as a secret as it enables option to add data to the share. example: abc123 RouteShareAccessKey: type: string description: The Access key to the share example: abc123 RouteShareKey: type: object required: - type - key properties: type: type: string description: The type of key example: view enum: - ADMIN - JOIN - VIEW key: $ref: "#/components/schemas/RouteShareAccessKey" VehicleName: type: string description: The name of the vehicle example: My car maxLength: 100 RouteShareVehicle: type: object required: - id properties: id: type: integer format: int64 description: The id of the vehicle vehicleName: $ref: "#/components/schemas/VehicleName" RouteShareGroup: allOf: - $ref: "#/components/schemas/RouteShareGroupBase" - type: object required: - id - shares - keys - vehicles properties: id: $ref: "#/components/schemas/RouteShareGroupId" keys: type: array items: type: object $ref: "#/components/schemas/RouteShareKey" vehicles: type: array items: $ref: "#/components/schemas/RouteShareVehicle" RouteShareKeyEntry: type: string description: The Access key to the share example: 01234567-89ab-cdef-0123-456789abcdef minLength: 35 maxLength: 40 DateTimeString: type: string format: date-time example: "2020-01-01T00:00:00Z" VehicleStatusPoint: type: object required: - eta - destination properties: eta: $ref: "#/components/schemas/DateTimeString" description: The estimated time of arrival, must be in future destination: $ref: "#/components/schemas/Coordinates" distanceM: type: integer description: The estimated drive distance minimum: 0 example: 9300 PersonName: type: string description: The name of a person example: Aceline Marquis maxLength: 100 VehicleStatus: type: object required: - finalStop - totalStops - totalChargeTimeS properties: routeId: type: string description: The identifier of the route associated with the current status. example: route-123 legId: type: string description: The identifier of the route leg associated with the current status. example: leg-1 location: $ref: "#/components/schemas/Coordinates" currentBearing: type: number description: The current bearing of the vehicle. minimum: 0 maximum: 360 example: 180 currentSocFrac: type: number description: The current state of charge as percentage of the total usable battery. minimum: 0 maximum: 120 example: 62.5 nextStop: $ref: "#/components/schemas/VehicleStatusPoint" finalStop: $ref: "#/components/schemas/VehicleStatusPoint" totalStops: type: integer description: The total number of charge stops example: 2 totalChargeTimeS: type: integer description: The total charge time in seconds for all stops example: 7200 vehicleName: $ref: "#/components/schemas/VehicleName" name: $ref: "#/components/schemas/PersonName" status: type: string description: The status of the vehicle example: DRIVING enum: - STARTING - DRIVING - CHARGING - FINISHED VehicleStatusTime: allOf: - $ref: "#/components/schemas/VehicleStatus" - type: object required: - updatedTime properties: updatedTime: $ref: "#/components/schemas/DateTimeString" RouteShareGroupUpdate: type: object properties: startDate: type: string format: date-time description: The start date of the share example: "2020-01-01T00:00:00Z" endDate: type: string format: date-time description: The end date of the share example: "2020-01-01T00:00:00Z" shortName: type: string maxLength: 80 description: | A short name for the group. If not specified nothing will be shown. example: My group description: type: string maxLength: 1000 description: | A description of the activity/share group RouteShareGroupCreate: type: object properties: startDate: type: string format: date-time description: The start date of the share example: "2020-01-01T00:00:00Z" endDate: type: string format: date-time description: The end date of the share example: "2020-01-01T00:00:00Z" shortName: type: string maxLength: 80 description: | A short name for the group. If not specified nothing will be shown. example: My group description: type: string maxLength: 1000 description: | A description of the activity/share group Polyline: type: array description: A list of coordinates ordered by direction of travel. items: type: array description: A coordinate in the format [latitude, longitude]. maxItems: 2 minItems: 2 items: type: number format: double PositionExtension: type: object required: - headings properties: headings: type: array items: type: integer minimum: 0 maximum: 360 description: The directions in which the camera acts (degrees, 0-360). example: headings: - 94 - 274 SpeedCameraPosition: type: object description: Defines a geographic location of a camera. allOf: - $ref: "#/components/schemas/PositionExtension" - $ref: "#/components/schemas/Coordinates" SpeedValue: type: number format: double minimum: 0 maximum: 200 example: 50 description: The speed limit in km/h. DayEnum: type: string example: MONDAY enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY DateRange: type: object required: - start - end properties: start: type: string format: date example: "2021-01-01" description: The start date of the range. end: type: string format: date example: "2021-06-01" description: The end date of the range. TimeRange: type: object required: - start - end properties: start: type: string format: date-time example: "0000-01-01T08:00:00Z" description: The start time of the range. end: type: string format: date-time example: "0000-01-01T10:00:00Z" description: The end time of the range. DateTimeLimit: type: object required: - speed properties: speed: $ref: "#/components/schemas/SpeedValue" days: type: array items: $ref: "#/components/schemas/DayEnum" dateRange: $ref: "#/components/schemas/DateRange" timeRange: $ref: "#/components/schemas/TimeRange" RoadConditionLimit: type: object required: - condition - speed properties: condition: type: string enum: - FOG - SNOW - RAIN - SCHOOL example: FOG description: | The road condition that the speed limit applies to. - FOG: Speed limit for foggy conditions. - SNOW: Speed limit for snowy conditions. - RAIN: Speed limit for rainy conditions. - SCHOOL: Speed limit when school is active. speed: $ref: "#/components/schemas/SpeedValue" SpeedLimit: type: object required: - value - dateTimeRangeLimits - specialRoadConditionLimits properties: value: $ref: "#/components/schemas/SpeedValue" isVariable: type: boolean example: false description: | If the speed limit is variable, e.g. changes based on the time of day. isUnlimited: type: boolean description: Indicates if speed for this camera is unlimited outside special conditions. dateTimeRangeLimits: type: array items: $ref: "#/components/schemas/DateTimeLimit" description: Additional speed limits for date and time ranges. specialRoadConditionLimits: type: array items: $ref: "#/components/schemas/RoadConditionLimit" description: Additional speed limits for different road conditions. SpeedCamera: type: object description: A speed camera, can be of multiple types. required: - positions - type - countryCode - features properties: features: type: array items: type: string example: MARKER enum: - MARKER - ALERT description: | A list of features that are legal/enabled for this speed camera. countryCode: type: string example: SWE description: The ISO 3166-1 alpha-3 country code. positions: description: The position(s) of the speed camera, see type for details. type: array minLength: 1 items: $ref: "#/components/schemas/SpeedCameraPosition" speedLimit: $ref: "#/components/schemas/SpeedLimit" length: type: number format: double example: 100 description: The length of the speed camera zone (if applicable) in meters. type: type: string enum: - AVERAGE - BUS_LANE - DANGEROUS_ZONE - MOBILE - RED_LIGHT - RED_LIGHT_AND_SPEED - REGULAR_MOBILE_ZONE - SPEED example: SPEED description: | The type of the speed camera. - AVERAGE: Measures the average speed between (>= 2) fixed positions. - BUS_LANE: Monitors for unauthorized vehicles using lanes designated for buses only. (1 positions) - DANGEROUS_ZONE: (France only) Represents a stretch of road where a camera exists or has been reported. (2 positions) - MOBILE: Checks the speed of passing vehicles at a single position and can be moved to different locations. (1 position) - RED_LIGHT: Monitors if a vehicle passes through a red traffic light at a single, fixed position. - RED_LIGHT_AND_SPEED: Checks both if a vehicle passes through a red traffic light and its speed at a single, fixed position. - REGULAR_MOBILE_ZONE: Represents a stretch of road where mobile cameras have been frequently reported in the last few months. (>= 2 positions) - SPEED: Monitors the speed of vehicles at a single, fixed position. WithTime: type: object required: - time properties: time: description: The time the event was registered $ref: "#/components/schemas/DateTimeString" Provider: type: string description: The provider of the data example: APP_LOCATION enum: - RIVIAN_PLAN - TESLA_FLEET_STREAM - TESLA_FLEET_POLL - HIGHMOBILITY_MQTT - ENODE_PUSH - APP_LOCATION - APP_OBD - APP_AUTOMOTIVE - TLM_API - TRONITY_POLL - RIVIAN_POLL - DEBUG - APP_AUTO - EXTERNAL_CALIBRATION - RIVIAN_STREAM - DERIVED WithTimeAndProvider: allOf: - $ref: "#/components/schemas/WithTime" - type: object properties: provider: $ref: "#/components/schemas/Provider" BatteryCapacity: type: object required: - wh properties: wh: $ref: "#/components/schemas/EnergyWh" BatteryCapacityOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/BatteryCapacity" TemperatureC: type: number format: float example: 25 description: (deg C) The temperature in degrees Celsius. BatteryTemperature: type: object required: - c properties: c: description: (deg C) Temperature of the battery cell $ref: "#/components/schemas/TemperatureC" BatteryTemperatureOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/BatteryTemperature" CabinSetPoint: type: object required: - c properties: c: $ref: "#/components/schemas/TemperatureC" description: (deg C) The Wanted temperature in the Cabin. example: 20.5 CabinSetPointOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/CabinSetPoint" CabinTemperature: type: object required: - c properties: c: $ref: "#/components/schemas/TemperatureC" description: (deg C) The current temperature in the Cabin. example: 20.5 CabinTemperatureOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/CabinTemperature" ChargingStateOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/ChargingState" DrivingStateOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/DrivingState" Elevation: type: object required: - m properties: m: type: number format: float description: (M) The cars current elevation in meters over see level ElevationOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Elevation" EstimatedBatteryRange: type: object required: - m properties: m: type: number format: float description: Vehicles estimated battery range in meters. The data as it is provide by the vehicle example: 340000.3 EstimatedBatteryRangeOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/EstimatedBatteryRange" ExternalTemperature: type: object required: - c properties: c: $ref: "#/components/schemas/TemperatureC" description: (deg C) The outside temperature as measured by the vehicle example: 15.2 ExternalTemperatureOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/ExternalTemperature" HvacPower: type: object required: - w properties: w: $ref: "#/components/schemas/PowerW" description: (W) The current draw from the vehicles hvac. example: 500 HvacPowerOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/HvacPower" ChargingEnergyAdded: type: object required: - wh properties: wh: type: number format: float description: | (Wh) Energy added during charging session. This value should be monotonically increasing during a single charging session and typically resets to zero at the start of a new charging session. example: 15000 ChargingEnergyAddedOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/ChargingEnergyAdded" LocationOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Location" Odometer: type: object required: - m properties: m: type: number format: float minimum: 0 description: (m) The odometer for a vehicle example: 12322000 OdometerOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Odometer" Power: type: object required: - w properties: w: $ref: "#/components/schemas/PowerW" PowerOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Power" Soc: type: object required: - frac properties: frac: $ref: "#/components/schemas/FracWiggle" SocOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Soc" Soe: type: object required: - wh properties: wh: $ref: "#/components/schemas/EnergyWh" SoeOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Soe" Soh: type: object required: - frac properties: frac: $ref: "#/components/schemas/FracWiggle" SohOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Soh" Speed: type: object required: - ms properties: ms: type: number format: float description: (m/s) Speed in meter per seconds example: 10 SpeedOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Speed" Voltage: type: object required: - v properties: v: type: number format: float description: (V) The voltage of the battery example: 704 VoltageOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Voltage" Heading: type: object required: - degrees properties: degrees: $ref: "#/components/schemas/Degrees" HeadingOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Heading" Current: type: object required: - a properties: a: type: number format: float description: (A) The current draw example: 3.5 CurrentOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/Current" Region: type: string description: The region of the position example: EUROPE enum: - AFRICA - ASIA - AUSTRALIA - CENTRAL_AMERICA - EUROPE - NORTH_AMERICA - SOUTH_AMERICA - OCEANIA MapInfo: type: object description: Describes additional map related information properties: region: $ref: "#/components/schemas/Region" country_3: type: string description: The 3 letter country code example: SWE address: type: string description: The street address of the position example: Kungsgatan speedLimitMs: type: number description: (m/s) The speed limit of the current road in m/s example: 25 isFreeSpeedZone: type: boolean description: True if the speed is free example: false MapInfoOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/MapInfo" CalibratedRefCons: type: object description: Describes the calibrated reference consumption for a vehicle required: - wh_per_km properties: wh_per_km: type: number format: float description: (Wh/km) The calibrated reference consumption in watt hours per kilometer example: 150 CalibratedRefConsOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/CalibratedRefCons" CalibratedConfidence: type: object description: Describes the calibrated reference consumption for a vehicle required: - frac properties: frac: description: Confidence value, either an array with 1 value or 4 values type: array items: type: number format: float minimum: 0 maximum: 1 minItems: 1 maxItems: 4 example: - 0.8 - 0.85 - 0.9 - 0.95 CalibratedConfidenceOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/CalibratedConfidence" MaxSpeed: type: object description: Estimated max practical speed of the vehicle required: - ms properties: ms: type: number format: float description: (ms/s) Estimated max speed of the vehicle. example: 41 MaxSpeedOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/MaxSpeed" SpeedFactor: type: object description: Estimated max speed of the vehicle required: - frac properties: frac: type: number format: float minimum: 0 maximum: 2 description: The example: 41 SpeedFactorOutput: allOf: - $ref: "#/components/schemas/WithTimeAndProvider" - $ref: "#/components/schemas/SpeedFactor" OutputPoint: type: object description: A tlm point properties: batteryCapacity: $ref: "#/components/schemas/BatteryCapacityOutput" batteryTemperature: $ref: "#/components/schemas/BatteryTemperatureOutput" cabinSetPoint: $ref: "#/components/schemas/CabinSetPointOutput" cabinTemperature: $ref: "#/components/schemas/CabinTemperatureOutput" chargingState: $ref: "#/components/schemas/ChargingStateOutput" drivingState: $ref: "#/components/schemas/DrivingStateOutput" elevation: $ref: "#/components/schemas/ElevationOutput" estimatedBatteryRange: $ref: "#/components/schemas/EstimatedBatteryRangeOutput" externalTemperature: $ref: "#/components/schemas/ExternalTemperatureOutput" hvacPower: $ref: "#/components/schemas/HvacPowerOutput" chargingEnergyAdded: $ref: "#/components/schemas/ChargingEnergyAddedOutput" location: $ref: "#/components/schemas/LocationOutput" odometer: $ref: "#/components/schemas/OdometerOutput" power: $ref: "#/components/schemas/PowerOutput" soc: $ref: "#/components/schemas/SocOutput" soe: $ref: "#/components/schemas/SoeOutput" soh: $ref: "#/components/schemas/SohOutput" speed: $ref: "#/components/schemas/SpeedOutput" voltage: $ref: "#/components/schemas/VoltageOutput" heading: $ref: "#/components/schemas/HeadingOutput" current: $ref: "#/components/schemas/CurrentOutput" mapInfo: $ref: "#/components/schemas/MapInfoOutput" calibratedRefCons: $ref: "#/components/schemas/CalibratedRefConsOutput" calibratedConfidence: $ref: "#/components/schemas/CalibratedConfidenceOutput" calibratedMaxSpeed: $ref: "#/components/schemas/MaxSpeedOutput" speedFactor: $ref: "#/components/schemas/SpeedFactorOutput" OutputPointWithVehicleId: allOf: - $ref: "#/components/schemas/OutputPoint" - type: object required: - vehicleId properties: vehicleId: type: integer format: int64 BatteryCapacityInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/BatteryCapacity" BatteryTemperatureInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/BatteryTemperature" CabinSetPointInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/CabinSetPoint" CabinTemperatureInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/CabinTemperature" ChargingStateInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/ChargingState" DrivingStateInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/DrivingState" ElevationInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Elevation" EstimatedBatteryRangeInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/EstimatedBatteryRange" ExternalTemperatureInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/ExternalTemperature" HvacPowerInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/HvacPower" ChargingEnergyAddedInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/ChargingEnergyAdded" LocationInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Location" OdometerInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Odometer" PowerInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Power" SocInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Soc" SoeInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Soe" SohInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Soh" SpeedInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Speed" VoltageInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Voltage" DegreesWithNegative: type: number format: float example: 90 description: The degrees of the angle. 0 is north, 90 is east, 180 is south, 270 is west. minimum: -360 maximum: 360 exclusiveMaximum: true exclusiveMinimum: true HeadingWithNegative: type: object required: - degrees properties: degrees: $ref: "#/components/schemas/DegreesWithNegative" HeadingInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/HeadingWithNegative" CurrentInput: allOf: - $ref: "#/components/schemas/WithTime" - $ref: "#/components/schemas/Current" InputPoint: type: object description: A tlm point send to the tlm api required: - provider properties: batteryCapacity: $ref: "#/components/schemas/BatteryCapacityInput" batteryTemperature: $ref: "#/components/schemas/BatteryTemperatureInput" cabinSetPoint: $ref: "#/components/schemas/CabinSetPointInput" cabinTemperature: $ref: "#/components/schemas/CabinTemperatureInput" chargingState: $ref: "#/components/schemas/ChargingStateInput" drivingState: $ref: "#/components/schemas/DrivingStateInput" elevation: $ref: "#/components/schemas/ElevationInput" estimatedBatteryRange: $ref: "#/components/schemas/EstimatedBatteryRangeInput" externalTemperature: $ref: "#/components/schemas/ExternalTemperatureInput" hvacPower: $ref: "#/components/schemas/HvacPowerInput" chargingEnergyAdded: $ref: "#/components/schemas/ChargingEnergyAddedInput" location: $ref: "#/components/schemas/LocationInput" odometer: $ref: "#/components/schemas/OdometerInput" power: $ref: "#/components/schemas/PowerInput" soc: $ref: "#/components/schemas/SocInput" soe: $ref: "#/components/schemas/SoeInput" soh: $ref: "#/components/schemas/SohInput" speed: $ref: "#/components/schemas/SpeedInput" voltage: $ref: "#/components/schemas/VoltageInput" heading: $ref: "#/components/schemas/HeadingInput" current: $ref: "#/components/schemas/CurrentInput" provider: type: string description: The provider of the data enum: - APP_LOCATION - APP_OBD - APP_AUTOMOTIVE - APP_AUTO InputPointList: type: array description: A non-empty list of telemetry points to ingest in one call. items: $ref: "#/components/schemas/InputPoint" minItems: 1 maxItems: 1000 LocationType: type: string example: ON_STREET description: | Indicates the type of location where the charge point is located. Example values: - ON_STREET - PARKING_GARAGE - UNDERGROUND_GARAGE - PARKING_LOT DerivedLocationTypeObject: type: object required: - code properties: code: type: string example: ON_STREET description: | Indicates the type of location where a charge point is located. Examples are: - ALONG_MOTORWAY - PARKING_GARAGE - PARKING_LOT - ON_STREET description: type: string example: ON_STREET description: The description of the location type. description: This attribute is enriched using Eco-Movement's research methods to improve the value in the data.type attribute. DerivedLocationType: type: array items: $ref: "#/components/schemas/DerivedLocationTypeObject" ChargingWhenClosed: type: boolean example: true description: Indicates if the EVSEs can be used for charging outside the opening hours of the location. For example, when the parking garage closes its barriers overnight, this attribute indicates if you can still charge until the next morning. EnergySource: type: object required: - source properties: source: type: string example: WATER description: | The type of energy source. Examples are: - NUCLEAR: Nuclear power source - GENERAL_FOSSIL: All kinds of fossil power sources - COAL: Fossil power form coal - GAS: Fossil power from gas - GENERAL_GREEN: All kinds of regenerative power sources - SOLAR: Regenerative power from PV - WIND: Regenerative power from wind turbines - WATER: Regenerative power from water turbines percentage: type: number minimum: 0 maximum: 100 example: 33 description: The percentage of the source in the mix. EnvironImpact: type: object properties: source: type: string description: | The type of pollutant. Exmaples are: - NUCLEAR_WASTE: Produced nuclear waste in grams per kilowatt-hour. - CARBON_DIOXIDE: Exhausted carbon dioxide in grams per kilowatt-hour. amount: type: integer description: The amount of nuclear waste produced or carbon dioxide exhausted in grams per kilowatt-hour EnergyMix: type: object required: - energySource properties: isGreenEnergy: type: boolean example: true description: Indicates true if the supplied energy at the location is 100% from regenerative sources. (CO2 and nuclear waste is zero.) supplierName: type: string example: Octopus Energy description: The name of the energy supplier that delivers the energy for the location. energyProductName: type: string example: Octopus Energy description: The name of the energy supplier's product that is used at the location. energySources: type: array items: $ref: "#/components/schemas/EnergySource" environImpact: type: array items: $ref: "#/components/schemas/EnvironImpact" PredictedOccupancyObject: type: object required: - weekday - periodBegin - periodEnd - occupancy properties: weekday: type: integer example: 3 description: The number of the day in the week. It starts from Monday (1) and ends in Sunday (7). periodBegin: type: string example: "05:00" description: The beginning of the regular period. periodEnd: type: string example: "05:59" description: The ending of the regular period. occupancy: type: integer example: 4 minimum: 1 maximum: 10 description: Indicates the occupancy on a scale from 1 to 10, where 1 means the location is available for charging and 10 means the location is fully occupied. description: The predicted occupancy. PredictedOccupancy: type: array items: $ref: "#/components/schemas/PredictedOccupancyObject" RoamingObject: type: object required: - emsp properties: emsp: type: string partnerId: type: string emaId: type: array items: type: string card: type: string androidAppLink: type: string iosAppLink: type: string Roaming: type: array items: $ref: "#/components/schemas/RoamingObject" SupportPhone: type: string example: +46-236578 description: The phone number that EV drivers should call when they need assistance at the charge location. AdhocAuthorisationPaymentMethodObject: type: object properties: code: type: string example: ONLINE_APPLE_PAY description: | Indicates the authentication and payment methods. Examples are: - AUTH_BY_CAR_PLUG&CHARGE - ONLINE_APPLE_PAY - TERMINAL_IN_APP - ONLINE_PAYPAL - SERVICE_PROVIDER_RFID_CARD - TERMINAL_QR_CODE - TERMINAL_CREDIT_CARD - TERMINAL_DEBIT_CARD - TERMINAL_SMS - ONLINE_CREDIT_CARD - OTHER_OTHER - TERMINAL_CONTACTLESS - ONLINE_GOOGLE_PAY - ONLINE_BANK_PAYMENT - AUTH_BY_CAR_AUTOCHARGE description: type: string example: ONLINE_APPLE_PAY_DESCRIPTION description: A description of the code AdhocAuthorisationPaymentMethod: type: array items: $ref: "#/components/schemas/AdhocAuthorisationPaymentMethodObject" DeepLink: type: object required: - operator - urls properties: operator: type: string description: The name of the operator that the deeplinks are related to. urls: type: array items: type: string description: A list of urls that can be used to deeplink to the charger. Oem2AmenityDistance: type: object required: - type - distance properties: type: type: string description: The type of the amenity. example: restaurant distance: type: integer description: The distance in meters. example: 100 ExtendedInfo: type: object required: - amenityDistances properties: type: $ref: "#/components/schemas/LocationType" locationType: $ref: "#/components/schemas/DerivedLocationType" chargingWhenClosed: $ref: "#/components/schemas/ChargingWhenClosed" openingTimes: $ref: "#/components/schemas/OpeningTimes" derivedOpeningTimes: $ref: "#/components/schemas/OpeningTimes" energyMix: $ref: "#/components/schemas/EnergyMix" predictedOccupancy: $ref: "#/components/schemas/PredictedOccupancy" roaming: $ref: "#/components/schemas/Roaming" supportPhoneNumber: $ref: "#/components/schemas/SupportPhone" adhocAuthorisationPaymentMethod: $ref: "#/components/schemas/AdhocAuthorisationPaymentMethod" deepLinks: type: array description: A list of deeplinks that can be used for additional information, payment, etc. items: $ref: "#/components/schemas/DeepLink" amenityDistances: type: array items: $ref: "#/components/schemas/Oem2AmenityDistance" description: | The distance to the closest amenity, grouped by amenity-type. If an entry is missing there are no amenities of the type located closely. SuccessOem2DetailedCharger: type: object required: - status - item - additionalInfo properties: status: type: string enum: - ok description: Describes the status of the request. item: $ref: "#/components/schemas/DetailedCharger" additionalInfo: $ref: "#/components/schemas/ExtendedInfo" Oem2GetDetailedCharger: type: object oneOf: - $ref: "#/components/schemas/GetItemError" - $ref: "#/components/schemas/SuccessOem2DetailedCharger" discriminator: propertyName: status mapping: ok: "#/components/schemas/SuccessOem2DetailedCharger" error: "#/components/schemas/GetItemError" responses: PlanOk: description: A positive response from the plan endpoint. content: application/json: schema: $ref: "#/components/schemas/EnrichedPlanResult" PlanBadRequest: description: A response with a message. content: application/json: schema: type: object required: - message - errors properties: message: type: string errors: type: array items: $ref: "#/components/schemas/PlanUsageError" description: An array with enums specifying the type of usage error. WithMessage: description: A response with a message. content: application/json: schema: type: object required: - message properties: message: type: string AmenityCandidatesOk: description: A positive response from the amenity candidates endpoint. content: application/json: schema: type: object required: - searches - plan properties: searches: type: array items: $ref: "#/components/schemas/AmenityCandidateSearchResult" plan: $ref: "#/components/schemas/PlanResult" RefreshOk: description: A positive response from the refresh endpoint. content: application/json: schema: $ref: "#/components/schemas/EnrichedPlanResult" AmenityCandidatesAlongRouteOk: description: A positive response from the amenity candidates endpoint. content: application/json: schema: type: object required: - searches properties: searches: type: array items: $ref: "#/components/schemas/AmenityCandidateSearchResult" AbrpPlanOk: description: A positive response from the plan endpoint. content: application/json: schema: $ref: "#/components/schemas/AbrpPlan" AbrpRefreshOk: description: A positive response from the refresh endpoint. content: application/json: schema: $ref: "#/components/schemas/AbrpPlan" AbrpAmenityCandidatesOk: description: A positive response from the amenity candidates endpoint. content: application/json: schema: type: object required: - searches - plan properties: searches: type: array items: $ref: "#/components/schemas/AmenityCandidateSearchResult" plan: $ref: "#/components/schemas/AbrpPlan" EvComparisonOk: description: A positive response from the ev comparison endpoint. content: application/json: schema: $ref: "#/components/schemas/EvComparisonPlan" Unauthorized: description: Unauthorized content: text/plain: schema: type: string example: Unauthorized Forbidden: description: Forbidden content: text/plain: schema: type: string example: Forbidden InternalServerError: description: Internal Server Error content: text/plain: schema: type: string example: Internal Server Error BadRequest: description: BadRequest content: text/plain: schema: type: string example: Invalid Param NotFound: description: Not Found content: text/plain: schema: type: string example: Not Found VoiceResponseOk: description: | A successful voice/text turn. May or may not include a plan; `plan: null` means the server understood the request but could not produce a route (place not found, not a route, etc.) and the conversation can continue. content: application/json: schema: $ref: "#/components/schemas/VoiceResponse" TooManyRequests: description: Too Many Requests content: text/plain: schema: type: string example: Too Many Requests RangeOk: description: Array of range estimate polygons content: application/json: schema: type: object required: - ranges properties: ranges: type: array items: $ref: "#/components/schemas/RangeEstimate" description: | Array of GeoJSON Feature objects with Polygon geometries. routes: type: array items: type: string description: Debug polyline5 encoded route geometries used to generate the range polygons. ChargerGetOk: description: Positive response containing a list of chargers. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/GetCharger" ChargerOk: description: Returns detailed information about a single charger. content: application/json: schema: $ref: "#/components/schemas/Charger" NotImplemented: description: Not Implemented content: text/plain: schema: type: string example: Not Implemented Created: description: Created content: text/plain: schema: type: string example: Created DetailedChargerGetOk: description: Positive response containing a detailed list of chargers. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/GetDetailedCharger" GeoChargerGetOk: description: Successful geo charger request. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/GeoChargerResponseItem" GooglePlaceIdsOk: description: Returns ID mappings for the requested lookups. Only successful matches are included in the response. content: application/json: schema: $ref: "#/components/schemas/GooglePlaceIdsResponse" ChargerPricesOk: description: Positive response with information about the price of a charger. content: application/json: schema: required: - items - mapping - tags properties: items: type: array items: $ref: "#/components/schemas/PriceV2" mapping: type: array items: $ref: "#/components/schemas/PriceMapping" tags: type: array items: $ref: "#/components/schemas/ChargerPriceTag" ChargerMediaOk: description: Positive response with image meta data for the specified charger. content: application/json: schema: $ref: "#/components/schemas/ChargerImages" MediaUploadAccepted: description: The media upload request has been accepted. The image is queued for review and processing content: application/json: schema: $ref: "#/components/schemas/ChargerImage" ChargerEvseStatusOk: description: A positive response with real-time status for the specified charger. content: application/json: schema: type: object required: - items - statuses properties: items: type: array items: $ref: "#/components/schemas/ChargerEvseStatusesEntry" statuses: type: array items: $ref: "#/components/schemas/EVSEStatus" Accepted: description: | The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon, and may be disallowed when processing occurs. content: application/json: schema: type: object required: - message properties: message: type: string example: Accepted TiledChargerSearchOk: description: Returns a grid containing the matching chargers. content: application/json: schema: type: object allOf: - type: object required: - tilesToDisplay - cacheKeyOrder - tilesToDiscard - newTiles - meta properties: cacheKeyOrder: type: array items: $ref: "#/components/schemas/ChargerTileKey" description: | A sorted list of the non-used tile keys. They are sorted based on the likelihood of being displayed again. The first entries will always be the same as those sent in tiles to display. The client decides on how many of the tiles to keep in the cache. tilesToDiscard: type: array items: $ref: "#/components/schemas/ChargerTileKey" description: | A list of keys that are should be discarded on the client. These are either extremely unlikely to be shown again or has been deprecated due to ttl. tilesToDisplay: type: array items: $ref: "#/components/schemas/ChargerTileKey" description: A list of keys that should be displayed on the map. newTiles: type: array items: $ref: "#/components/schemas/ChargerTile" meta: $ref: "#/components/schemas/TiledChargerSearchMeta" ChargerGeoSearchOk: description: Returns a list of chargers matching the provided query. content: application/json: schema: type: object allOf: - type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/GeoSearchCharger" BboxesChargerIdsSearchOk: description: Returns a list of charger ids matching the provided bounding boxes. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/ChargerIdTile" ChargerBoundingBoxReCenterOk: description: A positive response with a bounding box to be used for re-centering the map. content: application/json: schema: type: object required: - southWest - northEast - isChanged - chargerIds properties: southWest: $ref: "#/components/schemas/Coordinates" northEast: $ref: "#/components/schemas/Coordinates" isChanged: type: boolean description: Indicates if the bounding box has been updated. chargerIds: type: array items: $ref: "#/components/schemas/ChargerId" description: | A list of charger ids that are included in the bounding box. Sorted with highest score first. ChargerListRatingResponseOk: description: Returns a list of chargers with ratings content: application/json: schema: type: object allOf: - $ref: "#/components/schemas/MetaPaginationProperty" - type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/ChargerRating" ChargerListFeatureResponseOk: description: Returns a list of chargers with features content: application/json: schema: type: object allOf: - $ref: "#/components/schemas/MetaPaginationProperty" - type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/ChargerFeaturesObject" NetworkListOk: description: Returns a list of networks. content: application/json: schema: type: object allOf: - $ref: "#/components/schemas/MetaPaginationProperty" - type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/ChargerNetwork" NetworkSearchOk: description: Returns a list of charger networks. content: application/json: schema: required: - items properties: items: type: array items: $ref: "#/components/schemas/ChargerNetwork" NetworkGetOk: description: Detailed information about a list of network. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/GetChargerNetwork" NetworkByIdOk: description: Detailed information about a network. content: application/json: schema: $ref: "#/components/schemas/ChargerNetwork" ChargeCardListOk: description: Returns a list of charge cards. content: application/json: schema: type: object allOf: - $ref: "#/components/schemas/MetaPaginationProperty" - type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/ChargeCard" ChargeCardByIdOk: description: Detailed information about a single charge card. content: application/json: schema: $ref: "#/components/schemas/ChargeCard" ChargeCardSearchOk: description: Returns a list of charge cards. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/ChargeCard" ChargeCardGetOk: description: Detailed information about a list of charge cards. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/GetChargeCard" AmenitiesOk: description: Query result. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/AmenityFullDistance" ChargingSessionsOk: description: Positive response with information about the charging sessions. content: application/json: schema: required: - vehicleTelemetry - chargerTelemetry - userReports properties: vehicleTelemetry: $ref: "#/components/schemas/VehicleTelemetryChargingSessions" chargerTelemetry: $ref: "#/components/schemas/ChargerTelemetryChargingSessions" userReports: $ref: "#/components/schemas/UserReportedChargingSessions" VehicleListOk: description: Positive response with the reference consumption. content: application/json: schema: type: object required: - vehicles - options - display properties: vehicles: type: array items: $ref: "#/components/schemas/ListVehicle" options: type: array items: $ref: "#/components/schemas/VehicleOptionItem" display: type: array items: $ref: "#/components/schemas/ListVehicleDisplay" Found: description: 302 Found redirect response with Location header headers: Location: description: The URL of the found resource schema: type: string format: uri example: https://example.com/resource/123 content: application/json: schema: type: string example: Found ChargerCurveOk: description: Positive response with the charger requested charger curve. content: application/json: schema: type: object required: - times properties: times: type: array items: $ref: "#/components/schemas/ChargerCurveTime" RefConsOk: description: Positive response with the reference consumption. content: application/json: schema: type: object required: - refCons properties: refCons: type: number description: The reference consumption [Wh/km]. RouteShareListOk: description: A list of shares content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/RouteShareGroup" NoContent: description: No Content content: text/plain: schema: type: string example: No Content RouteShareVehicleStatusOk: description: The status of the vehicle in the share content: application/json: schema: $ref: "#/components/schemas/VehicleStatusTime" text/event-stream: schema: type: string example: | Same as the normal response but as a stream of events with data: as prefix SpeedCamerasOk: description: A list of speed cameras, potentially empty, ordered. content: application/json: schema: allOf: - type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/SpeedCamera" TlmGetForVehicleOk: description: | Returns a tlm point, If content type is streaming it returns a stream of tlm points content: application/json: schema: $ref: "#/components/schemas/OutputPoint" text/event-stream: schema: type: string example: | Same as the normal response but as a stream of events with data: as prefix e.g. `data: {"voltageV": 704}` TlmGetForVehiclesOk: description: | Not used used for help documenting the stream return content: application/json: schema: $ref: "#/components/schemas/OutputPointWithVehicleId" text/event-stream: schema: type: string example: | Same as the normal response but as a stream of events with data: as prefix e.g. `data: {"voltageV": 704, "vehicleId": 1}` AppTlmPostTlmResponse: description: | The response to a tlm post request content: application/json: schema: type: object properties: mapInfo: $ref: "#/components/schemas/MapInfo" elevation: $ref: "#/components/schemas/Elevation" ExtendedInfoOk: description: Extended information. content: application/json: schema: $ref: "#/components/schemas/ExtendedInfo" Oem2ChargerDetailsOk: description: Successful charger details for oem2. content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/Oem2GetDetailedCharger" requestBodies: SpeedCamerasRequestBody: required: true content: application/json: schema: type: object required: - polyline properties: polyline: $ref: "#/components/schemas/Polyline" example: polyline: - - 58.20058 - 16.00085 - - 58.20064 - 16.00085 - - 58.20194 - 16.00087 - - 58.202 - 16.00088 - - 58.20208 - 16.00089 - - 58.2022 - 16.001 - - 58.20226 - 16.00108 - - 58.2023 - 16.00114 - - 58.20232 - 16.00121 - - 58.20233 - 16.00131 - - 58.20232 - 16.00137 - - 58.20231 - 16.00139 - - 58.20231 - 16.00144 - - 58.2023 - 16.00151 - - 58.2023 - 16.00158