Download OpenAPI specification:
API documentation for ATOM Mobility services
First step of the authentication flow. This endpoint initiates the phone verification process. If successful, it will return a phone_token that must be used in the next step. An SMS verification code will be sent to the provided phone number.
Depending on the account configuration, this endpoint may require a captcha to be solved before an SMS is sent. This protects against SMS-pumping / OTP abuse. It is controlled by a single per-account switch, off by default, that applies to API clients only:
Implement the flow below regardless, so enabling the switch does not break your integration.
When a captcha is required, the endpoint responds with HTTP 400 and a body carrying action: "CAPTCHA", a base64-encoded PNG (captcha_img_base64) and a captcha_token - instead of sending an SMS. To continue:
captcha_img_base64 (prefix it with data:image/png;base64,) and have the user read the characters.captcha (the solved text) and captcha_token (echoed from the challenge response).An incorrect answer returns HTTP 400 again with action: "CAPTCHA", a message of captcha.invalid and a fresh image + token (retry). A correct answer proceeds as normal and returns the phone_token (200).
| phone_prefix required | string <= 3 characters Phone prefix. Example: "371" for Latvia |
| phone required | string <= 32 characters Phone number without prefix. Example: "21234567" |
| flow required | string Login or register flow. Possible values: "LOGIN", "REGISTER" |
boolean or null Default: null Skip IP address check. Example: true. Works with secret key only. | |
boolean or null Default: null Skip one time password. Works with secret key only. | |
boolean or null Default: null Skip document verification flow, if it is enabled. Works with secret key only. | |
string or null Default: null Solved captcha text. Send it together with "captcha_token" from a previous response whose action was "CAPTCHA" to complete a captcha challenge. | |
string or null Default: null Captcha token returned in a previous "CAPTCHA" response. |
{- "phone_prefix": "str",
- "phone": "string",
- "flow": "string",
- "skip_ip_address_check": null,
- "skip_otp": null,
- "skip_document_verification_check": null,
- "captcha": null,
- "captcha_token": null
}{- "phone_token": "string",
- "left_seconds": 0,
- "phone": "string",
- "action": null,
- "captcha_img_base64": null,
- "captcha_token": null
}Second step of the authentication flow. This endpoint verifies the SMS code sent to the phone number. It requires the phone_token from the previous step and the 6-digit verification code received via SMS. Upon successful verification, it returns a new phone_token that must be used for login or registration.
| code | string = 6 characters Default: null Verification code. 6 digits. Example: "123456" |
| phone_token required | string Phone token from the previous request |
boolean or null Default: null Skip IP address check. Example: true. Works with secret key only. |
{- "code": null,
- "phone_token": "string",
- "skip_ip_address_check": null
}{- "phone_token": "string"
}Final step for new user registration. This endpoint requires the phone_token from the verification check step to confirm phone ownership. Upon successful registration, it returns an authentication token that must be used for all subsequent authorized API calls.
| name required | string <= 128 characters Customer name. Example: "John Doe" |
| email required | string <= 128 characters Customer email. Example: "john.doe@example.com" |
DeviceOSEnum (string) or null Default: null Device OS. Only WEB is supported for OpenAPI. Example: "WEB" | |
| phone_token required | string Phone token from the previous request |
boolean or null Default: null Agree to marketing. Example: true |
{- "name": "string",
- "email": "string",
- "device_os": null,
- "phone_token": "string",
- "agree_marketing": null
}{- "token": "string",
- "user_id": 0,
- "is_new_user": true
}Final step for existing user login. This endpoint requires the phone_token from the verification check step to confirm phone ownership. Upon successful login, it returns an authentication token that must be used for all subsequent authorized API calls.
| phone_token required | string Phone token from the previous request |
{- "phone_token": "string"
}{- "token": "string",
- "phone_token": "string",
- "user_id": 0
}Retrieves user information. Can be accessed in two ways:
integer or null Default: null User ID. Works with secret key only. |
{- "user_id": null
}{- "user_id": 0,
- "user_name": "string",
- "user_email": "string",
- "user_phone_prefix": "string",
- "user_phone": "string",
- "user_balance": 0,
- "user_bonus": 0,
- "user_debt": 0,
- "user_language": "string",
- "currency_code": "string"
}Retrieves list of user bookings. Can be accessed in two ways:
integer or null Default: null User ID. Works with secret key only. | |
| booking_status required | string Booking status. Must be one of: UPCOMING, ENDED, ACTIVE, ALL |
{- "user_id": null,
- "booking_status": "string"
}{- "bookings": [
- {
- "booking_id": 0,
- "start_time": "string",
- "end_time": "string",
- "status": "string",
- "price": 0,
- "currency": "string",
- "vehicle_id": 0,
- "vehicle_nr": "string",
- "vehicle_model_id": 0,
- "vehicle_model": "string",
- "pricing_packages": [
- "string"
]
}
]
}Retrieves user payment methods. Can be accessed in two ways:
integer or null Default: null User ID. Works with secret key only. | |
| flow required | string SHARING, TAXI or RENTAL flow |
{- "user_id": null,
- "flow": "string"
}{- "payment_methods": [
- {
- "id": 0,
- "title": "string",
- "payment_provider": "string",
- "is_editable": true
}
]
}Sets the payment method the user pays with in the given flow. Can be accessed in two ways:
status is 0 when nothing changed, for example when the payment method already is the default. selected_payment_method always shows the actual default.
integer or null Default: null User ID. Works with secret key only. | |
| payment_method_id required | string Payment method ID, as returned by get-user-payment-methods |
| flow required | string (PaymentMethodFlowEnum) Enum: "SHARING" "TAXI" "RENTAL" |
{- "user_id": null,
- "payment_method_id": "string",
- "flow": "SHARING"
}{- "status": 0,
- "message": null,
- "selected_payment_method": null
}Deletes a saved payment method. Can be accessed in two ways:
Not possible while the user has debt or an active ride. If the deleted payment method was the default, the next saved one becomes the default.
integer or null Default: null User ID. Works with secret key only. | |
| payment_method_id required | string Payment method ID, as returned by get-user-payment-methods |
| flow required | string (PaymentMethodFlowEnum) Enum: "SHARING" "TAXI" "RENTAL" |
{- "user_id": null,
- "payment_method_id": "string",
- "flow": "SHARING"
}{- "status": 0,
- "message": null,
- "selected_payment_method": null
}Creates a new user account for registration forms where SMS verification is not integrated. This endpoint only requires App-Public-Key header, no user authentication needed. Note: This is an alternative registration method that bypasses the phone verification flow.
| email required | string <= 128 characters New user email |
| first_name required | string <= 128 characters New user first name |
| last_name required | string <= 128 characters New user last name |
| phone_prefix required | string <= 3 characters New user phone prefix |
| phone required | string <= 32 characters New user phone |
{- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "phone_prefix": "str",
- "phone": "string"
}{- "message": "string"
}Available only with secret key
| amount required | number Amount of money to add. Example 1.00 |
| money_type required | string (MoneyTypeEnum) Enum: "BONUS" "BALANCE" |
integer or null Default: null User ID. Works with secret key only. |
{- "amount": 0,
- "money_type": "BONUS",
- "user_id": null
}{- "message": "string"
}Available only with secret key. Charges the user's saved payment method and adds the amount to the user wallet, where it covers the user debt first. Without payment_method_id the default payment method is charged, and if the account allows it, the user's other saved payment methods are tried when that charge fails.
integer or null Default: null User ID. Works with secret key only. | |
| amount required | number > 0 Amount to charge. Example 1.00 |
string or null Default: null Payment method ID to charge, as returned by get-user-payment-methods. If omitted, the default payment method is charged |
{- "user_id": null,
- "amount": 0,
- "payment_method_id": null
}{- "message": "string",
- "amount_added": null
}Secret key deletion is hard deletion, user token is soft deletion, meaning that user will be deleted in X days
integer or null Default: null User ID. Works with secret key only. |
{- "user_id": null
}{- "status": 0,
- "message": null
}integer or null Default: null User ID. Works with secret key only. |
{- "user_id": null
}{- "token": "string"
}First step of the booking flow. This endpoint returns a list of available rental zones. Each zone includes an ID and title that will be used in subsequent API calls. Only requires App-Public-Key header, no user authentication needed.
{- "available_zones": [
- {
- "zone_id": 0,
- "zone_title": "string",
- "area": null,
- "timezone": null,
- "timezone_offset": null
}
]
}Second step of the booking flow. This endpoint returns available vehicle models for the specified timeframe. Requires pick_up_zone_id and return_zone_id from the zones list (they must match as only A-A rentals are currently supported). Only requires App-Public-Key header, no user authentication needed.
| pick_up_zone_id required | integer Zone ID from available zones, must match the return_zone_id. |
| return_zone_id required | integer Zone ID from available zones, must match the pick_up_zone_id. |
| pick_up_date required | string Pick up date, ISO8601 format, 2025-03-19T15:00:00 |
| return_date required | string Return date, ISO8601 format, 2025-03-19T15:00:00 |
| show_exact_match | boolean Default: false Return vehicle models only for selected timeframe. |
{- "pick_up_zone_id": 0,
- "return_zone_id": 0,
- "pick_up_date": "string",
- "return_date": "string",
- "show_exact_match": false
}{- "vehicle_models": [
- {
- "id": 0,
- "name": "string",
- "pricing": "string",
- "price": "string",
- "price_unformatted": null,
- "extras": null,
- "image_url": "string",
- "type": "string",
- "has_pricing_packages": null,
- "fuel_type": null,
- "damage_report_enabled": null,
- "addon_ids": null,
- "map_icons": null,
- "pick_up_location": null,
- "return_location": null,
- "dates": null,
- "card_layout": null
}
]
}Third step of the booking flow. This endpoint creates a new booking for the selected vehicle. Requires both App-Public-Key and Authorization token headers. The request must include pick_up_zone_id and return_zone_id from the zones list, and vehicle_model_id from the available vehicles list.
| pick_up_zone_id required | integer Zone ID from available zones, must match the return_zone_id. |
| return_zone_id required | integer Zone ID from available zones, must match the pick_up_zone_id. |
| pick_up_date required | string Pick up date, ISO8601 format, 2025-03-19T15:00:00 |
| return_date required | string Return date, ISO8601 format, 2025-03-19T15:00:00 |
string or null Default: null Overwrite this method ID every time for each flow separately, later you will send this payment method ID in request sharing ride, request taxi, make booking API | |
integer or null Default: null ID of booking model. Required if vehicle_id is empty. | |
Array of integers or null Default: null List of addons IDs | |
integer or null Default: null Pricing package ID | |
integer or null Default: null Not used for OpenAPI. Fleet ID. | |
integer or null Default: null Vehicle ID, required if vehicle_model_id is empty. | |
boolean or null Default: null Payment card required. By default, system default are used. Works with secret key only. | |
boolean or null Default: null Skips wallet check. By default, if user is in debt, creating booking is forbidden. Works with secret key only. | |
boolean or null Default: null Allow user to go in debt. Works with secret key only. | |
integer or null Default: null User ID. Works with secret key only. |
{- "pick_up_zone_id": 0,
- "return_zone_id": 0,
- "pick_up_date": "string",
- "return_date": "string",
- "payment_method_id": null,
- "vehicle_model_id": null,
- "addon_ids": null,
- "pricing_package_id": null,
- "fleet_id": null,
- "vehicle_id": null,
- "allow_to_create_booking_without_saved_card": null,
- "skip_wallet_check": null,
- "allow_user_to_go_in_debt": null,
- "user_id": null
}{- "rental": {
- "id": 0,
- "pick_up_date": "string",
- "return_date": "string",
- "pick_up_zone_id": 0,
- "return_zone_id": 0,
- "vehicle_id": 0,
- "vehicle_number": "string",
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "status": "UPCOMING",
- "pick_up_zone_title": null,
- "return_zone_title": null,
- "opening_hours": null,
- "vehicle_model": {
- "id": 0,
- "name": "string",
- "pricing": "string",
- "price": "string",
- "extras": null,
- "image_url": "string",
- "type": "string",
- "has_pricing_packages": null,
- "fuel_type": null,
- "damage_report_enabled": null,
- "addon_ids": null,
- "map_icons": null,
- "pick_up_location": null,
- "return_location": null,
- "dates": null
}, - "rental_max_extension_date": null,
- "damage_report_enabled": null,
- "special_price": null
}, - "vehicle": {
- "id": 0,
- "name": null,
- "battery_level": null,
- "battery_info": null,
- "battery_mode": null,
- "price_info": null,
- "image_url": null,
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "ride_info": null,
- "nr": null,
- "manual_unlock": null,
- "manual_locker_code": null,
- "type": null,
- "map_icons": null,
- "allow_pause": null,
- "is_paused": null,
- "fuel_type": null,
- "addon_ids": null,
- "model_id": 0,
- "dock_station_configuration_id": null,
- "dock_station_id": null,
- "special_price": null,
- "decreased_price": null,
- "increased_price": null,
- "is_active_ride": null,
- "park_info": null,
- "ride_seconds": null,
- "left_reservation_seconds": null,
- "pause_info": null,
- "active_addons": null,
- "show_ring_action": null,
- "ring_action_enabled": null,
- "pricing_package_id": null
}
}This endpoint allows cancellation of an existing booking. Requires both App-Public-Key and Authorization token headers. The booking_id can be obtained from the user bookings list retrieved via user/get-user-bookings endpoint.
| booking_id required | integer ID of the booking |
integer or null Default: null User ID. Works with secret key only. |
{- "booking_id": 0,
- "user_id": null
}{- "message": "string"
}Retrieves sharing zones as a list. Each zone has one of two shapes:
zone_area is a GeoJSON Polygon whose points are [longitude, latitude]; zone_point and zone_radius are null.zone_type = park_place_zone) - zone_point is the center as {"longitude": ..., "latitude": ...} and zone_radius is the radius in meters; zone_area is null.zone_type in the response is lowercase: parking_zone, no_parking_zone, paid_parking_zone, bonus_zone, speed_limit_zone, no_go_zone or park_place_zone. The zone_types filter takes the uppercase values listed in the request schema. Circular station zones have no filter value, so they are returned only when zone_types is not sent.
integer or null Default: null Ride ID | |
integer or null Default: null Vehicle ID | |
Array of strings or null Default: null Vehicle types | |
Array of ZoneTypes (strings) or null Default: null Zone types to return. When not sent, all zones are returned, including circular station zones |
{- "ride_id": null,
- "vehicle_id": null,
- "vehicle_types": null,
- "zone_types": null
}[- {
- "zone_id": 0,
- "zone_type": "string",
- "zone_title": "string",
- "zone_color": "string",
- "zone_area": null,
- "zone_point": null,
- "zone_radius": null,
- "zone_vehicle_types": [
- "string"
]
}
]Retrieves parking stations, in the same shape the app receives them.
A station with a zone is a circular parking zone carrying its capacity and working time; a station whose zone is null is only a map pin. Unlike get-zones, which returns stations only as zones, this endpoint returns both kinds.
To search a map area, use either h3_index or latitude + longitude + radius_in_km - passing both is rejected, and passing neither returns every station.
Available only with a secret key - this is fleet data of the whole account, not data of the acting user.
Array of strings or null Default: null H3 cell indexes covering the map area to search, as the map sends them. A station is returned when it sits inside any of the cells. Example: "8928308280fffff". At most 10 cells per request - for a larger area use latitude + longitude + radius_in_km. Use EITHER h3_index OR latitude + longitude + radius_in_km to give the map area, never both at once. Leave all of them out to get every station. | |
number or null Default: null Latitude of the point to search around. Example 12.345678. latitude, longitude and radius_in_km are used together - either all three or none of them. Use EITHER h3_index OR latitude + longitude + radius_in_km to give the map area, never both at once. Leave all of them out to get every station. | |
number or null Default: null Longitude of the point to search around. Example 12.345678. latitude, longitude and radius_in_km are used together - either all three or none of them. Use EITHER h3_index OR latitude + longitude + radius_in_km to give the map area, never both at once. Leave all of them out to get every station. | |
integer or null Default: null Radius in km around the given point. latitude, longitude and radius_in_km are used together - either all three or none of them. Use EITHER h3_index OR latitude + longitude + radius_in_km to give the map area, never both at once. Leave all of them out to get every station. | |
Array of VehicleTypeEnum (strings) or null Default: null Return only stations that accept at least one of these vehicle types. | |
integer or null Default: null Return only stations of this subaccount (fleet). Without it, only stations of public (non private) fleets are returned, the same way the app sees them. |
{- "h3_index": null,
- "latitude": null,
- "longitude": null,
- "radius_in_km": null,
- "vehicle_types": null,
- "subaccount_id": null
}{- "zone_color": null,
- "park_stations": [
- {
- "id": 0,
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "zone": null
}
]
}Retrieves charging stations (dock stations), in the same shape and with the same slot counts the app map receives them.
available_slots is how many vehicles can still be docked, total_slots also counts the docked vehicles that are ready to ride. Slots that are switched off are not counted, and a station no vehicle model is assigned to is not returned.
Available only with a secret key - this is fleet data of the whole account, not data of the acting user.
number or null Default: null Latitude of the point to search around. Example 12.345678. latitude, longitude and radius_in_km are used together - either all three or none of them. | |
number or null Default: null Longitude of the point to search around. Example 12.345678. latitude, longitude and radius_in_km are used together - either all three or none of them. | |
integer or null Default: null Radius in km around the given point. latitude, longitude and radius_in_km are used together - either all three or none of them. | |
integer or null Default: null Return only charging stations of this subaccount (fleet). Without it, only stations of public (non private) fleets are returned, the same way the app sees them. |
{- "latitude": null,
- "longitude": null,
- "radius_in_km": null,
- "subaccount_id": null
}{- "charging_stations": [
- {
- "id": 0,
- "total_slots": 0,
- "available_slots": 0,
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "dock_station_configuration_id": "string",
- "title": "string",
- "types": [
- "SCOOTER"
]
}
]
}Retrieves vehicles information.
| user_longitude required | number User longitude. Example 12.345678. |
| user_latitude required | number User latitude. Example 12.345678. |
| radius_in_km required | integer Radius in which to show vehicles around user location. |
integer or null Default: null User ID. Works with secret key only. |
{- "user_longitude": 0,
- "user_latitude": 0,
- "radius_in_km": 0,
- "user_id": null
}{- "vehicles": null,
- "fleets": null,
- "addons": null,
- "zone_update_timestamp": null,
- "dock_stations": null,
- "types": null,
- "hidden_vehicles": null,
- "selected_payment_method": null,
- "available_damage_report_vehicle_types": null,
- "vehicle_models_with_pricing_packages": null,
- "active_vehicle_ids": null,
- "message_title": null,
- "message_description": null,
- "night_mode": null,
- "user_location_outdated": false
}Starts a ride. Use either vehicle ID or number.
integer or null Default: null Vehicle ID from get-vehicles response | |
string or null Default: null Vehicle number from get-vehicles response | |
| user_longitude required | number User longitude. Example 12.345678 |
| user_latitude required | number User latitude. Example 12.345678 |
Array of integers or null Default: null If in get-vehicles response, "vehicles" object had "addons" list, then they can be passed in here.Example: [1, 2, 3] | |
string or null Default: null Use "payment_method_id" from "selected_payment_method" object from get-vehicles response | |
integer or null Default: null User ID. Works with secret key only. | |
boolean or null Default: false Skip wallet check. Works with secret key only. | |
boolean or null Default: false Skip save card check. Works with secret key only. | |
boolean or null Default: false Skip auto top-up. Works with secret key only. | |
boolean or null Default: false Skip auto stop. Works with secret key only. |
{- "vehicle_id": null,
- "vehicle_number": null,
- "user_longitude": 0,
- "user_latitude": 0,
- "addon_ids": null,
- "payment_method_id": null,
- "user_id": null,
- "skip_wallet_check": false,
- "skip_save_card_check": false,
- "skip_auto_topup": false,
- "skip_auto_stop": false
}{- "active_ride_id": 0,
- "manual_locker_code": "string",
- "vehicle": {
- "id": 0,
- "nr": null,
- "battery_level": null,
- "model_id": 0,
- "is_active_ride": null,
- "show_ring_action": null,
- "battery_info": null,
- "image_url": null,
- "type": null,
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "ride_info": null,
- "price_info": null,
- "old_price": null,
- "pause_info": null,
- "old_pause_info": null,
- "allow_pause": null,
- "card_layout": null,
- "fuel_type": null,
- "special_price": null,
- "reservation_minutes": null,
- "manual_unlock": null,
- "battery_mode": null,
- "map_icons": null,
- "available_addon_ids": null,
- "park_info": null,
- "ride_seconds": null,
- "active_addon_ids": null
}, - "addons": [
- {
- "id": 0,
- "title": "string",
- "description": "string",
- "price_info": "string",
- "addon_enabled_by_default": false
}
], - "max_allowed_vehicles_per_user": 0
}Ends a ride. Use either vehicle ID or number.
integer or null Default: null Vehicle ID | |
string or null Default: null Vehicle number | |
| user_longitude required | number User longitude |
| user_latitude required | number User latitude |
| user_location_timestamp required | integer User location timestamp |
Array of strings or null Default: null Send all images using the same name, backend will append all images in 1 list automatically | |
integer or null Default: null User ID. Works with secret key only. | |
integer or null Default: null Active ride ID. |
{- "total_paid": "string",
- "payment_info": null,
- "active_ride_id": 0
}Retrieves the current ride. Available only for active rides.If passed vehicle ID is not in active ride, then will return empty arrays.
| active_vehicle_id required | Array of integers Active vehicle ID. |
integer or null Default: null User ID. Works with secret key only. |
{- "active_vehicle_id": [
- 0
], - "user_id": null
}{- "addons": [
- {
- "id": 0,
- "title": "string",
- "description": "string",
- "price_info": "string",
- "addon_enabled_by_default": false
}
], - "vehicles": [
- {
- "id": 0,
- "name": null,
- "ride_id": null,
- "battery_level": null,
- "battery_info": null,
- "battery_mode": "MEDIUM",
- "price_info": null,
- "old_price": null,
- "image_url": null,
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "ride_info": null,
- "nr": null,
- "manual_unlock": null,
- "manual_locker_code": null,
- "reservation_minutes": null,
- "type": null,
- "map_icons": null,
- "allow_pause": false,
- "pause_info": null,
- "old_pause_info": null,
- "is_paused": false,
- "card_layout": "SIMPLE",
- "fuel_type": "ELECTRIC",
- "addons": null,
- "model_id": 0,
- "dock_station_configuration_id": null,
- "dock_station_id": null,
- "special_price": null,
- "decreased_price": null,
- "increased_price": null,
- "is_active_ride": false,
- "park_info": null,
- "ride_seconds": null,
- "left_reservation_seconds": null,
- "active_addons": null,
- "show_ring_action": null,
- "ring_action_enabled": null,
- "pricing_package_id": null,
- "current_total_price_formatted": null,
- "vin_number": null
}
], - "max_allowed_vehicles_per_user": 0,
- "action_insufficient_funds": null,
- "insufficient_funds_amount": null,
- "payment_method_flow": null
}Retrieves vehicle pricing. Use either vehicle_id or model_id.
integer or null Default: null Vehicle ID. | |
integer or null Default: null Model ID. | |
integer or null Default: null User ID. Works with secret key only. |
{- "vehicle_id": null,
- "model_id": null,
- "user_id": null
}{- "pricing": null,
- "pricing_data": null,
- "additional_info": null,
- "pricing_packages": null,
- "subscription_subaccount_id": null,
- "subscription_available": null,
- "subscription_applied": null,
- "special_price": null,
- "decreased_price": null,
- "increased_price": null
}During active ride pause vehicle. Use either vehicle ID or number.
integer or null Default: null Vehicle ID | |
string or null Default: null Vehicle number | |
integer or null Default: null User ID. Works with secret key only. |
{- "vehicle_id": null,
- "vehicle_number": null,
- "user_id": null
}{- "status": 0,
- "message": null
}During active ride unpause vehicle. Use either vehicle ID or number.
integer or null Default: null Vehicle ID | |
string or null Default: null Vehicle number | |
integer or null Default: null User ID. Works with secret key only. |
{- "vehicle_id": null,
- "vehicle_number": null,
- "user_id": null
}{- "status": 0,
- "message": null
}| vehicle_id required | integer Vehicle ID |
| user_longitude required | number User longitude |
| user_latitude required | number User latitude |
integer or null Default: null User ID. Works with secret key only. |
{- "vehicle_id": 0,
- "user_longitude": 0,
- "user_latitude": 0,
- "user_id": null
}{- "status": 0,
- "message": null,
- "ring_action_enabled": null
}integer or null Default: null User ID. Works with secret key only. |
{- "user_id": null
}{- "user_id": 0,
- "active_ride_ids": [
- 0
]
}| vehicle_ids required | Array of integers Vehicle IDs to which send command |
| command required | string IoT command |
string or null Default: null If value is required, then it must be send in this field |
{- "vehicle_ids": [
- 0
], - "command": "string",
- "value": null
}{- "message": "string"
}List the account subscription plans. By default only active plans are returned; the status and vehicle_types filters are available with secret key authentication.
integer or null Default: null User ID. Works with secret key only. | |
SubscriptionStatusFilterEnum (string) or null Default: null Filter plans by status: ALL, ACTIVE or INACTIVE. Defaults to ACTIVE when omitted. Works with secret key only. | |
Array of VehicleTypeEnum (strings) or null Default: null Filter plans by vehicle types. Plans with no vehicle types assigned are always included. Omit to return plans for all vehicle types. Works with secret key only. |
{- "user_id": null,
- "status": null,
- "vehicle_types": null
}{- "subscriptions": [
- {
- "id": 0,
- "title": "string",
- "description": null,
- "price": 0,
- "amount": 0,
- "currency_code": "string",
- "valid_days": 0,
- "vehicle_types": [
- "string"
], - "is_active": true,
- "auto_renewal": true
}
]
}Return a user's past and current subscriptions, newest first. Without a secret key the logged-in user only sees their own history; with a secret key any user_id can be requested.
integer or null Default: null User ID. Works with secret key only. |
{- "user_id": null
}{- "history": [
- {
- "id": 0,
- "subscription_id": 0,
- "title": "string",
- "valid_from": null,
- "valid_to": null,
- "is_active": true,
- "charged_balance": 0,
- "charged_bonus": 0,
- "price": 0,
- "currency_code": "string"
}
]
}Purchase and activate a subscription plan for the resolved user. The skip_* and allow_to_buy_if_subscription_is_not_active flags are available with secret key authentication.
| subscription_id required | integer ID of the subscription plan to purchase |
integer or null Default: null User ID. Works with secret key only. | |
string or null Default: null Payment method ID to charge. Ignored when skip_charge_user_wallet is true. | |
boolean or null Default: null Allow purchasing a plan that is not active in the customer app (bypasses the plan is_active check). Hidden plans remain non-purchasable regardless of this flag. Works with secret key only. | |
boolean or null Default: null Skip all charging (wallet and card) and only activate the subscription. Use when payment was already collected on an external marketplace. Works with secret key only. | |
boolean or null Default: null Do not schedule auto-renewal for this purchase, even for renewable plans. The subscription stays active until it expires and is not renewed automatically. Works with secret key only. | |
boolean or null Default: null Do not send a subscription invoice for this purchase. Use when invoicing is handled outside ATOM (e.g. by an external marketplace). Works with secret key only. |
{- "subscription_id": 0,
- "user_id": null,
- "payment_method_id": null,
- "allow_to_buy_if_subscription_is_not_active": null,
- "skip_charge_user_wallet": null,
- "skip_auto_renewal": null,
- "skip_send_invoice": null
}{- "status": 0,
- "message": null,
- "action": null,
- "amount": null
}Autocomplete for text based address search
| address required | string Location address |
{- "address": "string"
}{- "items": [
- {
- "title": "string",
- "subtitle": "string",
- "longitude": 0,
- "latitude": 0,
- "token": "string"
}
]
}Determine place based on location
| longitude required | number Location longitude |
| latitude required | number Location latitude |
{- "longitude": 0,
- "latitude": 0
}{- "title": "string",
- "subtitle": "string",
- "token": "string"
}Get drivers
| waypoints required | Array of strings Tokens from suggestion API |
| is_cash_payment required | boolean Whether taxi ride will be paid for with cash |
string or null Default: null Scheduled date. Example: 2025-07-17 | |
string or null Default: null Scheduled time. Example: 14:45 | |
| show_driver_list | boolean Default: false Return driver list to allocate particular driver for ride |
| show_offline_classes | boolean Default: false DEPRECATED. If true, shows offline classes, price, token, used together with allow_scheduled_rides=true |
| allow_scheduled_rides | boolean Default: false If set to false, will return only available driver vehicle classes |
{- "waypoints": [
- "string"
], - "is_cash_payment": true,
- "scheduled_date": null,
- "scheduled_time": null,
- "show_driver_list": false,
- "show_offline_classes": false,
- "allow_scheduled_rides": false
}{- "classes": null,
- "max_comment_length": 0,
- "waypoints": [
- [
- 0
]
], - "drivers": null,
- "selected_payment_method_info": "string"
}Request ride
| token required | string Driver token |
string or null Default: null If it is a scheduled ride, scheduled date, 2025-07-24. | |
string or null Default: null If it is a scheduled ride, scheduled time, 12:00. | |
string or null Default: "" User payment method ID. | |
string or null Default: null User comment for driver. | |
integer or null Default: null If need to allocate ride for particular driver. | |
integer or null Default: null User ID. Works with secret key only. |
{- "token": "string",
- "scheduled_date": null,
- "scheduled_time": null,
- "payment_method_id": "",
- "comment": null,
- "driver_id": null,
- "user_id": null
}{- "ride_id": 0,
- "scheduled_ride": null
}Get taxi ride
integer or null Default: null Ride ID. | |
boolean or null Default: null Include all points of the route. | |
integer or null Default: null User ID. Works with secret key only. |
{- "ride_id": null,
- "route_waypoints_required": null,
- "user_id": null
}{- "ride": null,
- "next_request_seconds": null,
- "scheduled_ride_info": null
}Rate taxi ride
| ride_id required | integer Ride ID |
string or null Default: null Ride comment | |
| rating required | integer [ 1 .. 5 ] Ride rating |
integer or null Default: null User ID. Works with secret key only. |
{- "ride_id": 0,
- "comment": null,
- "rating": 1,
- "user_id": null
}{- "status": 0,
- "message": null
}Get scheduled taxi rides
integer or null Default: null User ID. Works with secret key only. |
{- "user_id": null
}{- "scheduled_rides": null,
- "scheduled_ride_info": null
}Cancel scheduled taxi ride
| ride_id required | integer Ride ID. |
integer or null Default: null User ID. Works with secret key only. |
{- "ride_id": 0,
- "user_id": null
}{- "status": 0,
- "scheduled_ride_info": null
}Get paginated list of taxi rides. Available only with secret key authentication.
| page | integer >= 1 Default: 1 Page number, starting from 1. |
| page_length | integer [ 1 .. 100 ] Default: 20 Number of items per page. |
string or null Default: null Search by ride ID, user name, email, phone, or driver plate number. | |
| status required | string Filter by ride status. Available values: RIDE_REQUESTED, SCHEDULED_RIDE, RIDE_ACCEPTED, DRIVER_ARRIVED, RIDE_STARTED, RIDE_ENDED, RIDE_CANCELED. |
string or null Default: null Filter rides from this date (inclusive). Format: YYYY-MM-DD. | |
string or null Default: null Filter rides up to this date (inclusive). Format: YYYY-MM-DD. |
{- "page": 1,
- "page_length": 20,
- "search": null,
- "status": "string",
- "date_from": null,
- "date_to": null
}{- "has_next_page": true,
- "record_count": 0,
- "data": [
- {
- "ride_id": 0,
- "status": "string",
- "start_date": null,
- "end_date": null,
- "user": null,
- "driver": null,
- "total_price": null,
- "currency_total_price": null,
- "currency_code": null,
- "distance_meters": null
}
]
}Get paginated list of taxi customers. Available only with secret key authentication.
| page | integer >= 1 Default: 1 Page number, starting from 1. |
| page_length | integer [ 1 .. 100 ] Default: 20 Number of items per page. |
string or null Default: null Search by name, surname, email, or phone number. |
{- "page": 1,
- "page_length": 20,
- "search": null
}{- "has_next_page": true,
- "record_count": 0,
- "data": [
- {
- "user_id": 0,
- "name": "string",
- "surname": null,
- "email": "string",
- "phone_prefix": null,
- "phone": null,
- "balance": 0,
- "bonus": 0,
- "debt": 0,
- "is_blacklisted": true
}
]
}Get paginated list of taxi drivers. Available only with secret key authentication.
| page | integer >= 1 Default: 1 Page number, starting from 1. |
| page_length | integer [ 1 .. 100 ] Default: 20 Number of items per page. |
string or null Default: null Search by name, surname, email, phone, or vehicle plate number. | |
string or null Default: null Filter by driver status. Available values: ONLINE, OFFLINE, NO_CONNECTION. |
{- "page": 1,
- "page_length": 20,
- "search": null,
- "status": null
}{- "has_next_page": true,
- "record_count": 0,
- "data": [
- {
- "driver_id": 0,
- "name": "string",
- "surname": "string",
- "email": "string",
- "phone": null,
- "vehicle_nr": "string",
- "vehicle_model": "string",
- "status": "string",
- "is_blocked": true
}
]
}Get the subaccounts the logged in employee is allowed to use. Endpoints whose data belongs to one subaccount return the data of the selected one - the one with "selected" set to true - so start here, and reach another subaccount either per request with the "SubAccount" header (listed on the endpoints that take it) or for good with "Change subaccount". Endpoints whose data belongs to the whole account, customers for one, return the same data whichever subaccount is selected.
{- "data": [
- {
- "id": 0,
- "title": "string",
- "selected": true
}
]
}Select the subaccount the following dashboard requests are served from. The selection is stored on the employee, not on the token, so it also applies to that employee in the dashboard itself and stays in place until it is changed again. To read one subaccount without moving that selection - from a script that walks several of them, say - send the "SubAccount" header on the request instead.
| subaccount_id required | integer Subaccount to switch to, taken from the allowed subaccounts list. Use 0 to switch to the "Global" view, which is only allowed for an account admin. |
{- "subaccount_id": 0
}{- "message": "string",
- "subaccount_id": 0
}Get rides info
| SubAccount | integer Serve this single request from another subaccount, leaving the selected one as it is. Takes an ID of a subaccount you are allowed to use, 0 for the "Global" view. Leave it out to use the selected subaccount. |
| ride_status required | string Enum: "ACTIVE" "ENDED" "IN_REVIEW" Status of rides to fetch |
| page_length | integer [ 0 .. 100 ] Default: 50 How many records to show in page |
string or null Default: null Search query | |
DateRange (object) or null Default: null Date range query | |
Distance (object) or null Default: null Distance query | |
Duration (object) or null Default: null Duration query | |
Array of integers or null Default: null List of vehicle model IDs | |
| export | boolean Default: false If set to true, will return in export format |
Feedback (object) or null Default: null Feedback query | |
string or null Default: null Comments query | |
| parking_quality | Array of strings Default: null Parking quality query |
string or null Default: null Used for pagination |
{- "ride_status": "ACTIVE",
- "page_length": 50,
- "search": null,
- "date_range": null,
- "distance": null,
- "duration": null,
- "models": null,
- "export": false,
- "feedback": null,
- "comments": null,
- "parking_quality": null,
- "page_bookmark": null
}{- "bookmark_next": "string",
- "bookmark_previous": "string",
- "has_next_page": true,
- "has_previous_page": true,
- "data": [
- {
- "id": 0,
- "start_time": "string",
- "end_time": "string",
- "vehicle_number": "string",
- "vehicle_id": 0,
- "image": "string",
- "kilometers": "string",
- "time": "string",
- "price": "string",
- "charged_balance": "string",
- "charged_bonus": "string",
- "feedback": "string",
- "comment": "string",
- "end_location": null,
- "user_end_location": {
- "latitude": 0,
- "longitude": 0
}, - "user_id": 0,
- "user_name": "string",
- "phone": "string",
- "email": "string",
- "history_start_date": null,
- "history_end_date": null,
- "refund": true,
- "paid_with_subscription": "string",
- "addons": "string",
- "vehicle_model_id": null,
- "special_price_discount_in_percent": 0,
- "parking_quality": "string",
- "parking_quality_code": null,
- "business_account": "string",
- "dynamic_pricing": "string",
- "pricing_package": "string",
- "fuel_level_start": null,
- "fuel_level_end": null,
- "fuel_usage": null,
- "battery_fuel_percentage_start": "-",
- "battery_fuel_percentage_end": "-"
}
]
}Get paginated list of subscription plans, filtered by status and vehicle types.
| filter required | string (SubscriptionListStatus) Enum: "ALL" "ACTIVE" "INACTIVE" |
integer or null Default: null How many records to show per page. | |
integer or null Default: null Page number. | |
string or null Default: null Search by subscription title or ID. | |
Array of strings or null Default: null Filter by vehicle types. Send ["ALL"] or omit for all vehicle types. Plans with no vehicle types assigned are always included. |
{- "filter": "ALL",
- "page_length": null,
- "page": null,
- "search": null,
- "vehicle_types": null
}{- "data": [
- {
- "id": 0,
- "valid_days": null,
- "is_active": true,
- "title": "string",
- "price": 0,
- "price_formatted": "string",
- "unlocks": 0,
- "ride_minutes": 0,
- "pause_minutes": 0,
- "ride_distance": 0,
- "ride_fuel": 0,
- "active_from": null,
- "disable_fields": true,
- "subaccount_ids": [
- 0
], - "subaccounts_enabled": true,
- "vehicle_types": [
- "string"
], - "vehicle_types_enabled": true,
- "order_nr": null,
- "is_subscription_renewable": true,
- "subscription_type": "string",
- "limit": "string"
}
], - "has_next_page": true,
- "record_count": 0,
- "next_order_number": 0,
- "subaccounts_enabled": true,
- "vehicle_types_enabled": true,
- "currency_code": "string"
}Get paginated purchase history of user subscriptions within a date range.
required | object (SubscriptionHistoryDateRange) |
Array of SubscriptionHistoryStatus (strings) or null Default: null Status filter. Combination of ALL, ACTIVE, EXPIRED. | |
Array of integers or null Default: null Filter by subscription plan IDs. Send [0] or omit for all plans. | |
string or null Default: null Search by user name, phone, email, ID or plan title. | |
integer or null Default: null How many records to show per page. | |
boolean or null Default: null If true, returns rows in export format. | |
integer or null Default: null Page number. | |
string or null Default: null Bookmark used for export pagination. | |
string or null Default: null Bookmark for the next page. | |
string or null Default: null Bookmark for the previous page. | |
integer or null Default: null Page number the next bookmark points to. |
{- "date_range": {
- "from": "string",
- "to": "string"
}, - "status": null,
- "subscription_ids": null,
- "search": null,
- "page_length": null,
- "export": null,
- "page": null,
- "page_bookmark": null,
- "bookmark_next": null,
- "bookmark_previous": null,
- "bookmark_next_page": null
}{- "data": [
- {
- "id": 0,
- "valid_from": "string",
- "valid_till": "string",
- "canceled_by": "string",
- "subscription": "string",
- "total_price": "string",
- "user_id": 0,
- "user_name": "string",
- "user_email": "string",
- "user_phone": "string",
- "allow_cancel": true
}
], - "bookmark_next": "string",
- "bookmark_next_page": 0,
- "bookmark_previous": "string",
- "has_next_page": true
}Get user info
Array of UsersStatusFilter (strings) or null Default: null Customer status, if not used, ALL will be used as default | |
Array of BaseSlider (objects) or null Default: null Sliders for filtering | |
DateRange365Days (object) or null Default: null Date range | |
string or null Default: null Search | |
boolean or null Default: null If true, response will be in export format. | |
string or null Default: null Used for bookmark | |
integer or null Default: 50 Page length. Default page length 50. |
{- "filter": null,
- "sliders": null,
- "date_range": null,
- "search": null,
- "export": null,
- "bookmark_next": null,
- "page_length": 50
}{- "bookmark_next": "string",
- "bookmark_previous": "string",
- "has_next_page": true,
- "has_previous_page": true,
- "data": [
- {
- "id": 0,
- "name": "string",
- "email": "string",
- "phone": "string",
- "date": "string",
- "document": "string",
- "document_addition": [
- "string"
], - "document_number": "string",
- "saved_card": "string",
- "wallet": 0,
- "debt": 0,
- "rides": 0,
- "avg_feedback": "string",
- "blocked": true
}
]
}Block or unblock a customer. A blocked customer cannot start new rides. A customer with an ongoing ride or booking cannot be blocked - end the ride first.
| user_id required | integer Customer ID |
| status required | boolean Set to true to block the customer, false to unblock |
{- "user_id": 0,
- "status": true
}{- "message": "string",
- "blocked": true
}Get a paginated list of customers that are not verified yet, oldest registration first. Meant for accounts that review customer documents manually. A customer that has not uploaded a document yet is also in the list, with "documents" set to null.
integer or null Default: 50 Page length. Default page length 50. | |
string or null Default: null Bookmark of the page to fetch, taken from "bookmark_next" of the previous response. |
{- "bookmark_next": "string",
- "bookmark_previous": "string",
- "has_next_page": true,
- "has_previous_page": true,
- "data": [
- {
- "id": 0,
- "name": "string",
- "reg_date": "string",
- "email": "string",
- "phone": "string",
- "documents": null
}
]
}Approve or decline a customer that is waiting for manual document verification. APPROVE marks the customer as verified, stores the document number and sends the customer a push notification. DECLINE sends the customer a push notification, deletes the uploaded document and deletes the customer profile - this cannot be undone.
| choice required | string Enum: "APPROVE" "DECLINE" APPROVE to verify the customer, DECLINE to reject the customer. DECLINE deletes the customer profile together with the uploaded document. |
| user_id required | integer Customer ID |
string or null Default: null Document number, max 32 characters. Required when choice is APPROVE, ignored when choice is DECLINE. Must not be already used by another customer. |
{- "choice": "APPROVE",
- "user_id": 0,
- "personal_id": null
}{- "status": 0,
- "message": "string"
}Get vehicles info. The same filters serve three response modes, which differ in how they paginate:
map_view nor export set) - paginate with page and page_length, and keep requesting the next page while has_next_page is true. The documented response below describes this mode.map_view: true) - not paginated, page and page_length are ignored; every matching vehicle is returned as a lightweight marker.export: true) - offset-paginated by page alone, at a fixed page size of 2000; page_length is ignored. Advance by incrementing page while the response bookmark_next is non-empty (it carries the next page number). The request field bookmark_next is not a cursor and is never used for positioning - it only tells the server this is not the first page, so that headers and file_name are not repeated.| SubAccount | integer Serve this single request from another subaccount, leaving the selected one as it is. Takes an ID of a subaccount you are allowed to use, 0 for the "Global" view. Leave it out to use the selected subaccount. |
integer or null Default: 50 Number of vehicles per page. Applies to the list response only - the export response always uses a fixed page size of 2000 and the map response is never paginated. | |
Array of VehicleStatusFilters (strings) or null Default: null Vehicle status, if not used, ALL will be used as default | |
integer or null Default: 1 Page number, 1-based, offset pagination. Used together with | |
string or null Default: null Search options | |
boolean or null Default: null Return the lightweight, unpaginated map response (marker coordinates and icons for every matching vehicle) instead of the paginated list. | |
Array of integers or null Default: null Vehicle model select | |
Array of BaseSlider (objects) or null Default: null Sliders for filtering | |
Array of strings or null Default: null IoT model | |
Array of TasksAndDamagesFilter (strings) or null Default: null Tasks and damages filter | |
boolean or null Default: null Return the export response (rows for a spreadsheet) instead of the paginated list. Paginate it with | |
string or null Default: null Not a pagination cursor - only its presence is checked, never its value. Leave it empty on the first export request to receive | |
Array of strings or null Default: null Lock status list |
{- "page_length": 50,
- "filter": null,
- "page": 1,
- "search": null,
- "map_view": null,
- "models": null,
- "sliders": null,
- "iot_models": null,
- "tasks_and_damages": null,
- "export": null,
- "bookmark_next": null,
- "lock_statuses": null
}{- "has_next_page": true,
- "record_count": 0,
- "data": [
- {
- "id": 0,
- "vehicle_number": "string",
- "vehicle_battery": 0,
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "lock": null,
- "iot": null,
- "total_rides": 0,
- "status": "string",
- "last_park_photo": null,
- "last_park_date": null,
- "qr": null,
- "vin_number": null
}
]
}Get vehicle info
| vehicle_id required | integer Vehicle ID. |
{- "id": 0,
- "vehicle_number": "string",
- "vehicle_battery": 0,
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "lock": null,
- "iot": null,
- "total_rides": 0,
- "status": "string",
- "last_park_photo": null,
- "last_park_date": null,
- "qr": null,
- "vin_number": null,
- "ignition": "string",
- "error_code": null,
- "mode": "string",
- "remaining_range": "string",
- "total_milage": "string",
- "first_ride": "string",
- "last_ride": "string",
- "last_ride_id": 0,
- "vehicle_model_id": 0,
- "vehicle_odometer": "string",
- "battery_mode": "string",
- "helmet_available": null,
- "cable_lock_status": null,
- "windows_status": null,
- "backcase_status": null,
- "vehicle_model": "string",
- "lock_status": null,
- "firmware_version": null,
- "sparkpark_mac_id": null
}Create vehicle note
| vehicle_id required | integer Vehicle ID. |
| notes required | string Notes (max length 384). |
{- "vehicle_id": 0,
- "notes": "string"
}{- "data": {
- "id": 0,
- "date": "string",
- "author": "string",
- "message": "string"
}
}Get tasks info
| SubAccount | integer Serve this single request from another subaccount, leaving the selected one as it is. Takes an ID of a subaccount you are allowed to use, 0 for the "Global" view. Leave it out to use the selected subaccount. |
integer or null Default: 50 Page length. | |
string or null Default: null Used for pagination. | |
string or null Default: null Search options. | |
DateRange365Days (object) or null Default: null Date range. | |
Array of TaskStageOptionEnum (strings) or null Default: ["ALL"] Stages of tasks to fetch. | |
(Array of integers or "ALL" (string)) or null Default: ["ALL"] Task type ids to fetch. ALL - to fetch all task types. | |
Array of TaskPriorityOptionEnum (strings) or null Default: ["ALL"] Priorities of tasks to fetch. | |
Array of VehicleStatusEnum (strings) or null Default: ["ALL"] Vehicle statuses of tasks to fetch. | |
Array of integers or null Default: [0] Vehicle model ids of tasks to fetch. | |
| export | boolean Default: false If true, response will be in export format. |
string or null Default: null Used for bookmark | |
integer or null Default: null Used for export |
{- "page_length": 50,
- "page_bookmark": null,
- "search": null,
- "date_range": null,
- "task_stages": [
- "ALL"
], - "task_types": [
- "ALL"
], - "task_priorities": [
- "ALL"
], - "vehicle_statuses": [
- "ALL"
], - "vehicle_model_ids": [
- 0
], - "export": false,
- "bookmark_next": null,
- "page": null
}{- "bookmark_next": "string",
- "bookmark_previous": "string",
- "has_next_page": true,
- "has_previous_page": true,
- "data": [
- {
- "id": 0,
- "date": "string",
- "type": "string",
- "priority": "string",
- "stage": "string",
- "start_date": "string",
- "end_date": "string",
- "vehicle_nr": "string",
- "vehicle_id": 0,
- "imei": "string",
- "status": "string",
- "created_by": "string",
- "marked_as_done_date": "string",
- "marked_as_done_by": "string",
- "iot_id": null,
- "iot_custom_id": null
}
]
}Create task
| type_id required | integer Task type ID. |
| vehicle_id required | integer Vehicle ID. |
| priority required | string Priority of the task. Possible values: LOW, MEDIUM, HIGH. |
| start_date required | string Task start date (format: YYYY-MM-DD). |
| start_time required | string Task start time (format: HH:MM). |
string or null Default: null Task end date (format: YYYY-MM-DD). | |
string or null Default: null Task end time (format: HH:MM). | |
string or null Default: null Task description. |
{- "type_id": 0,
- "vehicle_id": 0,
- "priority": "string",
- "start_date": "string",
- "start_time": "string",
- "end_date": null,
- "end_time": null,
- "description": null
}{- "data": {
- "id": 0,
- "date": "string",
- "type": "string",
- "priority": "string",
- "stage": "string",
- "start_date": "string",
- "end_date": "string",
- "vehicle_nr": "string",
- "vehicle_id": 0,
- "imei": "string",
- "status": "string",
- "created_by": "string",
- "marked_as_done_date": "string",
- "marked_as_done_by": "string",
- "iot_id": null,
- "iot_custom_id": null
}
}Update task
| entity_id required | integer Task ID. |
| action required | string Action to perform. Possible values: DELETE, DONE. |
{- "entity_id": 0,
- "action": "string"
}{- "message": "string"
}Get task types info
integer or null Default: 50 Page length. | |
string or null Default: null Used for pagination. |
{- "page_length": 50,
- "page_bookmark": null
}{- "bookmark_next": "string",
- "bookmark_previous": "string",
- "has_next_page": true,
- "has_previous_page": true,
- "next_order_number": 0,
- "data": [
- {
- "id": 0,
- "title": "string",
- "step_nr": 0
}
]
}Create task type
| title required | string Task type title. |
| step_nr required | integer Task type step number. |
{- "title": "string",
- "step_nr": 0
}{- "data": {
- "id": 0,
- "title": "string",
- "step_nr": 0
}
}Update task type
| entity_id required | integer Task type ID. |
| title required | string Task type title. |
| step_nr required | integer Task type step number. |
{- "entity_id": 0,
- "title": "string",
- "step_nr": 0
}{- "data": {
- "id": 0,
- "title": "string",
- "step_nr": 0
}
}Change one or multiple vehicle status
| SubAccount | integer Serve this single request from another subaccount, leaving the selected one as it is. Takes an ID of a subaccount you are allowed to use, 0 for the "Global" view. Leave it out to use the selected subaccount. |
| status required | string Enum: "READY" "NOT_READY" "DISCHARGED" "STOLEN" "NEED_INVESTIGATION" "NEED_SERVICE" "CHARGING" "TRANSPORTATION" "STORAGE" "DEPRECATED" Status of vehicle |
| vehicle_ids required | Array of integers Vehicle IDs list. One or many IDs can be sent. |
{- "status": "READY",
- "vehicle_ids": [
- 0
]
}{- "status": "string",
- "message": "string"
}Get the rebalancing zones, newest first, with the number of vehicles of each type that should be placed in them.
With export: true the zones come back as rows for a file export instead, 3000 per page - pass the response bookmark_next as page_bookmark while it is non-empty. The documented response below describes the default mode.
string or null Default: null Search zones by ID. Several IDs can be separated by spaces. | |
number or null Default: null Latitude of the point to search around. Example 12.345678. latitude, longitude and radius_in_km are used together - either all three or none of them. | |
number or null Default: null Longitude of the point to search around. Example 12.345678. latitude, longitude and radius_in_km are used together - either all three or none of them. | |
integer or null Default: null Radius in km around the given point. latitude, longitude and radius_in_km are used together - either all three or none of them. | |
boolean or null Default: false Export rebalancing zones | |
string or null Default: null Page bookmark for multipage rebalancing zone export |
{- "search": null,
- "latitude": null,
- "longitude": null,
- "radius_in_km": null,
- "export": false,
- "page_bookmark": null
}{- "zones": [
- {
- "id": 0,
- "subaccount_id": 0,
- "title": "string",
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "radius": 0,
- "vehicle_type": null,
- "count": null,
- "vehicle_type_and_count": null,
- "notes": null,
- "image": null,
- "image_name": null
}
], - "subaccounts": [
- {
- "id": 0,
- "title": "string"
}
], - "vehicle_types": [
- {
- "key": "SCOOTER",
- "title": "string"
}
]
}Get paginated list of damage reports, filtered by date range, vehicle status and stage.
| SubAccount | integer Serve this single request from another subaccount, leaving the selected one as it is. Takes an ID of a subaccount you are allowed to use, 0 for the "Global" view. Leave it out to use the selected subaccount. |
integer or null Default: 50 Page length. | |
string or null Default: null Used for pagination. | |
string or null Default: null Search by vehicle ID, vehicle number, IMEI, user ID or report ID. | |
DateRange365Days (object) or null Default: null Date range (required). | |
Array of DamageReportVehicleStatusEnum (strings) or null Default: ["ALL"] Vehicle statuses to filter by. | |
Array of DamageReportStageOptionEnum (strings) or null Default: ["ALL"] Damage report stages to filter by. | |
| export | boolean Default: false If true, response will be in export format. |
string or null Default: null Used for bookmark. | |
integer or null Default: null Used for export. |
{- "page_length": 50,
- "page_bookmark": null,
- "search": null,
- "date_range": null,
- "status": [
- "ALL"
], - "stage": [
- "ALL"
], - "export": false,
- "bookmark_next": null,
- "page": null
}{- "bookmark_next": "string",
- "bookmark_previous": "string",
- "has_next_page": true,
- "has_previous_page": true,
- "data": [
- {
- "id": 0,
- "date": "string",
- "tag_id": 0,
- "issue": "string",
- "description": null,
- "stage": "string",
- "vehicle_id": 0,
- "vehicle_nr": "string",
- "iot_id": null,
- "imei": "string",
- "iot_custom_id": null,
- "status": "string",
- "created_by": null,
- "created_by_user": true,
- "approved_by": "string",
- "approved_date": "string",
- "marked_as_done_by": "string",
- "marked_as_done_date": "string"
}
]
}Create a damage report for a vehicle.
| SubAccount | integer Serve this single request from another subaccount, leaving the selected one as it is. Takes an ID of a subaccount you are allowed to use, 0 for the "Global" view. Leave it out to use the selected subaccount. |
| vehicle_id required | integer Vehicle ID. |
| issue_id required | integer Damage tag ID. |
string or null Default: null Damage report description (max 300 characters). |
{- "vehicle_id": 0,
- "issue_id": 0,
- "description": null
}{- "message": "string"
}Approve, mark as done or delete a damage report (action: APPROVE, DONE, DELETE).
| entity_id required | integer Damage report ID. |
| action required | string Action to perform. Possible values: APPROVE, DONE, DELETE. |
{- "entity_id": 0,
- "action": "string"
}{- "message": "string"
}Create a damage tag.
| step_nr required | integer Tag order/step number. |
Array of VehicleTypeEnum (strings) or null Default: null Vehicle types the tag applies to. | |
object or null Default: null Tag titles per language code (e.g. {"EN": "Broken light"}). Empty or null values clear that language. |
{- "step_nr": 0,
- "vehicle_types": null,
- "localizations": null
}{- "message": "string"
}Get the values the vehicle model select fields take in this account - subaccounts, map icon sets, short tutorials, add-ons, dynamic pricings, pricing packages, reaction tests, customer forms, Captur locations, document verifications and charging station models - along with the fields the account settings turn off, the currency of prices and the unit of length. Send the id of an option.
{- "data": {
- "currency_code": "string",
- "unit_of_length": "string",
- "current_subaccount_id": null,
- "disabled_fields": [
- "string"
], - "subaccounts": [
- {
- "id": 0,
- "title": "string",
- "currency_code": "string"
}
], - "vehicle_types": [
- {
- "id": 0,
- "title": "string"
}
], - "icon_sets": [
- {
- "id": 0,
- "title": "string"
}
], - "short_tutorials": [
- {
- "id": 0,
- "title": "string"
}
], - "addons": [
- {
- "id": 0,
- "title": "string"
}
], - "max_addons": 0,
- "dynamic_pricings": [
- {
- "id": 0,
- "title": "string"
}
], - "pricing_packages": [
- {
- "id": 0,
- "title": "string"
}
], - "reaction_tests": [
- {
- "id": 0,
- "title": "string"
}
], - "customer_forms": [
- {
- "id": 0,
- "title": "string"
}
], - "captur_locations": [
- {
- "id": 0,
- "title": "string"
}
], - "document_verifications": [
- {
- "id": 0,
- "title": "string"
}
], - "dock_station_configurations": [
- {
- "id": 0,
- "title": "string"
}
]
}
}Get the vehicle models, newest first.
string or null Default: null Search by name keywords or vehicle model ID. | |
integer or null Default: null Only vehicle models of this subaccount. Ignored when the dashboard is switched to a single subaccount. |
{- "data": [
- {
- "id": 0,
- "name": "string",
- "image_url": null,
- "subaccount_id": 0,
- "vehicle_type": "string"
}
]
}Create a vehicle model. The request mirrors the vehicle model form of the dashboard, section by section.
disabled_fields lists them: they can only be sent with their default value and are left out of responses.currency_code and are converted to the vehicle model subaccount currency when saved.general_info.base64_image, in the same JSON request.required | object (VehicleModelGeneralInfo) |
required | object (VehicleModelPricingAndAddons) |
required | object (VehicleModelBatteryAndFuelSettings) |
VehicleModelRules (object) or null Default: null Rules, null - all off. | |
VehicleModelChargingStations (object) or null Default: null Charging stations, null - none. |
{- "general_info": {
- "name": "string",
- "base64_image": null,
- "subaccount_id": 0,
- "vehicle_type": "SCOOTER",
- "icon_set_id": null,
- "short_tutorial_id": 0
}, - "pricing_and_addons": {
- "start_price": 1000000000,
- "time_pricing": null,
- "km_price": null,
- "fuel_price": null,
- "pause_price": null,
- "charge_regular_time_during_pause": false,
- "min_price": null,
- "max_per_day": null,
- "special_price_enabled": false,
- "special_price_hours_limit": null,
- "special_price_map_icon_set_id": null,
- "special_price_discount_in_percent": null,
- "addon_ids": null,
- "dynamic_pricings": null,
- "pricing_packages": null,
- "hold_amount": null
}, - "battery_and_fuel_settings": {
- "distance": 1000000000,
- "default_speed": null,
- "min_voltage": null,
- "max_voltage": null,
- "fuel_level": null,
- "low_battery_auto_stop": null
}, - "rules": null,
- "charging_stations": null
}{- "message": "string",
- "data": {
- "currency_code": "string",
- "unit_of_length": "string",
- "general_info": {
- "id": 0,
- "name": "string",
- "image_url": null,
- "subaccount_id": 0,
- "vehicle_type": "string",
- "icon_set_id": null,
- "short_tutorial_id": null
}, - "pricing_and_addons": {
- "start_price": null,
- "time_pricing": {
- "minutes": null,
- "hours": null,
- "days": null
}, - "km_price": null,
- "fuel_price": null,
- "pause_price": null,
- "charge_regular_time_during_pause": true,
- "min_price": null,
- "max_per_day": null,
- "special_price_enabled": null,
- "special_price_hours_limit": null,
- "special_price_map_icon_set_id": null,
- "special_price_discount_in_percent": null,
- "addon_ids": [
- 0
], - "dynamic_pricings": [
- 0
], - "pricing_packages": null,
- "hold_amount": null
}, - "battery_and_fuel_settings": {
- "distance": 0,
- "default_speed": null,
- "min_voltage": null,
- "max_voltage": null,
- "fuel_level": null,
- "low_battery_auto_stop": null
}, - "rules": {
- "parking_proof": 0,
- "reaction_test_id": null,
- "pre_ride_questionnaire_form_id": null,
- "captur_location_name": null,
- "is_document_verification_mandatory": null,
- "verifications": null,
- "check_csdd_for_drivers_licence": null,
- "is_helmet_required": null,
- "is_helmet_required_on_pause": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_cable_lock": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_cable_lock": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_doors": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_doors": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_windows": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_windows": null,
- "dont_allow_to_end_ride_with_vehicle_keyfob_out": null,
- "dont_allow_to_pause_ride_with_vehicle_keyfob_out": null,
- "dont_allow_to_end_ride_with_vehicle_central_stand_up": null,
- "dont_allow_to_pause_ride_with_vehicle_central_stand_up": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle": null,
- "dont_allow_to_end_ride_with_turned_on_ignition": null,
- "dont_allow_to_pause_with_turned_on_ignition": null,
- "is_backcase_closed": null,
- "is_backcase_closed_on_pause": null,
- "is_saddle_closed": null,
- "is_saddle_closed_on_pause": null,
- "auto_end_ride_enabled": null
}, - "charging_stations": {
- "dock_station_configuration_id": null,
- "vehicle_operation_model": null,
- "automatically_end_ride_on_dock_station_park": true
}
}
}Update a vehicle model. All fields are overwritten, so send the full vehicle model - start from Get vehicle model. Fields left out are cleared or turned off, except general_info.base64_image, which keeps the current image. The subaccount cannot be changed while vehicles use the vehicle model.
The request mirrors the vehicle model form of the dashboard, section by section.
disabled_fields lists them: they can only be sent with their default value and are left out of responses.currency_code and are converted to the vehicle model subaccount currency when saved.general_info.base64_image, in the same JSON request.required | object (VehicleModelGeneralInfo) |
required | object (VehicleModelPricingAndAddons) |
required | object (VehicleModelBatteryAndFuelSettings) |
VehicleModelRules (object) or null Default: null Rules, null - all off. | |
VehicleModelChargingStations (object) or null Default: null Charging stations, null - none. | |
| entity_id required | integer Vehicle model ID. |
{- "general_info": {
- "name": "string",
- "base64_image": null,
- "subaccount_id": 0,
- "vehicle_type": "SCOOTER",
- "icon_set_id": null,
- "short_tutorial_id": 0
}, - "pricing_and_addons": {
- "start_price": 1000000000,
- "time_pricing": null,
- "km_price": null,
- "fuel_price": null,
- "pause_price": null,
- "charge_regular_time_during_pause": false,
- "min_price": null,
- "max_per_day": null,
- "special_price_enabled": false,
- "special_price_hours_limit": null,
- "special_price_map_icon_set_id": null,
- "special_price_discount_in_percent": null,
- "addon_ids": null,
- "dynamic_pricings": null,
- "pricing_packages": null,
- "hold_amount": null
}, - "battery_and_fuel_settings": {
- "distance": 1000000000,
- "default_speed": null,
- "min_voltage": null,
- "max_voltage": null,
- "fuel_level": null,
- "low_battery_auto_stop": null
}, - "rules": null,
- "charging_stations": null,
- "entity_id": 0
}{- "message": "string",
- "data": {
- "currency_code": "string",
- "unit_of_length": "string",
- "general_info": {
- "id": 0,
- "name": "string",
- "image_url": null,
- "subaccount_id": 0,
- "vehicle_type": "string",
- "icon_set_id": null,
- "short_tutorial_id": null
}, - "pricing_and_addons": {
- "start_price": null,
- "time_pricing": {
- "minutes": null,
- "hours": null,
- "days": null
}, - "km_price": null,
- "fuel_price": null,
- "pause_price": null,
- "charge_regular_time_during_pause": true,
- "min_price": null,
- "max_per_day": null,
- "special_price_enabled": null,
- "special_price_hours_limit": null,
- "special_price_map_icon_set_id": null,
- "special_price_discount_in_percent": null,
- "addon_ids": [
- 0
], - "dynamic_pricings": [
- 0
], - "pricing_packages": null,
- "hold_amount": null
}, - "battery_and_fuel_settings": {
- "distance": 0,
- "default_speed": null,
- "min_voltage": null,
- "max_voltage": null,
- "fuel_level": null,
- "low_battery_auto_stop": null
}, - "rules": {
- "parking_proof": 0,
- "reaction_test_id": null,
- "pre_ride_questionnaire_form_id": null,
- "captur_location_name": null,
- "is_document_verification_mandatory": null,
- "verifications": null,
- "check_csdd_for_drivers_licence": null,
- "is_helmet_required": null,
- "is_helmet_required_on_pause": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_cable_lock": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_cable_lock": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_doors": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_doors": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_windows": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_windows": null,
- "dont_allow_to_end_ride_with_vehicle_keyfob_out": null,
- "dont_allow_to_pause_ride_with_vehicle_keyfob_out": null,
- "dont_allow_to_end_ride_with_vehicle_central_stand_up": null,
- "dont_allow_to_pause_ride_with_vehicle_central_stand_up": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle": null,
- "dont_allow_to_end_ride_with_turned_on_ignition": null,
- "dont_allow_to_pause_with_turned_on_ignition": null,
- "is_backcase_closed": null,
- "is_backcase_closed_on_pause": null,
- "is_saddle_closed": null,
- "is_saddle_closed_on_pause": null,
- "auto_end_ride_enabled": null
}, - "charging_stations": {
- "dock_station_configuration_id": null,
- "vehicle_operation_model": null,
- "automatically_end_ride_on_dock_station_park": true
}
}
}Delete a vehicle model and its image. Not possible while vehicles or customer groups use it; vehicle task automations that only cover this vehicle model are deleted with it.
| model_id required | integer Vehicle model ID. |
{- "model_id": 0
}{- "message": "string"
}Get a vehicle model with all its settings, in the format Update vehicle model takes. Prices are in currency_code.
| entity_id required | integer Vehicle model ID. |
{- "data": {
- "currency_code": "string",
- "unit_of_length": "string",
- "general_info": {
- "id": 0,
- "name": "string",
- "image_url": null,
- "subaccount_id": 0,
- "vehicle_type": "string",
- "icon_set_id": null,
- "short_tutorial_id": null
}, - "pricing_and_addons": {
- "start_price": null,
- "time_pricing": {
- "minutes": null,
- "hours": null,
- "days": null
}, - "km_price": null,
- "fuel_price": null,
- "pause_price": null,
- "charge_regular_time_during_pause": true,
- "min_price": null,
- "max_per_day": null,
- "special_price_enabled": null,
- "special_price_hours_limit": null,
- "special_price_map_icon_set_id": null,
- "special_price_discount_in_percent": null,
- "addon_ids": [
- 0
], - "dynamic_pricings": [
- 0
], - "pricing_packages": null,
- "hold_amount": null
}, - "battery_and_fuel_settings": {
- "distance": 0,
- "default_speed": null,
- "min_voltage": null,
- "max_voltage": null,
- "fuel_level": null,
- "low_battery_auto_stop": null
}, - "rules": {
- "parking_proof": 0,
- "reaction_test_id": null,
- "pre_ride_questionnaire_form_id": null,
- "captur_location_name": null,
- "is_document_verification_mandatory": null,
- "verifications": null,
- "check_csdd_for_drivers_licence": null,
- "is_helmet_required": null,
- "is_helmet_required_on_pause": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_cable_lock": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_cable_lock": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_doors": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_doors": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle_windows": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle_windows": null,
- "dont_allow_to_end_ride_with_vehicle_keyfob_out": null,
- "dont_allow_to_pause_ride_with_vehicle_keyfob_out": null,
- "dont_allow_to_end_ride_with_vehicle_central_stand_up": null,
- "dont_allow_to_pause_ride_with_vehicle_central_stand_up": null,
- "dont_allow_to_end_ride_with_unlocked_vehicle": null,
- "dont_allow_to_pause_ride_with_unlocked_vehicle": null,
- "dont_allow_to_end_ride_with_turned_on_ignition": null,
- "dont_allow_to_pause_with_turned_on_ignition": null,
- "is_backcase_closed": null,
- "is_backcase_closed_on_pause": null,
- "is_saddle_closed": null,
- "is_saddle_closed_on_pause": null,
- "auto_end_ride_enabled": null
}, - "charging_stations": {
- "dock_station_configuration_id": null,
- "vehicle_operation_model": null,
- "automatically_end_ride_on_dock_station_park": true
}
}
}Get all dynamic pricings, newest first, with the vehicle models each one is applied to.
string or null Default: null Search by title keywords or dynamic pricing ID. |
{- "data": [
- {
- "id": 0,
- "title": "string",
- "multiplicator": 0,
- "working_time": [
- {
- "weekday": 1,
- "time_start": "string",
- "time_stop": "string"
}
], - "vehicle_model_ids": [
- 0
]
}
]
}Create a dynamic pricing - a price multiplier active at set times - and optionally apply it to vehicle models. A vehicle model can have up to 7 dynamic pricings, and the ones applied to the same vehicle model must not overlap (a 24/7 dynamic pricing overlaps with any other). Setting vehicle_model_ids needs the vehicle models permission.
| title required | string Dynamic pricing title (max length 32), unique within the account. |
| multiplicator required | number [ 0 .. 100 ] Price multiplier applied to rides while the dynamic pricing is active, from 0 to 100. Example: 1.5 makes rides 50% more expensive, 0.8 makes them 20% cheaper. |
Array of DynamicPricingWorkingTimeAnnotation (objects) or null Default: null When the dynamic pricing is active, in the local time of the vehicle model subaccount. One period per weekday, and a period that stops on the next day must not overlap with the next weekday period. Empty list or null - active 24/7. | |
Array of integers or null Default: null IDs of the vehicle models to apply the dynamic pricing to. Null - not applied to any vehicle model. |
{- "title": "string",
- "multiplicator": 100,
- "working_time": null,
- "vehicle_model_ids": null
}{- "message": "string",
- "data": {
- "id": 0,
- "title": "string",
- "multiplicator": 0,
- "working_time": [
- {
- "weekday": 1,
- "time_start": "string",
- "time_stop": "string"
}
], - "vehicle_model_ids": [
- 0
]
}
}Update a dynamic pricing and optionally the vehicle models it is applied to. All fields except vehicle_model_ids are overwritten, so send the full dynamic pricing. A vehicle model can have up to 7 dynamic pricings, and the ones applied to the same vehicle model must not overlap (a 24/7 dynamic pricing overlaps with any other). Setting vehicle_model_ids needs the vehicle models permission.
| entity_id required | integer Dynamic pricing ID. |
| title required | string Dynamic pricing title (max length 32), unique within the account. |
| multiplicator required | number [ 0 .. 100 ] Price multiplier applied to rides while the dynamic pricing is active, from 0 to 100. Example: 1.5 makes rides 50% more expensive, 0.8 makes them 20% cheaper. |
Array of DynamicPricingWorkingTimeAnnotation (objects) or null Default: null When the dynamic pricing is active, in the local time of the vehicle model subaccount. One period per weekday, and a period that stops on the next day must not overlap with the next weekday period. Empty list or null - active 24/7. | |
Array of integers or null Default: null IDs of the vehicle models to apply the dynamic pricing to. Replaces the current list: the dynamic pricing is removed from vehicle models left out, an empty list removes it from all of them. Null - vehicle models are left unchanged. |
{- "entity_id": 0,
- "title": "string",
- "multiplicator": 100,
- "working_time": null,
- "vehicle_model_ids": null
}{- "message": "string",
- "data": {
- "id": 0,
- "title": "string",
- "multiplicator": 0,
- "working_time": [
- {
- "weekday": 1,
- "time_start": "string",
- "time_stop": "string"
}
], - "vehicle_model_ids": [
- 0
]
}
}Get the taxi subaccounts the logged in employee is allowed to use. Taxi subaccounts are separate from the sharing ones, with IDs of their own. The taxi endpoints return the data of the selected one - the one with "selected" set to true - unless the request names another with the "SubAccount" header; "Change taxi subaccount" moves the selection for good.
{- "data": [
- {
- "id": 0,
- "title": "string",
- "selected": true
}
]
}Select the taxi subaccount the following taxi dashboard requests are served from. The selection is stored on the employee, not on the token, so it also applies to that employee in the dashboard itself and stays in place until it is changed again. To read one subaccount without moving that selection, send the "SubAccount" header on the request instead.
| subaccount_id required | integer Subaccount to switch to, taken from the allowed subaccounts list. Use 0 to switch to the "Global" view, which is only allowed for an account admin. |
{- "subaccount_id": 0
}{- "message": "string",
- "subaccount_id": 0
}Get paginated list of taxi rides
| SubAccount | integer Serve this single request from another subaccount, leaving the selected one as it is. Takes an ID of a subaccount you are allowed to use, 0 for the "Global" view. Leave it out to use the selected subaccount. |
| ride_status required | string Status of rides to fetch. Allowed: RIDE_REQUESTED, RIDE_ACCEPTED, DRIVER_ARRIVED, RIDE_STARTED, RIDE_ENDED, RIDE_CANCELED, SCHEDULED_RIDE |
| page_length | integer [ 0 .. 100 ] Default: 50 How many records to show in page |
string or null Default: null Search query | |
TaxiDateRange (object) or null Default: null Date range filter | |
TaxiDistance (object) or null Default: null Distance filter in km | |
Duration (object) or null Default: null Duration filter in minutes | |
TaxiRideFeedback (object) or null Default: null Feedback score filter | |
Array of integers or null Default: null List of vehicle class IDs to filter by | |
| export | boolean Default: false If true, return in export format |
string or null Default: null Filter by comment presence. Allowed: ALL, AVAILABLE, EMPTY | |
string or null Default: null Used for cursor-based pagination |
{- "ride_status": "string",
- "page_length": 50,
- "search": null,
- "date_range": null,
- "distance": null,
- "duration": null,
- "feedback": null,
- "models": null,
- "export": false,
- "comments": null,
- "page_bookmark": null
}{- "data": [
- {
- "id": 0,
- "source": "-",
- "vehicle_number": "-",
- "kilometers": "-",
- "driver_id": "-",
- "start_time": "-",
- "end_time": "-",
- "price": "-",
- "paid_with_card": "-",
- "paid_with_cash": "-",
- "paid_with_bonus": "-",
- "cancellation_fee": "-",
- "user_id": "-",
- "user_name": "-",
- "phone": "-",
- "email": "-",
- "feedback": "-",
- "comment": "-",
- "time": "-",
- "refund": false,
- "end_location": null,
- "pick_up_address": null,
- "destination_address": null,
- "comment_for_driver": "-",
- "show_end_ride": false,
- "show_cancel_scheduled_ride": false,
- "show_edit_scheduled_ride": false,
- "history_start_date": null,
- "history_end_date": null,
- "vehicle_class": "-",
- "business_account": null,
- "zone_pricing": "-",
- "dynamic_pricing": "-",
- "scheduled_ride_dynamic_pricing": "-",
- "driver_commission": "-",
- "driver_commission_amount": "-",
- "special_price_discount_in_percent": "-",
- "show_driver_payout": false,
- "allow_driver_payout": null
}
], - "has_next_page": true,
- "has_previous_page": true,
- "bookmark_next": "string",
- "bookmark_previous": "string"
}Get paginated list of taxi drivers
| SubAccount | integer Serve this single request from another subaccount, leaving the selected one as it is. Takes an ID of a subaccount you are allowed to use, 0 for the "Global" view. Leave it out to use the selected subaccount. |
Array of strings or null Default: null List of driver statuses to filter by. Allowed values: ONLINE, OFFLINE, NO_CONNECTION. | |
| page_length | integer [ 0 .. 100 ] Default: 50 Number of records per page. |
integer or null Default: 1 Page number (1-based). | |
string or null Default: null Search query matched against driver name, surname, and vehicle number. | |
boolean or null Default: null If true, return drivers in map-view format with geolocation data. | |
string or null Default: null Cursor token for bookmark-based pagination. | |
boolean or null Default: null If true, return data in export format (up to 2000 records per page). | |
Array of integers or null Default: null List of vehicle class IDs to filter by. |
{- "filter": null,
- "page_length": 50,
- "page": 1,
- "search": null,
- "map_view": null,
- "page_bookmark": null,
- "export": null,
- "class_ids": null
}{- "has_next_page": true,
- "record_count": 0,
- "data": [
- {
- "id": 0,
- "name": null,
- "surname": null,
- "email": null,
- "phone": null,
- "vehicle_number": null,
- "vehicle_model": null,
- "vehicle_class_id": null,
- "vehicle_class_ids": null,
- "vehicle_class_titles": null,
- "total_rides": null,
- "status": null,
- "subaccount_id": null,
- "color": null,
- "last_location": null,
- "last_connection": null,
- "is_hidden": null,
- "add_reduce_buttons_enabled": false,
- "balance_formatted": null,
- "radius": null
}
]
}Lists the corporate accounts of this account, newest first, with the number of users in each. Available only with a secret key - corporate account employees are managed on behalf of the whole account.
This is where the corporate_account_id every other corporate endpoint expects comes from.
| page | integer >= 1 Default: 1 Page number, starting from 1. |
| page_length | integer [ 1 .. 100 ] Default: 20 Number of items per page. |
string or null Default: null Search by company name or corporate account ID. |
{- "page": 1,
- "page_length": 20,
- "search": null
}{- "has_next_page": true,
- "record_count": 0,
- "data": [
- {
- "corporate_account_id": 0,
- "company_name": "string",
- "email": "string",
- "user_count": 0,
- "city": "string",
- "country": "string",
- "legal_address": "string",
- "zip": "string",
- "registration_number": "string",
- "vat_number": null,
- "date_created": null
}
]
}Lists the groups of a corporate account, including their limits and the number of users in each. Available only with a secret key - corporate account employees are managed on behalf of the whole account.
Use it to pick the group_id that add-user expects. Deleted groups are not returned.
| corporate_account_id required | integer Corporate account ID |
{- "corporate_account_id": 0
}{- "groups": [
- {
- "group_id": 0,
- "title": "string",
- "user_count": 0,
- "monthly_ride_count": null,
- "monthly_budget": null,
- "allow_use_in_app": true
}
]
}Adds a user to a corporate account group by phone number. Available only with a secret key - corporate account employees are managed on behalf of the whole account.
The user does not have to be registered yet: an unknown phone number is stored as PENDING and linked automatically once that number is registered or set on an existing user.
If the user has no default payment method, the corporate account is set as their default one. A user that already belongs to a group of this corporate account is rejected - remove them first to move them to another group.
| corporate_account_id required | integer Corporate account ID |
| group_id required | integer Corporate account group ID the user is added to |
| phone_prefix required | string <= 3 characters User phone prefix, digits only. Example: "371" |
| phone required | string <= 32 characters User phone number, digits only |
{- "corporate_account_id": 0,
- "group_id": 0,
- "phone_prefix": "str",
- "phone": "string"
}{- "message": "string",
- "corporate_account_user_id": 0,
- "corporate_account_user_status": "string",
- "user_id": null
}Removes a user from a corporate account. Available only with a secret key - corporate account employees are managed on behalf of the whole account.
The user is identified by corporate_account_user_id, by user_id or by phone_prefix together with phone. The corporate payment method is cleared from the user, so their next ride is paid for personally. A user with an active ride can not be removed.
| corporate_account_id required | integer Corporate account ID |
integer or null Default: null Corporate account user (employee) ID. Takes precedence over user_id and phone | |
integer or null Default: null User ID. Used when corporate_account_user_id is not provided | |
string or null Default: null User phone prefix, digits only. Used together with phone when no ID is provided | |
string or null Default: null User phone number, digits only. Used together with phone_prefix when no ID is provided |
{- "corporate_account_id": 0,
- "corporate_account_user_id": null,
- "user_id": null,
- "phone_prefix": null,
- "phone": null
}{- "message": "string",
- "corporate_account_user_id": 0,
- "user_id": null
}