Knot MaaS API is an implementation of Instant System's APIs. This API allow a MaaS provider to integrate its solution with Knot, allowing to use Knot kick-scooter through others applications. An API Key is required, please contact us to get one.
The following features are implemented:
There is no reservation for the moment. The billing / payment isn't implemented yet, so only a usage for free user (for example when a organization pay the usage for its employee) can be done through this API.
Return past and ongoing user's bookings.
minStartDate | string <date-time> |
maxStartDate | string <date-time> |
state | string Enum: "ONGOING" "PAST" |
{- "bookingInformations": [
- {
- "id": "string",
- "status": "FUTURE",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "startLocation": {
- "lat": 45.18,
- "lon": 5.23
}, - "endLocation": {
- "lat": 45.18,
- "lon": 5.23
}, - "vehicle": {
- "id": "254",
- "name": "ARV005",
- "type": "KICK_SCOOTER"
}, - "actions": [
- {
- "type": "RETURN_VEHICLE"
}
], - "price": {
- "amount": 0,
- "vat": 0,
- "currencyCode": "string"
}
}
]
}
Return the specified user booking.
id required | string Example: 235 Identifier of the booking. |
{- "bookingInformations": {
- "id": "string",
- "status": "FUTURE",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "startLocation": {
- "lat": 45.18,
- "lon": 5.23
}, - "endLocation": {
- "lat": 45.18,
- "lon": 5.23
}, - "vehicle": {
- "id": "254",
- "name": "ARV005",
- "type": "KICK_SCOOTER"
}, - "actions": [
- {
- "type": "RETURN_VEHICLE"
}
], - "price": {
- "amount": 0,
- "vat": 0,
- "currencyCode": "string"
}
}
}
Starts the usage of this mobility service by unlocking the vehicle.
x-maaspro-profile | string Enum: "pro" "personal" |
lat | string User's current latitude. |
lon | string User's current longitude. |
vehicle | string This is the vehicle identifier, which can come from several mechanisms: Raw content of a QrCode read in a kick-scooter, serial name (written on the kick-scooter) typed by the user or the vehicle identifier. |
{- "lat": "string",
- "lon": "string",
- "vehicle": "string"
}
{- "bookingInformations": {
- "id": "string",
- "status": "FUTURE",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "startLocation": {
- "lat": 45.18,
- "lon": 5.23
}, - "endLocation": {
- "lat": 45.18,
- "lon": 5.23
}, - "vehicle": {
- "id": "254",
- "name": "ARV005",
- "type": "KICK_SCOOTER"
}, - "actions": [
- {
- "type": "RETURN_VEHICLE"
}
], - "price": {
- "amount": 0,
- "vat": 0,
- "currencyCode": "string"
}
}
}
Estimate the price of a rent with the specified argument.
required | object Geographical location of the start place. |
required | object Geographical location of the arrival place. |
startDate required | string <date-time> Start date time of the mobility usage (ISO 8601). |
endDate required | string <date-time> End date time of the mobility usage (ISO 8601). |
required | object Vehicle considered for the estimation. |
{- "startLocation": {
- "lat": 45.18,
- "lon": 5.23
}, - "endLocation": {
- "lat": 45.18,
- "lon": 5.23
}, - "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "vehicle": {
- "id": "254"
}
}
{- "price": {
- "EstimatedAmount": 487,
- "minAmount": 487,
- "maxAmount": 587,
- "currencyCode": "string"
}
}
This service provides the real time status of the stations for station-based vehicle fleet.
{- "stationsStatus": [
- {
- "id": "400",
- "numVehiclesAvailable": 12,
- "numVehiclesDisabled": 0,
- "numDocksAvailable": 10,
- "numDocksDisabled": 0,
- "isInstalled": true,
- "isRenting": true,
- "isReturning": true
}
]
}
This service provides the details of a station.
id required | string Example: 235 Identifier of the station. |
{- "stations": {
- "id": "400",
- "name": "Arval siège",
- "location": {
- "lat": 45.18,
- "lon": 5.23
}, - "capacity": 8
}
}
Create a MaaS user. The only way for this user to login is through the MaaS API.
id | string [ 1 .. 128 ] characters An identifier for this user. If not provided one is automatically generated and returned. |
email required | string <email> The email of the user, it should be valid as mails can be send for legal purposes. |
firstName required | string [ 1 .. 50 ] characters First name of the user. |
lastName required | string [ 1 .. 50 ] characters Last name of the user. |
phone | string [ 1 .. 20 ] characters ^\+\d{1,4} ?\d{3,14}$ Phone number of the user, not used for communication but allows to reduce fraud. |
{- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phone": "string"
}
{- "code": 0,
- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phone": "string",
- "accessToken": "string",
- "refreshToken": "string",
- "expiresIn": 0
}
Get a MaaS user.
userId required | string [ 1 .. 128 ] characters Identifier of the user. |
{- "code": 0,
- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phone": "string",
- "accessToken": "string",
- "refreshToken": "string",
- "expiresIn": 0
}
Update a MaaS user info.
userId required | string [ 1 .. 128 ] characters Identifier of the user. |
string <email> The email of the user, it should be valid as mails can be send for legal purposes. | |
firstName | string [ 1 .. 50 ] characters First name of the user. |
lastName | string [ 1 .. 50 ] characters Last name of the user. |
phone | string [ 1 .. 20 ] characters ^\+\d{1,4} ?\d{3,14}$ Phone number of the user, not used for communication but allows to reduce fraud. |
{- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phone": "string"
}
{- "code": 0,
- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phone": "string",
- "accessToken": "string",
- "refreshToken": "string",
- "expiresIn": 0
}
Update a requesting MaaS user info.
string <email> The email of the user, it should be valid as mails can be send for legal purposes. | |
firstName | string [ 1 .. 50 ] characters First name of the user. |
lastName | string [ 1 .. 50 ] characters Last name of the user. |
phone | string [ 1 .. 20 ] characters ^\+\d{1,4} ?\d{3,14}$ Phone number of the user, not used for communication but allows to reduce fraud. |
{- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phone": "string"
}
{- "code": 0,
- "id": "string",
- "email": "user@example.com",
- "firstName": "string",
- "lastName": "string",
- "phone": "string"
}
This service provides the real time list of vehicles (free-floating and station-based).
{- "vehicles": [
- {
- "id": "254",
- "name": "ARV005",
- "type": "KICK_SCOOTER",
- "location": {
- "lat": 45.18,
- "lon": 5.23
}, - "stationId": 0,
- "dockId": 1,
- "status": "DISABLED",
- "engine": {
- "batteryLevel": 95,
- "autonomy": 30
}, - "model": "Ninebot ES2"
}
]
}
This service provides info about a vehicle.
id required | integer >= 1 Identifier of the vehicle. |
{- "vehicles": {
- "id": "254",
- "name": "ARV005",
- "type": "KICK_SCOOTER",
- "location": {
- "lat": 45.18,
- "lon": 5.23
}, - "stationId": 0,
- "dockId": 1,
- "status": "DISABLED",
- "engine": {
- "batteryLevel": 95,
- "autonomy": 30
}, - "model": "Ninebot ES2"
}
}