Mobile application API definition (1.0.0)

Download OpenAPI specification:Download

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

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

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.

Responses

Request samples

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

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": [
    ]
}

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": {
    }
}

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 what3word address. Defaults to english.

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 what3word address. 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 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": [
    ]
}

Request new cluster

Make a request to add a new cluster at the given location.

Authorizations:
Authenticated
Request Body schema: application/json

Info on where the user wants to put a new cluster.

lat
required
number [ -90 .. 90 ]

Latitude part of the location.

lng
required
number [ -180 .. 180 ]

Longitude part of the location.

comment
required
string [ 0 .. 5000 ] characters

A comment explaining why we should put a cluster there.

Responses

Request samples

Content type
application/json
{
  • "lat": 48.5900027,
  • "lng": 7.7531998,
  • "comment": "High density area in need of transportation methods."
}

Response samples

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

Change max unlock distance

Update the max unlock distance for a specific cluster.

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

Info on the cluster to change unlock distance.

cluster_id
required
integer >= 1

Identifier of the cluster.

new_distance
required
integer or null >= 1

New max unlock distance.

Responses

Request samples

Content type
application/json
{
  • "cluster_id": 1,
  • "new_distance": 1
}

Response samples

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

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 what3word address. Defaults to english.

Responses

Response samples

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

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": [
    ]
}

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

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
}

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

Info on the cluster to create.

emails.networkstatus
boolean or null
emails.promotional
boolean or null
rankings.accessdata
boolean or null

Responses

Request samples

Content type
application/json
{
  • "emails.networkstatus": true,
  • "emails.promotional": true,
  • "rankings.accessdata": true
}

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": [
    ]
}

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 availables for offers on the nearest network.

lng
required
number [ -180 .. 180 ]

Longitude of the user to get discounts availables 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

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

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
}

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 change

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

Request Body schema: application/json

Info to authenticate the email change.

email_token
required
string

The mail change token.

email
required
string <email>

The new email address.

Responses

Request samples

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

Response samples

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

Events

Get current event

Return the current event's information, data is undefined when no event are ongoing.

Authorizations:
Authenticated
query Parameters
lat
required
number [ -90 .. 90 ]

Latitude of the user to get the current event in the area.

lng
required
number [ -180 .. 180 ]

Longitude of the user to get the current event in the area.

lang
required
string/^[a-zA-Z]{2}$/

Language in which to translate the event's text.

app_label
string non-empty

The application white label making the request, required if the user is not logged in.

Responses

Response samples

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

Collect an event point

Collect the given current point for the event.

Authorizations:
Authenticated
Request Body schema: application/json

Info about the point to collect.

event_id
required
integer >= 1

The identifier of the event of the point we want to collect.

event_point_id
required
integer >= 1

The identifier of the event point we want to collect.

lat
required
number [ -90 .. 90 ]

Latitude of user's position.

lng
required
number [ -180 .. 180 ]

Longitude of user's position.

Responses

Request samples

Content type
application/json
{
  • "event_id": 1,
  • "event_point_id": 1,
  • "lat": -90,
  • "lng": -180
}

Response samples

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

Get all events

Return all event's identifier and titles.

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

Language in which to translate the event's text.

Responses

Response samples

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

Faq

Get faq

Get the content of the faq.

Responses

Response samples

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

Feedbacks

New feedback

Create a new feedback for a trip.

Authorizations:
Authenticated
Request Body schema: application/json

Feedback data.

trip_id
required
integer >= 1

Identifier of the trip of which we make a feedback of.

app
required
integer [ 1 .. 5 ]

Value given for the usage of the app.

vehicle_usage
required
integer [ 1 .. 5 ]

Value given for the usage of the vehicle.

usage_ease
required
integer [ 1 .. 5 ]

Value given for the usage of the system in general.

comment
string [ 0 .. 5000 ] characters

A comment telling things about the trip.

Responses

Request samples

Content type
application/json
{
  • "trip_id": 1,
  • "app": 1,
  • "vehicle_usage": 1,
  • "usage_ease": 1,
  • "comment": "string"
}

Response samples

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

Cancel feedback

Refuse to give a feedback for a trip.

Authorizations:
Authenticated
query Parameters
trip_id
required
integer >= 1

