Mobile application API definition (1.0.0)

Download OpenAPI specification:Download

AppLabel

Get app download url

Return application store url of the requested app label

query Parameters
app_label
required
string

The name of the application white label calling the route.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Badges

Get user's badges

Return the badges of the user making the request.

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Update name

Update the name of a badge.

Authorizations:
Authenticated
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "badge_id": 1,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "code": 0
}

Delete a badge

Delete/unlink a badge of the user.

Authorizations:
Authenticated
query Parameters
badge_id
required
integer >= 1

The identifier of the badge to delete.

Responses

Response samples

Content type
application/json
{
  • "code": 0
}

BankGuarantees

Get user bank guarantees

Get the list of usable or currently used bank guarantees.

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Create user bank guarantee

Create a new bank guarantee for the user.

Authorizations:
Authenticated
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "vehicle_id": 1,
  • "payment_method_id": 1,
  • "user_payment_method_id": 1,
  • "keep_after_trip": true,
  • "payment_method_parameters": {
    }
}

Response samples

Content type
application/json
Example
{
  • "code": 0
}

Get payment methods for bank guarantee

Return all available payment methods usable by the user to make a bank guarantee for the given vehicle.

Authorizations:
Authenticated
query Parameters
vehicle_id
required
integer >= 1

Identifier of the vehicle to make a bank guarantee for.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ],
  • "providers_setup_info": {
    }
}

Cancel bank guarantee

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.

Authorizations:
Authenticated
path Parameters
id
required
string [ 1 .. 128 ] characters

The identifier of the bank guarantee to cancel.

Responses

Response samples

Content type
application/json
{
  • "code": 0
}

Chats

Get chat channels

Return the list of reports, or chat channels, that the user made.

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get a chat channel

Return a chat channel.

Authorizations:
Authenticated
path Parameters
report_id
required
integer >= 1

The identifier of the report to get.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Upload image

Upload an image into a new chat message.

Authorizations:
Authenticated
path Parameters
report_id
required
integer >= 1

The identifier of the report we want to add the image to.

Request Body schema: multipart/form-data
required

The picture to upload.

chat_image
required
string <binary>

The picture file data.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Clusters

Get clusters

Return clusters accessible by the user on a given area.

Authorizations:
Authenticated
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Create cluster

Create a new cluster.

Authorizations:
(AuthenticatedPermissions)
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "lat": 48.5900027,
  • "lng": 7.7531998,
  • "name": "Knot Headquarters",
  • "network_id": 1
}

Response samples

Content type
application/json
{
  • "code": 0
}

Get closest clusters

Return the 20 closest clusters accessible by logged in users on a given area.

Authorizations:
Authenticated
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get public clusters

Return clusters accessible by anyone on a given area.

query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get cluster by id

Return the details of a cluster.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

The cluster id.

query Parameters
lang
string^[a-z]{2}$

The language (ISO 639-1) to use for the description localization. Defaults to english.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Update cluster name

Update the cluster name.

Authorizations:
(AuthenticatedPermissions)
path Parameters
id
required
integer >= 1

The identifier of the cluster we want to update.

Request Body schema: application/json
required

Info on the cluster to update.

name
string [ 1 .. 50 ] characters

The new name for the cluster.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "code": 0
}

Get cluster spots

Return list of spot of the given cluster.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

The identifier of the cluster.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get cluster vehicles

Return list of vehicle of the given cluster.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

The identifier of the cluster.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Move cluster

Move a cluster to a new location.

Authorizations:
(AuthenticatedPermissions)
path Parameters
id
required
integer >= 1

The identifier of the cluster we want to update.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "lat": 48.5900027,
  • "lng": 7.7531998
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Change max unlock distance

Update the max unlock distance for a specific cluster.

Authorizations:
(AuthenticatedPermissions)
path Parameters
id
required
integer >= 1

The identifier of the cluster we want to update.

Request Body schema: application/json
required

Info on the cluster to change unlock distance.

new_distance
required
integer or null [ 10 .. 1000 ]

New max unlock distance.

Responses

Request samples

Content type
application/json
{
  • "new_distance": 10
}

Response samples

Content type
application/json
{
  • "code": 0
}

Consents

Get user's consents

Return consents given by the user making the request.

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Update consents

Update the user's consents.

Authorizations:
Authenticated
Request Body schema: application/json
required

New consents values.

required
object

Responses

Request samples

Content type
application/json
{
  • "consents": {
    }
}

Response samples

Content type
application/json
{
  • "code": 0
}

Get consents types

Return all consents types.

Authorizations:
Authenticated
query Parameters
lang
required
string^[a-z]{2}$

The language (ISO 639-1) to use translating the consents name.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Update consents from token

