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