Identifier of the trip of which we refuse to make a feedback of.

Responses

Response samples

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

New feedback (token)

Create a new trip feedback from a trip token (sent to the user by email).

Request Body schema: application/json

Feedback data.

trip_id
required
integer >= 1

Identifier of the trip of which we make a feedback of.

app
required
integer [ 1 .. 5 ]

Value given for the usage of the app.

vehicle_usage
required
integer [ 1 .. 5 ]

Value given for the usage of the vehicle.

usage_ease
required
integer [ 1 .. 5 ]

Value given for the usage of the system in general.

comment
string [ 0 .. 5000 ] characters

A comment telling things about the trip.

trip_token
required
string

The token containing the trip's identifier and the user's identifier.

Responses

Request samples

Content type
application/json
{
  • "trip_id": 1,
  • "app": 1,
  • "vehicle_usage": 1,
  • "usage_ease": 1,
  • "comment": "string",
  • "trip_token": "string"
}

Response samples

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

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.

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

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

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.

Authorizations:
Authenticated

Responses

Response samples

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

Reset password

Send an email to reset a user's password.

Request Body schema: application/json

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

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": [
    ]
}

Disable 2FA

Disable two factors authentication for the user.

Authorizations:
Authenticated

Responses

Response samples

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

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

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
}

Apple login

Login with an Apple account.

Request Body schema: application/json

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

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

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": [
    ]
}

Logout

Logout

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

Authorizations:
Authenticated
Request Body schema: application/json

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

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.

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",
  • "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

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.

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",
  • "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

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.

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",
  • "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": {
    }
}

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

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

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, current event points 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": [
    ],
  • "event_points": [
    ],
  • "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 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": [
    ]
}

Offers

Get offers

Return all available offers for the nearest network.

Authorizations:
Authenticated
query Parameters
lat
required
number [ -90 .. 90 ]

Latitude of the user.

lng
required
number [ -180 .. 180 ]

Longitude of the user.

Responses

Response samples

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

Get payment methods for offer

Return all available payment methods usable by the user to purchase the given offer.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

Identifier of the offer to purchase.

Responses

Response samples

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

Purchase offer

Purchase an offer with the given payment method.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

Identifier of the offer to purchase.

Request Body schema: application/json

Info about what to use to purchase the offer.

payment_method_id
required
integer >= 1

Identifier of the payment method to use.

user_payment_method_id
integer >= 1

Identifier of the instance of a payment method of the user. Depending on the payment method used this can be required.

discount_id
integer >= 1

Identifier of the discount to use to purchase this offer.

Responses

Request samples

Content type
application/json
{
  • "payment_method_id": 1,
  • "user_payment_method_id": 1,
  • "discount_id": 1
}

Response samples

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

Organizations

Get organization

Return an organization's information.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

Identifier of the organization we want to get.

Responses

Response samples

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

Get organization rules

Return an organization's usage rules.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

Identifier of the organization we want to get the usage rules.

Responses

Response samples

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

Organization pay everything for network.

Get whether or not the organization pay for everything for the given network.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

Identifier of the organization.

network_id
required
integer >= 1

Identifier of the network we want to check.

Responses

Response samples

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

Passes

Get user Passes

Return user Passes that are not used.

Authorizations:
Authenticated

Responses

Response samples

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

Enable a Pass

Activate the specified user Pass.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

Identifier of the user pass to activate.

Responses

Response samples

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

Disable a Pass

Deactivate the specified user Pass. This can only be done if the Pass was activated less than 2 minutes ago and if the Pass was not used at all.

Authorizations:
Authenticated
path Parameters
id
required
integer >= 1

Identifier of the user pass to deactivate.

Responses

Response samples

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

Get buyable Passes

Return all available Passes to be bought for the nearest or the specified network.

Authorizations:
Authenticated
query Parameters
lat
number [ -90 .. 90 ]

Latitude of the user. Required if network_id is omitted, ignored otherwise.

lng
number [ -180 .. 180 ]

Longitude of the user. Required if network_id is omitted, ignored otherwise.

network_id
integer >= 1

A network identifier of which to get available Pass. If omitted, user position is required.

Responses

Response samples

Content type
application/json