Update the user's consents from unsubscribe token.

Request Body schema: application/json
required

New consents values.

required
object
token
required
string or null

Unsubscribe token from newsletter email.

Responses

Request samples

Content type
application/json
{
  • "consents": {
    },
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "code": 0
}

Countries

Get countries

Return all countries name, iso code and phone prefixes.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get country

Return a country from the given position.

query Parameters
lat
required
number [ -90 .. 90 ]

Latitude of where to search the country.

lng
required
number [ -180 .. 180 ]

Longitude of where to search the country.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Get country from ip

Return a country from the request ip.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Discounts

Get discounts

Return discounts used by the user.

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get shop discount

Return discounts usable by the user for the shop.

Authorizations:
Authenticated
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Use discount

Use a discount code.

Authorizations:
Authenticated
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "lat": -90,
  • "lng": -180,
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Emails

Request email change

Send an email containing a confirmation link to change the user's email address to a new one.

Authorizations:
Authenticated
Request Body schema: application/json
required

New email.

email
required
string <email>

The new email address to send a confirmation email to.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "code": 0
}

Check email change

Check email change token and retrieve email change data.

query Parameters
token
required
string

The token given in the email change link.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Confirm email change

Change the user's email by the new specified one.

Request Body schema: application/json
required

Info to authenticate the email change.

email_token
required
string = 10 characters

The mail change token.

email
required
string <email>

The new email address.

Responses

Request samples

Content type
application/json
{
  • "email_token": "stringstri",
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "code": 0
}

Send confirmation email

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).

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0
}

Confirm email

Confirm the email of the user using the validation token.

Request Body schema: application/json
required

Info to authenticate the email conformation.

token
required
string = 10 characters

The mail change token.

Responses

Request samples

Content type
application/json
{
  • "token": "stringstri"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "android_store_url": "string",
  • "ios_store_url": "string",
  • "label_name": "string",
  • "email": "user@example.com"
}

Faq

Get faq

Get the content of the faq.

query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

GlobalAnnouncement

Get global announcement

Get the ongoing global announcement in the language requested if available.

query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Login

Login

Log in a user with it's Knot account.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "stringst",
  • "scope": "app",
  • "device": {
    },
  • "app_label": "string"
}

Response samples

Content type
application/json
Example
{
  • "code": 0,
  • "token": "string",
  • "refresh_token": "string",
  • "user_id": 1,
  • "permissions": [
    ]
}

Check token

Check the validity of a token and return the user's permissions.

Authorizations:
Authenticated
Request Body schema: application/json
required

Information on the device used to login.

object (LoginDevice)

Device being used to connect.

Responses

Request samples

Content type
application/json
{
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "permissions": [
    ]
}

Refresh token

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.

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "access_token": "string",
  • "refresh_token": null
}

Apple login

Login with an Apple account.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "scope": "app",
  • "device": {
    },
  • "app_label": "string",
  • "lang": "string"
}

Response samples

Content type
application/json
Example
{
  • "code": 0,
  • "token": "string",
  • "refresh_token": "string",
  • "user_id": 1,
  • "permissions": [
    ]
}

Facebook login

Login with a Facebook account.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "scope": "app",
  • "device": {
    },
  • "app_label": "string",
  • "lang": "string"
}

Response samples

Content type
application/json
Example
{
  • "code": 0,
  • "token": "string",
  • "refresh_token": "string",
  • "user_id": 1,
  • "permissions": [
    ]
}

Google login

Login with a google account.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "scope": "app",
  • "device": {
    },
  • "app_label": "string",
  • "lang": "string"
}

Response samples

Content type
application/json
Example
{
  • "code": 0,
  • "token": "string",
  • "refresh_token": "string",
  • "user_id": 1,
  • "permissions": [
    ]
}

Reset password

Send an email to reset a user's password.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "app_label": "string"
}

Response samples

Content type
application/json
{
  • "code": 0
}

2FA Login

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.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "mfa_token": "string",
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "token": "string",
  • "refresh_token": "string",
  • "user_id": 1,
  • "permissions": [
    ]
}

Begin 2FA Setup

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.

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "key": "KVKGQ32EK5BEKNTUNRTESTDSOU",
  • "key_url": "otpauth://totp/Knot%3AArlo_Stehr50%40yahoo.com?secret=KVKGQ32EK5BEKNTUNRTESTDSOU",
  • "token": "string"
}

End 2FA Setup

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.

Authorizations:
Authenticated
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "mfa_token": "string"
}

Response samples

Content type
application/json
{
  • "code": 0
}

Disable 2FA

Disable two factors authentication for the user.

Authorizations:
Authenticated

Responses

Response samples

