Download OpenAPI specification:Download
Return application store url of the requested app label
app_label required | string The name of the application white label calling the route. |
{- "code": 0,
- "data": [
- {
- "android_store_url": "string",
- "ios_store_url": "string"
}
]
}
Begin the linking process of a new badge.
Info of the new badge to link.
cluster_id required | integer >= 1 Identifier of the cluster on which the user will put his badge to link it to his account. |
name required | string <= 30 The display name for this badge. |
spot_id | integer >= 1 Identifier of the spot on which the user will put his badge to link it to his account. Only for station v6. |
{- "cluster_id": 1,
- "name": "string",
- "spot_id": 1
}
{- "code": 0
}
Update the name of a badge.
Info of the badge.
badge_id required | integer >= 1 The identifier of the badge to edit. |
name required | string <= 30 The new display name of the badge. |
{- "badge_id": 1,
- "name": "string"
}
{- "code": 0
}
Get the list of usable or currently used bank guarantees.
{- "code": 0,
- "data": [
- {
- "id": "string",
- "amount": "350.000",
- "currency": "string",
- "date": "2019-08-24T14:15:22Z",
- "being_used": true,
- "exp_date": "2019-08-24T14:15:22Z",
- "refund_date": "2019-08-24T14:15:22Z"
}
]
}
Create a new bank guarantee for the user.
Info about the bank guarantee to create.
vehicle_id required | integer >= 1 The identifier of the vehicle we want to create a bank guarantee for. |
payment_method_id | integer >= 1 The identifier of the payment method to use for the bank guarantee. |
user_payment_method_id | integer >= 1 The identifier of the user's payment method instance to use for the bank guarantee. |
keep_after_trip | boolean When true, the guarantee will be kept for three days, otherwise its released after the trip ends. |
object (UsePaymentMethodParameters) Info that need to be provided when using a payment method. |
{- "vehicle_id": 1,
- "payment_method_id": 1,
- "user_payment_method_id": 1,
- "keep_after_trip": true,
- "payment_method_parameters": {
- "name": "string",
- "return_url": "string",
- "networks": "cartes_bancaires",
- "bank": "abn_amro"
}
}
{- "code": 0
}
Return all available payment methods usable by the user to make a bank guarantee for the given vehicle.
vehicle_id required | integer >= 1 Identifier of the vehicle to make a bank guarantee for. |
{- "code": 0,
- "data": [
- {
- "method_id": 1,
- "type": "string",
- "provider": "string",
- "instances": [
- {
- "id": 1,
- "details": {
- "alias": "XXXX XXXX XXXX 1234",
- "expiration_date": "stri",
- "card_provider": "mastercard",
- "networks": {
- "available": [
- "cartes_bancaires"
], - "preferred": "invalid_preference"
}
}, - "default": true
}
]
}
], - "providers_setup_info": {
- "stripe": {
- "public_key": "string"
}
}
}
Cancel a bank guarantee before its automatic cancellation. This is for users which are in bank that withdraw the amount of the pre-authorization instead of just blocking it.
id required | string [ 1 .. 128 ] characters The identifier of the bank guarantee to cancel. |
{- "code": 0
}
Return the list of reports, or chat channels, that the user made.
{- "code": 0,
- "data": [
- {
- "report_id": 1,
- "message": "string",
- "sender": "string",
- "date": "2019-08-24T14:15:22Z",
- "report_date": "2019-08-24T14:15:22Z",
- "resolved": true,
- "unread": true,
- "allow_reopen": true
}
]
}
Return a chat channel.
report_id required | integer >= 1 The identifier of the report to get. |
{- "code": 0,
- "data": {
- "report_id": 1,
- "message": "string",
- "sender": "string",
- "date": "2019-08-24T14:15:22Z",
- "report_date": "2019-08-24T14:15:22Z",
- "resolved": true,
- "unread": true,
- "allow_reopen": true
}
}
Upload an image into a new chat message.
report_id required | integer >= 1 The identifier of the report we want to add the image to. |
The picture to upload.
chat_image required | string <binary> The picture file data. |
{- "code": 0,
- "data": {
- "id": "string",
- "date": "string",
- "url": "string"
}
}
Return clusters accessible by the user on a given area.
lat required | number [ -90 .. 90 ] The latitude of the center of the area in which to get clusters. |
lng required | number [ -180 .. 180 ] The longitude of the center of the area in which to get clusters. |
latDeg required | number [ -90 .. 90 ] The number of latitude degree of the area in which to get clusters. Can be compared to the height of the area. |
lngDeg required | number [ -180 .. 180 ] The number of longitude degree of the area in which to get clusters. Can be compared to the width of the area. |
lang | string^[a-z]{2}$ The language (ISO 639-1) to use for the description localization. Defaults to english. |
{- "code": 0,
- "data": [
- {
- "cluster_id": 1,
- "latitude": 48.5900027,
- "longitude": 7.7531998,
- "name": "Knot Headquarters",
- "available_vehicles": 0,
- "total_spots": 0,
- "free_spots": 0,
- "cluster_is_down": true,
- "network_id": 1,
- "soon_to_be_available": true,
- "commissioning_date": "2019-08-24T14:15:22Z",
- "exceptional_out_of_order": {
- "exceptional_out_of_order_id": 1,
- "type": "other",
- "reason": "string",
- "custom_reason": "string"
}, - "description": "string",
- "cluster_is_accessible": true,
- "has_badge_reader": true,
- "balancing_type": "donor"
}
]
}
Create a new cluster.
Info on the cluster to create.
lat required | number [ -90 .. 90 ] Latitude part of the location. |
lng required | number [ -180 .. 180 ] Longitude part of the location. |
name required | string [ 1 .. 50 ] characters Display name of this cluster. |
network_id required | integer >= 1 Identifier of the network in which this cluster is into. |
{- "lat": 48.5900027,
- "lng": 7.7531998,
- "name": "Knot Headquarters",
- "network_id": 1
}
{- "code": 0
}
Return the 20 closest clusters accessible by logged in users on a given area.
lat required | number [ -90 .. 90 ] The latitude of the center of the area in which to get clusters. |
lng required | number [ -180 .. 180 ] The longitude of the center of the area in which to get clusters. |
{- "code": 0,
- "data": [
- {
- "cluster_id": 1,
- "latitude": 48.5900027,
- "longitude": 7.7531998,
- "name": "Knot Headquarters",
- "available_vehicles": 0,
- "total_spots": 0,
- "free_spots": 0,
- "cluster_is_down": true,
- "network_id": 1,
- "cluster_is_accessible": true,
- "distance": 0,
- "has_badge_reader": true
}
]
}
Return clusters accessible by anyone on a given area.
lat required | number [ -90 .. 90 ] The latitude of the center of the area in which to get clusters. |
lng required | number [ -180 .. 180 ] The longitude of the center of the area in which to get clusters. |
latDeg required | number [ -90 .. 90 ] The number of latitude degree of the area in which to get clusters. Can be compared to the height of the area. |
lngDeg required | number [ -180 .. 180 ] The number of longitude degree of the area in which to get clusters. Can be compared to the width of the area. |
lang | string^[a-z]{2}$ The language (ISO 639-1) to use for the description localization. Defaults to english. |
network_id | integer >= 1 A network identifier of which to get public clusters. |
app_label required | string The name of the application white label calling the route. |
{- "code": 0,
- "data": [
- {
- "cluster_id": 1,
- "latitude": 48.5900027,
- "longitude": 7.7531998,
- "name": "Knot Headquarters",
- "available_vehicles": 0,
- "total_spots": 0,
- "free_spots": 0,
- "cluster_is_down": true,
- "network_id": 1,
- "soon_to_be_available": true,
- "commissioning_date": "2019-08-24T14:15:22Z",
- "exceptional_out_of_order": {
- "exceptional_out_of_order_id": 1,
- "type": "other",
- "reason": "string",
- "custom_reason": "string"
}, - "description": "string"
}
]
}
Return the details of a cluster.
id required | integer >= 1 The cluster id. |
lang | string^[a-z]{2}$ The language (ISO 639-1) to use for the description localization. Defaults to english. |
{- "code": 0,
- "data": {
- "cluster_id": 1,
- "latitude": 48.5900027,
- "longitude": 7.7531998,
- "name": "Knot Headquarters",
- "available_vehicles": 0,
- "total_spots": 0,
- "free_spots": 0,
- "cluster_is_down": true,
- "network_id": 1,
- "soon_to_be_available": true,
- "commissioning_date": "2019-08-24T14:15:22Z",
- "exceptional_out_of_order": {
- "exceptional_out_of_order_id": 1,
- "type": "other",
- "reason": "string",
- "custom_reason": "string"
}, - "description": "string",
- "cluster_is_accessible": true,
- "has_badge_reader": true,
- "balancing_type": "donor"
}
}
Update the cluster name.
id required | integer >= 1 The identifier of the cluster we want to update. |
Info on the cluster to update.
name | string [ 1 .. 50 ] characters The new name for the cluster. |
{- "name": "string"
}
{- "code": 0
}
Return list of spot of the given cluster.
id required | integer >= 1 The identifier of the cluster. |
{- "code": 0,
- "data": [
- {
- "spot_id": 1,
- "station_id": 1,
- "displayed_number": 1,
- "in_maintenance": true,
- "is_accessible": true
}
]
}
Return list of vehicle of the given cluster.
id required | integer >= 1 The identifier of the cluster. |
{- "code": 0,
- "data": [
- {
- "vehicle_id": 1,
- "serial_number": "string",
- "battery_level": 100,
- "avg_max_range": 0,
- "vehicle_type": "kick-scooter",
- "vehicle_online": true,
- "spot_id": 1,
- "station_id": 1,
- "displayed_number": 1,
- "in_maintenance": true,
- "is_accessible": true,
- "model_id": 1,
- "model_name": "string",
- "manufacturer": "string"
}
]
}
Move a cluster to a new location.
id required | integer >= 1 The identifier of the cluster we want to update. |
Info on the cluster to move.
lat required | number [ -90 .. 90 ] Latitude part of the location. |
lng required | number [ -180 .. 180 ] Longitude part of the location. |
{- "lat": 48.5900027,
- "lng": 7.7531998
}
{- "code": 0,
- "data": {
- "parkings": [
- 1
]
}
}
Update the max unlock distance for a specific cluster.
id required | integer >= 1 The identifier of the cluster we want to update. |
Info on the cluster to change unlock distance.
new_distance required | integer or null [ 10 .. 1000 ] New max unlock distance. |
{- "new_distance": 10
}
{- "code": 0
}
Update the user's consents.
New consents values.
required | object |
{- "consents": {
- "emails.networkstatus": true,
- "emails.promotional": true
}
}
{- "code": 0
}
Return all consents types.
lang required | string^[a-z]{2}$ The language (ISO 639-1) to use translating the consents name. |
{- "code": 0,
- "data": [
- {
- "type": "emails.networkstatus",
- "name": "string",
- "value": true
}
]
}
Update the user's consents from unsubscribe token.
New consents values.
required | object |
token required | string or null Unsubscribe token from newsletter email. |
{- "consents": {
- "emails.networkstatus": true,
- "emails.promotional": true
}, - "token": "string"
}
{- "code": 0
}
Return a country from the given position.
lat required | number [ -90 .. 90 ] Latitude of where to search the country. |
lng required | number [ -180 .. 180 ] Longitude of where to search the country. |
{- "code": 0,
- "data": {
- "country_id": 1,
- "name": "string",
- "iso_2": "st",
- "iso_3": "str",
- "phone_prefix": "string"
}
}
{- "code": 0,
- "data": [
- {
- "discount_id": 1,
- "name": "string",
- "discount_type": "add-credit",
- "type": 1,
- "stop_date": "2019-08-24",
- "code": "string",
- "data": 0,
- "currency": "string",
- "active": true
}
]
}
Return discounts usable by the user for the shop.
lat required | number [ -90 .. 90 ] Latitude of the user to get discounts available for offers on the nearest network. |
lng required | number [ -180 .. 180 ] Longitude of the user to get discounts available for offers on the nearest network. |
{- "code": 0,
- "data": [
- {
- "discount_id": 1,
- "name": "string",
- "discount_type": "add-credit",
- "type": 1,
- "stop_date": "2019-08-24",
- "code": "string",
- "data": 0,
- "currency": "string"
}
]
}
Use a discount code.
The code of the discount and the position of the user.
lat required | number [ -90 .. 90 ] Latitude of the user to check that the discount is available on the nearest network. |
lng required | number [ -180 .. 180 ] Longitude of the user to check that the discount is available on the nearest network. |
code required | string non-empty Discount code to identify which discount we try to use. |
{- "lat": -90,
- "lng": -180,
- "code": "string"
}
{- "code": 0,
- "data": {
- "discount_id": 1,
- "name": "string",
- "discount_type": "add-credit",
- "type": 1,
- "stop_date": "2019-08-24",
- "code": "string",
- "data": 0,
- "currency": "string"
}
}
Send an email containing a confirmation link to change the user's email address to a new one.
New email.
email required | string <email> The new email address to send a confirmation email to. |
{- "email": "user@example.com"
}
{- "code": 0
}
Check email change token and retrieve email change data.
token required | string The token given in the email change link. |
{- "code": 0,
- "data": {
- "email": "user@example.com",
- "new_email": "user@example.com",
- "current_organization_name": "string",
- "new_organization_name": "string",
- "label_name": "string"
}
}
Change the user's email by the new specified one.
Info to authenticate the email change.
email_token required | string = 10 characters The mail change token. |
email required | string <email> The new email address. |
{- "email_token": "stringstri",
- "email": "user@example.com"
}
{- "code": 0
}
Send again an email containing a confirmation link to confirm the user's email address. The token used for authentication is given by the login route with the code 7 (email not confirmed).
{- "code": 0
}
Confirm the email of the user using the validation token.
Info to authenticate the email conformation.
token required | string = 10 characters The mail change token. |
{- "token": "stringstri"
}
{- "code": 0,
- "android_store_url": "string",
- "ios_store_url": "string",
- "label_name": "string",
- "email": "user@example.com"
}
Get the content of the faq.
lang required | string = 2 characters The lang in which to get the faq localized. |
app_label | string The name of the application white label calling the route. |
{- "code": 0,
- "data": [
- {
- "key": "string",
- "name": "string",
- "translated": true,
- "sort_order": 0,
- "sub_categories": [
- {
- "key": "string",
- "name": "string",
- "translated": true,
- "sort_order": 0,
- "is_spacer": true,
- "replacements": [
- "app-label"
], - "contents": [
- {
- "key": "string",
- "content": "string",
- "translated": true,
- "sort_order": 0,
- "type": "text",
- "bold": true,
- "margin": "string",
- "text_color": "primary",
- "bullet_color": "primary",
- "replacements": [
- "app-label"
]
}
]
}
]
}
]
}
Get the ongoing global announcement in the language requested if available.
lang required | string = 2 characters The lang in which to get the announcement. |
app_label required | string The name of the application white label calling the route. |
{- "code": 0,
- "data": {
- "announcement": "string"
}
}
Log in a user with it's Knot account.
Credentials of the user.
email required | string <email> Email of the user. |
password required | string [ 8 .. 255 ] characters Password of the user. |
scope | string Enum: "app" "dashboard" For what the token will be used. |
object (LoginDevice) Device being used to connect. | |
app_label required | string [ 1 .. 20 ] characters Name of the app label making the request. |
{- "email": "user@example.com",
- "password": "stringst",
- "scope": "app",
- "device": {
- "id": "string",
- "os": "Android",
- "model": "string",
- "app_version": "string"
}, - "app_label": "string"
}
{- "code": 0,
- "token": "string",
- "refresh_token": "string",
- "user_id": 1,
- "permissions": [
- {
- "perm_key": "string",
- "write": true,
- "ou": {
- "id": 1,
- "networks": [
- 1
], - "clusters": [
- {
- "id": 1,
- "network": 1
}
], - "app_labels": [
- 1
], - "organizations": [
- 1
]
}
}
]
}
Check the validity of a token and return the user's permissions.
Information on the device used to login.
object (LoginDevice) Device being used to connect. |
{- "device": {
- "id": "string",
- "os": "Android",
- "model": "string",
- "app_version": "string"
}
}
{- "code": 0,
- "permissions": [
- {
- "perm_key": "string",
- "write": true,
- "ou": {
- "id": 1,
- "networks": [
- 1
], - "clusters": [
- {
- "id": 1,
- "network": 1
}
], - "app_labels": [
- 1
], - "organizations": [
- 1
]
}
}
]
}
Request a new access token with the refresh token. You need to use the refresh token instead of the access token in the Authorization header. The given token will be invalidated and you will get a new one.
{- "code": 0,
- "access_token": "string",
- "refresh_token": null
}
Login with an Apple account.
Info to authenticate with an Apple account.
token required | string Apple's idToken. |
scope | string Enum: "app" "dashboard" For what the token will be used. |
object (LoginDevice) Device being used to connect. | |
app_label required | string [ 1 .. 20 ] characters Name of the app label making the request. |
lang | string/^[a-zA-Z]{2}$/ The user's language. Defaults to English. |
{- "token": "string",
- "scope": "app",
- "device": {
- "id": "string",
- "os": "Android",
- "model": "string",
- "app_version": "string"
}, - "app_label": "string",
- "lang": "string"
}
{- "code": 0,
- "token": "string",
- "refresh_token": "string",
- "user_id": 1,
- "permissions": [
- {
- "perm_key": "string",
- "write": true,
- "ou": {
- "id": 1,
- "networks": [
- 1
], - "clusters": [
- {
- "id": 1,
- "network": 1
}
], - "app_labels": [
- 1
], - "organizations": [
- 1
]
}
}
]
}
Login with a Facebook account.
Info to authenticate with a Facebook account.
token required | string Facebook's access token. |
scope | string Enum: "app" "dashboard" For what the token will be used. |
object (LoginDevice) Device being used to connect. | |
app_label required | string [ 1 .. 20 ] characters Name of the app label making the request. |
lang | string/^[a-zA-Z]{2}$/ The user's language. Defaults to English. |
{- "token": "string",
- "scope": "app",
- "device": {
- "id": "string",
- "os": "Android",
- "model": "string",
- "app_version": "string"
}, - "app_label": "string",
- "lang": "string"
}
{- "code": 0,
- "token": "string",
- "refresh_token": "string",
- "user_id": 1,
- "permissions": [
- {
- "perm_key": "string",
- "write": true,
- "ou": {
- "id": 1,
- "networks": [
- 1
], - "clusters": [
- {
- "id": 1,
- "network": 1
}
], - "app_labels": [
- 1
], - "organizations": [
- 1
]
}
}
]
}
Login with a google account.
Info to authenticate with a Google account.
token required | string Google's idToken. |
scope | string Enum: "app" "dashboard" For what the token will be used. |
object (LoginDevice) Device being used to connect. | |
app_label required | string [ 1 .. 20 ] characters Name of the app label making the request. |
lang | string/^[a-zA-Z]{2}$/ The user's language. Defaults to English. |
{- "token": "string",
- "scope": "app",
- "device": {
- "id": "string",
- "os": "Android",
- "model": "string",
- "app_version": "string"
}, - "app_label": "string",
- "lang": "string"
}
{- "code": 0,
- "token": "string",
- "refresh_token": "string",
- "user_id": 1,
- "permissions": [
- {
- "perm_key": "string",
- "write": true,
- "ou": {
- "id": 1,
- "networks": [
- 1
], - "clusters": [
- {
- "id": 1,
- "network": 1
}
], - "app_labels": [
- 1
], - "organizations": [
- 1
]
}
}
]
}
Send an email to reset a user's password.
Info on the user who want to reset its password.
email required | string <email> Account's email which we want to reset the password. |
app_label required | string [ 1 .. 20 ] characters Name of the app label making the request. |
{- "email": "user@example.com",
- "app_label": "string"
}
{- "code": 0
}
Second factor check for users with 2FA, route to call if a login route returns the code 146 (TwoFactorRequired). The authentication token is the one given by the login route that returned the code 146.
Info to complete the authentication's second factor.
mfa_token required | string/^\d{6}$/ A token given by an OTP app for the generated key. |
object (LoginDevice) Device being used to connect. |
{- "mfa_token": "string",
- "device": {
- "id": "string",
- "os": "Android",
- "model": "string",
- "app_version": "string"
}
}
{- "code": 0,
- "token": "string",
- "refresh_token": "string",
- "user_id": 1,
- "permissions": [
- {
- "perm_key": "string",
- "write": true,
- "ou": {
- "id": 1,
- "networks": [
- 1
], - "clusters": [
- {
- "id": 1,
- "network": 1
}
], - "app_labels": [
- 1
], - "organizations": [
- 1
]
}
}
]
}
Begin enabling two factors authentication by generating a key and a url for an otp application. User should save the key in its app then call the login/2fa/verify route.
{- "code": 0,
- "key": "KVKGQ32EK5BEKNTUNRTESTDSOU",
- "key_url": "otpauth://totp/Knot%3AArlo_Stehr50%40yahoo.com?secret=KVKGQ32EK5BEKNTUNRTESTDSOU",
- "token": "string"
}
End the two factors authentication setup by verifying one code generated by an OTP app and the token given in the login/2fa/generate route.
Info from the OTP application and given by the begin route.
token required | string Token given in the login/2fa/generate route. |
mfa_token required | string/^\d{6}$/ A token given by an OTP app for the generated key. |
{- "token": "string",
- "mfa_token": "string"
}
{- "code": 0
}
Logout from a device or all device if is are specified.
The device to logout.
device_id | string [ 1 .. 50 ] characters Unique identifier of the device disconnecting. If omitted all user's devices are disconnected and sessions are invalidated. |
{- "device_id": "string"
}
{- "code": 0
}
Returns all available maintenance types.
lang required | string = 2 characters The lang in which to get the types localized. |
{- "code": 0,
- "data": [
- {
- "type_key": "string",
- "target_type": "station",
- "severity": "info",
- "type_name": "string",
- "deletion_date": "string",
- "creation_date": "string"
}
]
}
Returns all the ongoing maintenances of a spot.
spot_id required | integer >= 1 The identifier of the spot we want to get the maintenances of. |
lang required | string = 2 characters The lang in which to get the types localized. |
{- "code": 0,
- "data": [
- {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0
}
]
}
Create a new maintenance for a spot.
Info on the maintenance to add.
maintenance_type required | string [ 1 .. 50 ] characters The type of maintenance to add. |
comment | string [ 1 .. 1024 ] characters An optional comment for the maintenance. |
severity | string Enum: "info" "low" "high" The severity of this maintenance. If not provided we default on the severity of the maintenance type. |
report_id | integer An optional identifier of the report linked. |
spot_id required | integer >= 0 The identifier of the spot on which to add the maintenance. |
{- "maintenance_type": "string",
- "comment": "string",
- "severity": "info",
- "report_id": 0,
- "spot_id": 0
}
{- "code": 0,
- "data": {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0
}
}
Returns all the resolved maintenances of a spot.
spot_id required | integer >= 1 The identifier of the spot we want to get the maintenances of. |
last_maintenance_id | integer >= 1 The identifier of the last maintenance we have, to get the maintenances coming after it. |
direction | string Enum: "ASC" "DESC" The direction in which to sort the maintenances. |
lang required | string = 2 characters The lang in which to get the types localized. |
{- "code": 0,
- "data": [
- {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0,
- "stop_date": "string",
- "stopped_by": "string",
- "stopped_by_uid": 1
}
]
}
Returns all the ongoing maintenances of a vehicle.
vehicle_id | integer >= 1 The identifier of the vehicle we want to get the maintenances of. You need to specify at least one of the parameters. |
serial_number | string [ 6 .. 10 ] characters The serial number of the vehicle we want to get the maintenances of. You need to specify at least one of the parameters. |
lang required | string = 2 characters The lang in which to get the types localized. |
{- "code": 0,
- "data": [
- {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0
}
]
}
Create a new maintenance for a vehicle.
Info on the maintenance to add.
maintenance_type required | string [ 1 .. 50 ] characters The type of maintenance to add. |
comment | string [ 1 .. 1024 ] characters An optional comment for the maintenance. |
severity | string Enum: "info" "low" "high" The severity of this maintenance. If not provided we default on the severity of the maintenance type. |
report_id | integer An optional identifier of the report linked. |
vehicle_id | integer >= 1 The identifier of the vehicle on which to add the maintenance. You need to specify at least one of the parameters. |
serial_number | string [ 6 .. 10 ] characters The serial number of the vehicle on which to add the maintenance. You need to specify at least one of the parameters. |
{- "maintenance_type": "string",
- "comment": "string",
- "severity": "info",
- "report_id": 0,
- "vehicle_id": 1,
- "serial_number": "string"
}
{- "code": 0,
- "data": {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0
}
}
Returns all the resolved maintenances of a vehicle.
vehicle_id | integer >= 1 The identifier of the vehicle we want to get the maintenances of. You need to specify at least one of the parameters. |
serial_number | string [ 6 .. 10 ] characters The serial number of the vehicle we want to get the maintenances of. You need to specify at least one of the parameters. |
last_maintenance_id | integer >= 1 The identifier of the last maintenance we have, to get the maintenances coming after it. |
direction | string Enum: "ASC" "DESC" The direction in which to sort the maintenances. |
lang required | string = 2 characters The lang in which to get the types localized. |
{- "code": 0,
- "data": [
- {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0,
- "stop_date": "string",
- "stopped_by": "string",
- "stopped_by_uid": 1
}
]
}
Returns all the ongoing maintenances of a station. This only returns the maintenances concerning the station as a whole and not its spots or vehicles.
station_id required | integer >= 1 The identifier of the station we want to get the maintenances of. |
lang required | string = 2 characters The lang in which to get the types localized. |
{- "code": 0,
- "data": [
- {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0
}
]
}
Create a new maintenance for a station.
Info on the maintenance to add.
maintenance_type required | string [ 1 .. 50 ] characters The type of maintenance to add. |
comment | string [ 1 .. 1024 ] characters An optional comment for the maintenance. |
severity | string Enum: "info" "low" "high" The severity of this maintenance. If not provided we default on the severity of the maintenance type. |
report_id | integer An optional identifier of the report linked. |
station_id required | integer >= 0 The identifier of the station on which to add the maintenance. |
{- "maintenance_type": "string",
- "comment": "string",
- "severity": "info",
- "report_id": 0,
- "station_id": 0
}
{- "code": 0,
- "data": {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0
}
}
Returns all the resolved maintenances of a station. This only returns the maintenances concerning the station as a whole and not its spots or vehicles.
station_id required | integer >= 1 The identifier of the station we want to get the maintenances of. |
last_maintenance_id | integer >= 1 The identifier of the last maintenance we have, to get the maintenances coming after it. |
direction | string Enum: "ASC" "DESC" The direction in which to sort the maintenances. |
lang required | string = 2 characters The lang in which to get the types localized. |
{- "code": 0,
- "data": [
- {
- "maintenance_id": 1,
- "spot_id": 1,
- "vehicle_id": 1,
- "station_id": 1,
- "maintenance_type": "string",
- "comment": "string",
- "start_date": "string",
- "started_by": "string",
- "started_by_uid": 1,
- "severity": "info",
- "automatic_code_description": "string",
- "report_id": 0,
- "stop_date": "string",
- "stopped_by": "string",
- "stopped_by_uid": 1
}
]
}
Returns the list of spot of the cluster with the a count of all maintenances on them.
cluster_id required | integer >= 1 The identifier of the cluster we want to get the overview of. |
{- "code": 0,
- "data": {
- "stations": [
- {
- "station_id": 1,
- "mainboard_id": 1,
- "station_maintenances": {
- "info_count": 0,
- "low_count": 0,
- "high_count": 0
}, - "spots": [
- {
- "spot_id": 1,
- "contained_vehicle_id": 1,
- "serial_number": "string",
- "station_id": 1,
- "displayed_number": 0,
- "lock_status": 0,
- "vehicle_maintenances": {
- "info_count": 0,
- "low_count": 0,
- "high_count": 0
}, - "spot_maintenances": {
- "info_count": 0,
- "low_count": 0,
- "high_count": 0
}, - "vehicle_type": "string"
}
]
}
], - "vehicles": [
- {
- "vehicle_id": 1,
- "serial_number": "string",
- "vehicle_maintenances": {
- "info_count": 0,
- "low_count": 0,
- "high_count": 0
}, - "vehicle_type": "kick-scooter"
}
]
}
}
Returns the list of clusters given with the maintenance count for each cluster.
clusters required | Array of integers[ items >= 1 ] Examples:
Identifier of clusters of which to get the maintenance count. |
{- "code": 0,
- "data": [
- {
- "cluster_id": 1,
- "maintenances": {
- "info_count": 0,
- "low_count": 0,
- "high_count": 0
}
}
]
}
Update of the comment and severity of a maintenance.
id required | integer >= 1 The identifier of the maintenance we want to update. |
Info on the maintenance to update.
comment | string [ 1 .. 1024 ] characters The new comment for the maintenance. |
severity | string Enum: "info" "low" "high" The new severity for the maintenance. |
{- "comment": "string",
- "severity": "info"
}
{- "code": 0
}
Mark a maintenance as resolved or delete it.
id required | integer >= 1 The identifier of the maintenance we want to mark as resolved. |
delete_from_history | boolean When true, delete the maintenance from the history, otherwise it is marked as solved. |
{- "code": 0
}
Upload a picture and link it to a maintenance.
id required | integer >= 1 The identifier of the maintenance we want to attach an image to. |
The picture to upload.
maintenance_picture required | string <binary> The picture file data. |
{- "code": 0,
- "data": {
- "url": "string"
}
}
Return clusters, free floating vehicles, user's rents and passes and virtual parking.
lat required | number [ -90 .. 90 ] Latitude of the center of the area of which we want to get map elements. |
lng required | number [ -180 .. 180 ] Longitude of the center of the area of which we want to get map elements. |
latdeg required | number >= 0 Number of latitude degree of the area of which we want to get map elements. |
lngdeg required | number >= 0 Number of longitude degree of the area of which we want to get map elements. |
lang | string = 2 characters Language in which to get the localization, defaults to 'en'. |
{- "code": 0,
- "clusters": [
- {
- "cluster_id": 1,
- "latitude": -90,
- "longitude": -180,
- "name": "string",
- "available_vehicles": 0,
- "total_spots": 0,
- "free_spots": 0,
- "cluster_is_down": true,
- "network_id": 1,
- "soon_to_be_available": true,
- "commissioning_date": "2019-08-24T14:15:22Z",
- "exceptional_out_of_order": {
- "exceptional_out_of_order_id": 1,
- "type": "other",
- "reason": "string",
- "custom_reason": "string"
}, - "description": "string",
- "cluster_is_accessible": true,
- "has_badge_reader": true
}
], - "vehicles": [
- {
- "vehicle_id": 1,
- "serial_number": "string",
- "latitude": -90,
- "longitude": -180,
- "connected": true,
- "network_id": 1,
- "battery_level": 100,
- "vehicle_type": "kick-scooter",
- "model_id": 1,
- "model_name": "string",
- "manufacturer": "string",
- "state": "rented",
- "is_accessible": true,
- "is_available": true,
- "exceptional_out_of_order": {
- "exceptional_out_of_order_id": 1,
- "type": "other",
- "reason": "string",
- "custom_reason": "string"
}, - "has_freefloat_to_station_reward": true
}
], - "parkings": [
- {
- "virtual_parking_id": 1,
- "cluster_id": 1,
- "network_id": 1,
- "shape": [
- [
- -180
]
], - "is_accessible": true
}
], - "rents": [
- {
- "vehicle_id": 1,
- "serial_number": "string",
- "free_floating": true,
- "being_rented": true,
- "displayed_number": 1,
- "lock_status": 0,
- "trip_id": 1,
- "time_start": "2019-08-24T14:15:22Z",
- "billing_time_stop": "2019-08-24T14:15:22Z",
- "on_hold_since": "2019-08-24T14:15:22Z",
- "on_hold_activated": true,
- "network_id": 1,
- "battery_level": 100,
- "min_battery_to_slow_down": 100,
- "min_battery_to_auto_lock": 100,
- "avg_max_range": 0,
- "external_locks": [
- {
- "external_lock_id": 1,
- "model": "string",
- "type": "u",
- "code": "string"
}
], - "vehicle_model_id": 1,
- "vehicle_model_name": "string",
- "vehicle_manufacturer": "string",
- "vehicle_type": "string"
}
], - "passes": [
- {
- "pass_id": 1,
- "end_date": "2019-08-24T14:15:22Z",
- "in_use": true
}
], - "networks": [
- {
- "network_id": 1,
- "name": "string",
- "shape": [
- [
- 10,
- 45
], - [
- -2.8,
- 4
], - [
- 67,
- -45.8
]
], - "center_latitude": -90,
- "center_longitude": -180,
- "currency": "string",
- "max_simultaneous_rented_vehicle": 1
}
], - "speed_zones": [
- {
- "speed_zone_id": 1,
- "shape": [
- [
- 10,
- 45
], - [
- -2.8,
- 4
], - [
- 67,
- -45.8
]
], - "max_speed": 0
}
]
}
Return clusters, free floating vehicles and virtual parking publicly visible.
lat required | number [ -90 .. 90 ] Latitude of the center of the area of which we want to get map. elements. |
lng required | number [ -180 .. 180 ] Longitude of the center of the area of which we want to get map. elements. |
latDeg required | number >= 0 Number of latitude degree of the area of which we want to get map. elements. |
lngDeg required | number >= 0 Number of longitude degree of the area of which we want to get map. elements. |
network_id | integer >= 1 Network id to filter clusters. |
lang | string = 2 characters Language in which to get the localization, defaults to 'en'. |
app_label required | string The name of the application white label calling the route. |
{- "code": 0,
- "clusters": [
- {
- "cluster_id": 1,
- "latitude": -90,
- "longitude": -180,
- "name": "string",
- "available_vehicles": 0,
- "total_spots": 0,
- "free_spots": 0,
- "cluster_is_down": true,
- "network_id": 1,
- "soon_to_be_available": true,
- "commissioning_date": "2019-08-24T14:15:22Z",
- "exceptional_out_of_order": {
- "exceptional_out_of_order_id": 1,
- "type": "other",
- "reason": "string",
- "custom_reason": "string"
}, - "description": "string"
}
], - "vehicle": [
- {
- "vehicle_id": 1,
- "serial_number": "string",
- "latitude": -90,
- "longitude": -180,
- "connected": true,
- "network_id": 1,
- "battery_level": 100,
- "vehicle_type": "kick-scooter",
- "model_id": 1,
- "model_name": "string",
- "manufacturer": "string"
}
], - "parkings": [
- {
- "virtual_parking_id": 1,
- "cluster_id": 1,
- "network_id": 1,
- "shape": [
- [
- -180
]
]
}
], - "networks": [
- {
- "network_id": 1,
- "name": "string",
- "shape": [
- [
- 10,
- 45
], - [
- -2.8,
- 4
], - [
- 67,
- -45.8
]
], - "center_latitude": -90,
- "center_longitude": -180,
- "currency": "string",
- "max_simultaneous_rented_vehicle": 1
}
], - "speed_zones": [
- {
- "speed_zone_id": 1,
- "shape": [
- [
- 10,
- 45
], - [
- -2.8,
- 4
], - [
- 67,
- -45.8
]
], - "max_speed": 0
}
]
}
Return a list of networks. If lat, lng, latdeg and lngdeg are given this returns the networks in the defined area otherwise this returns all networks.
lat | number [ -90 .. 90 ] Latitude of the center of the area of which we want to get networks. |
lng | number [ -180 .. 180 ] Longitude of the center of the area of which we want to get networks. |
latdeg | number >= 0 Number of latitude degree of the area of which we want to get networks. |
lngdeg | number >= 0 Number of longitude degree of the area of which we want to get networks. |
{- "code": 0,
- "data": [
- {
- "network_id": 1,
- "name": "string",
- "shape": [
- [
- 10,
- 45
], - [
- -2.8,
- 4
], - [
- 67,
- -45.8
]
], - "center_latitude": -90,
- "center_longitude": -180,
- "currency": "string",
- "max_simultaneous_rented_vehicle": 1
}
]
}
Return a list of public networks. If lat, lng, latdeg and lngdeg are given this returns the public networks in the defined area otherwise this returns all public networks.
lat | number [ -90 .. 90 ] Latitude of the center of the area of which we want to get public networks. |
lng | number [ -180 .. 180 ] Longitude of the center of the area of which we want to get public networks. |
latdeg | number >= 0 Number of latitude degree of the area of which we want to get public networks. |
lngdeg | number >= 0 Number of longitude degree of the area of which we want to get public networks. |
app_label required | string The name of the application white label calling the route. |
{- "code": 0,
- "data": [
- {
- "network_id": 1,
- "name": "string",
- "shape": [
- [
- 10,
- 45
], - [
- -2.8,
- 4
], - [
- 67,
- -45.8
]
], - "center_latitude": -90,
- "center_longitude": -180,
- "currency": "string",
- "max_simultaneous_rented_vehicle": 1
}
]
}
Return all networks ordered by distance.
lat required | number [ -90 .. 90 ] Latitude of user's position. |
lng required | number [ -180 .. 180 ] Longitude of user's position. |
lang required | string = 2 characters The lang in which to get the types localized. |
{- "code": 0,
- "data": [
- {
- "network_id": 1,
- "name": "string",
- "shape": [
- [
- 10,
- 45
], - [
- -2.8,
- 4
], - [
- 67,
- -45.8
]
], - "center_latitude": -90,
- "center_longitude": -180,
- "currency": "string",
- "max_simultaneous_rented_vehicle": 1,
- "distance": 0,
- "min_guarantee": 0,
- "max_guarantee": 0,
- "exceptional_out_of_order": {
- "exceptional_out_of_order_id": 1,
- "type": "other",
- "reason": "string",
- "custom_reason": "string"
}
}
]
}
Return some details about the network.
id required | integer >= 1 The network's identifier. |
{- "code": 0,
- "data": {
- "allow_trip_on_hold": true,
- "max_simultaneous_rented_vehicle": 1,
- "trip_too_long": 3600,
- "trip_auto_pause": 604800,
- "trip_max_pause": 604800,
- "trip_auto_lock": 604800
}
}