Content type
application/json
{
  • "code": 0
}

Logout

Logout

Logout from a device or all device if is are specified.

Authorizations:
Authenticated
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "device_id": "string"
}

Response samples

Content type
application/json
{
  • "code": 0
}

Maintenances

Get maintenances types

Returns all available maintenance types.

Authorizations:
(AuthenticatedPermissions)
query Parameters
lang
required
string = 2 characters

The lang in which to get the types localized.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get maintenances of spot

Returns all the ongoing maintenances of a spot.

Authorizations:
(AuthenticatedPermissions)
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Add spot maintenance

Create a new maintenance for a spot.

Authorizations:
(AuthenticatedPermissions)
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "maintenance_type": "string",
  • "comment": "string",
  • "severity": "info",
  • "report_id": 0,
  • "spot_id": 0
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Get maintenances history of spot

Returns all the resolved maintenances of a spot.

Authorizations:
(AuthenticatedPermissions)
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get maintenances of vehicle

Returns all the ongoing maintenances of a vehicle.

Authorizations:
(AuthenticatedPermissions)
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Add vehicle maintenance

Create a new maintenance for a vehicle.

Authorizations:
(AuthenticatedPermissions)
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "maintenance_type": "string",
  • "comment": "string",
  • "severity": "info",
  • "report_id": 0,
  • "vehicle_id": 1,
  • "serial_number": "string"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Get maintenances history of vehicle

Returns all the resolved maintenances of a vehicle.

Authorizations:
(AuthenticatedPermissions)
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get maintenances of station

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.

Authorizations:
(AuthenticatedPermissions)
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Add station maintenance

Create a new maintenance for a station.

Authorizations:
(AuthenticatedPermissions)
Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "maintenance_type": "string",
  • "comment": "string",
  • "severity": "info",
  • "report_id": 0,
  • "station_id": 0
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Get maintenances history of station

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.

Authorizations:
(AuthenticatedPermissions)
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get maintenances overview of cluster

Returns the list of spot of the cluster with the a count of all maintenances on them.

Authorizations:
(AuthenticatedPermissions)
query Parameters
cluster_id
required
integer >= 1

The identifier of the cluster we want to get the overview of.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Get count maintenances of clusters

Returns the list of clusters given with the maintenance count for each cluster.

Authorizations:
(AuthenticatedPermissions)
query Parameters
clusters
required
Array of integers[ items >= 1 ]
Examples:
  • clusters=5 - With one cluster id.
  • clusters=1,5,7 - With multiple cluster id.

Identifier of clusters of which to get the maintenance count.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Update maintenance

Update of the comment and severity of a maintenance.

Authorizations:
(AuthenticatedPermissions)
path Parameters
id
required
integer >= 1

The identifier of the maintenance we want to update.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "comment": "string",
  • "severity": "info"
}

Response samples

Content type
application/json
{
  • "code": 0
}

End or delete maintenance

Mark a maintenance as resolved or delete it.

Authorizations:
(AuthenticatedPermissions)
path Parameters
id
required
integer >= 1

The identifier of the maintenance we want to mark as resolved.

query Parameters
delete_from_history
boolean

When true, delete the maintenance from the history, otherwise it is marked as solved.

Responses

Response samples

Content type
application/json
{
  • "code": 0
}

Link picture to maintenance

Upload a picture and link it to a maintenance.

Authorizations:
(AuthenticatedPermissions)
path Parameters
id
required
integer >= 1

The identifier of the maintenance we want to attach an image to.

Request Body schema: multipart/form-data
required

The picture to upload.

maintenance_picture
required
string <binary>

The picture file data.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Map

Get map elements

Return clusters, free floating vehicles, user's rents and passes and virtual parking.

Authorizations:
Authenticated
query Parameters
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'.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "clusters": [
    ],
  • "vehicles": [
    ],
  • "parkings": [
    ],
  • "rents": [
    ],
  • "passes": [
    ],
  • "networks": [
    ],
  • "speed_zones": [
    ]
}

Get public map elements

Return clusters, free floating vehicles and virtual parking publicly visible.

Authorizations:
Authenticated
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "clusters": [
    ],
  • "vehicle": [
    ],
  • "parkings": [
    ],
  • "networks": [
    ],
  • "speed_zones": [
    ]
}

Networks

Get networks

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.

Authorizations:
Authenticated
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get public networks

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.

query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get nearest networks

Return all networks ordered by distance.

Authorizations:
Authenticated
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [
    ]
}

Get details

Return some details about the network.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

The network's identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": {
    }
}

Get network pricing

Return pricing (price by minute of rent, price to unlock and to free float lock) of the specified network.

path Parameters
id
required
integer >= 1

The network's identifier.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "data": [