ATOM Mobility OpenAPI Beta (1.0.0)

Download OpenAPI specification:

API documentation for ATOM Mobility services

Authorization

User authentication and authorization

Request phone verification

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.

Captcha

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:

  • off (default) - captcha is never required here.
  • on - every request is challenged, until the number solves one, after which it is skipped for ~12 hours.

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:

  1. Render the image from captcha_img_base64 (prefix it with data:image/png;base64,) and have the user read the characters.
  2. Re-send this exact request with two extra fields: 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).

Authorizations:
App-Public-Key(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "phone_token": "string",
  • "left_seconds": 0,
  • "phone": "string",
  • "action": null,
  • "captcha_img_base64": null,
  • "captcha_token": null
}

Verify phone code

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.

Authorizations:
App-Public-Key(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "code": null,
  • "phone_token": "string",
  • "skip_ip_address_check": null
}

Response samples

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

Register new user

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.

Authorizations:
App-Public-Key
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "device_os": null,
  • "phone_token": "string",
  • "agree_marketing": null
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "user_id": 0,
  • "is_new_user": true
}

User login

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.

Authorizations:
App-Public-Key
Request Body schema: application/json
phone_token
required
string

Phone token from the previous request

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "token": "string",
  • "phone_token": "string",
  • "user_id": 0
}

Dashboard authorization

Authorization for dashboard for openapi flow, using email and password from dashboard

Request Body schema: application/json
email
required
string

Admin email

password
required
string

Admin password

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "expires_in": 0,
  • "flow": null
}

User

User related operations

Get user data

Retrieves user information. Can be accessed in two ways:

  1. Using user token obtained from the authorization flow
  2. Using secret key with user_id parameter in the request body
Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "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"
}

Get user bookings

Retrieves list of user bookings. Can be accessed in two ways:

  1. Using user token obtained from the authorization flow
  2. Using secret key with user_id parameter in the request body
Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "user_id": null,
  • "booking_status": "string"
}

Response samples

Content type
application/json
{
  • "bookings": [
    ]
}

Get user payment methods

Retrieves user payment methods. Can be accessed in two ways:

  1. Using user token obtained from the authorization flow
  2. Using secret key with user_id parameter in the request body
Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
integer or null
Default: null

User ID. Works with secret key only.

flow
required
string

SHARING, TAXI or RENTAL flow

Responses

Request samples

Content type
application/json
{
  • "user_id": null,
  • "flow": "string"
}

Response samples

Content type
application/json
{
  • "payment_methods": [
    ]
}

Set default payment method

Sets the payment method the user pays with in the given flow. Can be accessed in two ways:

  1. Using user token obtained from the authorization flow
  2. Using secret key with user_id parameter in the request body

status is 0 when nothing changed, for example when the payment method already is the default. selected_payment_method always shows the actual default.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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"

Responses

Request samples

Content type
application/json
{
  • "user_id": null,
  • "payment_method_id": "string",
  • "flow": "SHARING"
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": null,
  • "selected_payment_method": null
}

Delete payment method

Deletes a saved payment method. Can be accessed in two ways:

  1. Using user token obtained from the authorization flow
  2. Using secret key with user_id parameter in the request body

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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"

Responses

Request samples

Content type
application/json
{
  • "user_id": null,
  • "payment_method_id": "string",
  • "flow": "SHARING"
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": null,
  • "selected_payment_method": null
}

Register a new user

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "phone_prefix": "str",
  • "phone": "string"
}

Response samples

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

Add money for user

Available only with secret key

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "money_type": "BONUS",
  • "user_id": null
}

Response samples

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

Charge from bank

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "user_id": null,
  • "amount": 0,
  • "payment_method_id": null
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "amount_added": null
}

Delete user

Secret key deletion is hard deletion, user token is soft deletion, meaning that user will be deleted in X days

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": null
}

Refresh user token

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "user_id": null
}

Response samples

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

Rental

Rental related operations

Get available zones

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.

Authorizations:
App-Public-Key

Responses

Response samples

Content type
application/json
{
  • "available_zones": [
    ]
}

Get vehicle models

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.

Authorizations:
App-Public-Key
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "pick_up_zone_id": 0,
  • "return_zone_id": 0,
  • "pick_up_date": "string",
  • "return_date": "string",
  • "show_exact_match": false
}

Response samples

Content type
application/json
{
  • "vehicle_models": [
    ]
}

Create a new booking

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "rental": {
    },
  • "vehicle": {
    }
}

Cancel a booking

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
booking_id
required
integer

ID of the booking

integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "booking_id": 0,
  • "user_id": null
}

Response samples

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

Sharing

Sharing related operations

Get sharing zones

Retrieves sharing zones as a list. Each zone has one of two shapes:

  • Polygon zone - zone_area is a GeoJSON Polygon whose points are [longitude, latitude]; zone_point and zone_radius are null.
  • Circular station zone (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.

Authorizations:
App-Public-Key
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "ride_id": null,
  • "vehicle_id": null,
  • "vehicle_types": null,
  • "zone_types": null
}

Response samples

Content type
application/json
[
  • {
    }
]

Get parking stations

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "h3_index": null,
  • "latitude": null,
  • "longitude": null,
  • "radius_in_km": null,
  • "vehicle_types": null,
  • "subaccount_id": null
}

Response samples

Content type
application/json
{
  • "zone_color": null,
  • "park_stations": [
    ]
}

Get charging stations

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "latitude": null,
  • "longitude": null,
  • "radius_in_km": null,
  • "subaccount_id": null
}

Response samples

Content type
application/json
{
  • "charging_stations": [
    ]
}

Get vehicles

Retrieves vehicles information.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "user_longitude": 0,
  • "user_latitude": 0,
  • "radius_in_km": 0,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "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
}

Start ride

Starts a ride. Use either vehicle ID or number.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "active_ride_id": 0,
  • "manual_locker_code": "string",
  • "vehicle": {
    },
  • "addons": [
    ],
  • "max_allowed_vehicles_per_user": 0
}

End ride

Ends a ride. Use either vehicle ID or number.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: multipart/form-data
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.

Responses

Response samples

Content type
application/json
{
  • "total_paid": "string",
  • "payment_info": null,
  • "active_ride_id": 0
}

Get current ride

Retrieves the current ride. Available only for active rides.If passed vehicle ID is not in active ride, then will return empty arrays.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
active_vehicle_id
required
Array of integers

Active vehicle ID.

integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "active_vehicle_id": [
    ],
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "addons": [
    ],
  • "vehicles": [
    ],
  • "max_allowed_vehicles_per_user": 0,
  • "action_insufficient_funds": null,
  • "insufficient_funds_amount": null,
  • "payment_method_flow": null
}

Get vehicle pricing

Retrieves vehicle pricing. Use either vehicle_id or model_id.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "vehicle_id": null,
  • "model_id": null,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "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
}

Pause vehicle

During active ride pause vehicle. Use either vehicle ID or number.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "vehicle_id": null,
  • "vehicle_number": null,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": null
}

Unpause vehicle

During active ride unpause vehicle. Use either vehicle ID or number.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "vehicle_id": null,
  • "vehicle_number": null,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": null
}

Ring vehicle

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "vehicle_id": 0,
  • "user_longitude": 0,
  • "user_latitude": 0,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": null,
  • "ring_action_enabled": null
}

Get active rides of user

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "active_ride_ids": [
    ]
}

Get vehicle commands

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
vehicle_id
required
integer

Vehicle ID

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "commands": null
}

Send vehicle command

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "vehicle_ids": [
    ],
  • "command": "string",
  • "value": null
}

Response samples

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

Get subscriptions

List the account subscription plans. By default only active plans are returned; the status and vehicle_types filters are available with secret key authentication.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "user_id": null,
  • "status": null,
  • "vehicle_types": null
}

Response samples

Content type
application/json
{
  • "subscriptions": [
    ]
}

Get subscription history

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "history": [
    ]
}

Purchase subscription

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": null,
  • "action": null,
  • "amount": null
}

Taxi

Taxi related operations

Get taxi suggestions

Autocomplete for text based address search

Authorizations:
App-Public-Key
Request Body schema: application/json
address
required
string

Location address

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Get place based on location

Determine place based on location

Authorizations:
App-Public-Key
Request Body schema: application/json
longitude
required
number

Location longitude

latitude
required
number

Location latitude

Responses

Request samples

Content type
application/json
{
  • "longitude": 0,
  • "latitude": 0
}

Response samples

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

Get drivers

Get drivers

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "waypoints": [
    ],
  • "is_cash_payment": true,
  • "scheduled_date": null,
  • "scheduled_time": null,
  • "show_driver_list": false,
  • "show_offline_classes": false,
  • "allow_scheduled_rides": false
}

Response samples

Content type
application/json
{
  • "classes": null,
  • "max_comment_length": 0,
  • "waypoints": [
    ],
  • "drivers": null,
  • "selected_payment_method_info": "string"
}

Request ride

Request ride

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "scheduled_date": null,
  • "scheduled_time": null,
  • "payment_method_id": "",
  • "comment": null,
  • "driver_id": null,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "ride_id": 0,
  • "scheduled_ride": null
}

Cancel ride

Cancel ride

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
ride_id
required
integer

Ride ID.

Responses

Request samples

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

Response samples

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

Get ride

Get taxi ride

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "ride_id": null,
  • "route_waypoints_required": null,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "ride": null,
  • "next_request_seconds": null,
  • "scheduled_ride_info": null
}

Rate taxi ride

Rate taxi ride

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "ride_id": 0,
  • "comment": null,
  • "rating": 1,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": null
}

Get scheduled rides

Get scheduled taxi rides

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "scheduled_rides": null,
  • "scheduled_ride_info": null
}

Cancel scheduled ride

Cancel scheduled taxi ride

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
ride_id
required
integer

Ride ID.

integer or null
Default: null

User ID. Works with secret key only.

Responses

Request samples

Content type
application/json
{
  • "ride_id": 0,
  • "user_id": null
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "scheduled_ride_info": null
}

Get taxi rides list

Get paginated list of taxi rides. Available only with secret key authentication.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "page": 1,
  • "page_length": 20,
  • "search": null,
  • "status": "string",
  • "date_from": null,
  • "date_to": null
}

Response samples

Content type
application/json
{
  • "has_next_page": true,
  • "record_count": 0,
  • "data": [
    ]
}

Get taxi customers list

Get paginated list of taxi customers. Available only with secret key authentication.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "page": 1,
  • "page_length": 20,
  • "search": null
}

Response samples

Content type
application/json
{
  • "has_next_page": true,
  • "record_count": 0,
  • "data": [
    ]
}

Get taxi drivers list

Get paginated list of taxi drivers. Available only with secret key authentication.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "page": 1,
  • "page_length": 20,
  • "search": null,
  • "status": null
}

Response samples

Content type
application/json
{
  • "has_next_page": true,
  • "record_count": 0,
  • "data": [
    ]
}

Sharing dashboard

Sharing dashboard related operations.

Get allowed subaccounts

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.

Authorizations:
Authorization

Responses

Response samples

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

Change subaccount

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.

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "string",
  • "subaccount_id": 0
}

Get rides info

Get rides info

Authorizations:
Authorization
header Parameters
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.

Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "bookmark_next": "string",
  • "bookmark_previous": "string",
  • "has_next_page": true,
  • "has_previous_page": true,
  • "data": [
    ]
}

Forcefully end ride

Forcefully end ride

Authorizations:
Authorization
Request Body schema: application/json
ride_id
required
integer

Ride ID

Responses

Request samples

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

Response samples

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

Get subscriptions

Get paginated list of subscription plans, filtered by status and vehicle types.

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "filter": "ALL",
  • "page_length": null,
  • "page": null,
  • "search": null,
  • "vehicle_types": null
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "has_next_page": true,
  • "record_count": 0,
  • "next_order_number": 0,
  • "subaccounts_enabled": true,
  • "vehicle_types_enabled": true,
  • "currency_code": "string"
}

Get subscription history

Get paginated purchase history of user subscriptions within a date range.

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "date_range": {
    },
  • "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
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "bookmark_next": "string",
  • "bookmark_next_page": 0,
  • "bookmark_previous": "string",
  • "has_next_page": true
}

Get user info

Get user info

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "filter": null,
  • "sliders": null,
  • "date_range": null,
  • "search": null,
  • "export": null,
  • "bookmark_next": null,
  • "page_length": 50
}

Response samples

Content type
application/json
{
  • "bookmark_next": "string",
  • "bookmark_previous": "string",
  • "has_next_page": true,
  • "has_previous_page": true,
  • "data": [
    ]
}

Block or unblock customer

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.

Authorizations:
Authorization
Request Body schema: application/json
user_id
required
integer

Customer ID

status
required
boolean

Set to true to block the customer, false to unblock

Responses

Request samples

Content type
application/json
{
  • "user_id": 0,
  • "status": true
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "blocked": true
}

Get manual document verification

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.

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

Responses

Response samples

Content type
application/json
{
  • "bookmark_next": "string",
  • "bookmark_previous": "string",
  • "has_next_page": true,
  • "has_previous_page": true,
  • "data": [
    ]
}

Approve or decline manual document verification

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.

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "choice": "APPROVE",
  • "user_id": 0,
  • "personal_id": null
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "message": "string"
}

Get vehicles info

Get vehicles info. The same filters serve three response modes, which differ in how they paginate:

  • List (default, neither 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 (map_view: true) - not paginated, page and page_length are ignored; every matching vehicle is returned as a lightweight marker.
  • Export (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.
Authorizations:
Authorization
header Parameters
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.

Request Body schema: application/json
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. 0 is accepted but falls back to 20.

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 page_length by the list response, and as the only pagination input for the export response. Ignored when map_view is true, because the map response is never paginated. Values below 1 are treated as 1.

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. page and page_length are ignored. Cannot be combined with export.

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 page at a fixed page size of 2000; page_length does not apply. Ignored when map_view is true.

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 headers and file_name; send any non-empty string on the following ones so those two are not repeated. Export position is controlled by page alone. Note that the response bookmark_next is a number, so it cannot be echoed back into this field as-is. Ignored unless export is true.

Array of strings or null
Default: null

Lock status list

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "has_next_page": true,
  • "record_count": 0,
  • "data": [
    ]
}

Get vehicle info

Get vehicle info

Authorizations:
Authorization
query Parameters
vehicle_id
required
integer

Vehicle ID.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "vehicle_number": "string",
  • "vehicle_battery": 0,
  • "coordinates": {
    },
  • "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
}

Get vehicle notes

Get vehicle notes

Authorizations:
Authorization
query Parameters
required
string or integer

Vehicle ID.

Responses

Response samples

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

Create vehicle note

Create vehicle note

Authorizations:
Authorization
Request Body schema: application/json
vehicle_id
required
integer

Vehicle ID.

notes
required
string

Notes (max length 384).

Responses

Request samples

Content type
application/json
{
  • "vehicle_id": 0,
  • "notes": "string"
}

Response samples

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

Get tasks info

Get tasks info

Authorizations:
Authorization
header Parameters
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.

Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "page_length": 50,
  • "page_bookmark": null,
  • "search": null,
  • "date_range": null,
  • "task_stages": [
    ],
  • "task_types": [
    ],
  • "task_priorities": [
    ],
  • "vehicle_statuses": [
    ],
  • "vehicle_model_ids": [
    ],
  • "export": false,
  • "bookmark_next": null,
  • "page": null
}

Response samples

Content type
application/json
{
  • "bookmark_next": "string",
  • "bookmark_previous": "string",
  • "has_next_page": true,
  • "has_previous_page": true,
  • "data": [
    ]
}

Create task

Create task

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "type_id": 0,
  • "vehicle_id": 0,
  • "priority": "string",
  • "start_date": "string",
  • "start_time": "string",
  • "end_date": null,
  • "end_time": null,
  • "description": null
}

Response samples

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

Update task

Update task

Authorizations:
Authorization
Request Body schema: application/json
entity_id
required
integer

Task ID.

action
required
string

Action to perform. Possible values: DELETE, DONE.

Responses

Request samples

Content type
application/json
{
  • "entity_id": 0,
  • "action": "string"
}

Response samples

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

Get task types info

Get task types info

Authorizations:
Authorization
Request Body schema: application/json
integer or null
Default: 50

Page length.

string or null
Default: null

Used for pagination.

Responses

Request samples

Content type
application/json
{
  • "page_length": 50,
  • "page_bookmark": null
}

Response samples

Content type
application/json
{
  • "bookmark_next": "string",
  • "bookmark_previous": "string",
  • "has_next_page": true,
  • "has_previous_page": true,
  • "next_order_number": 0,
  • "data": [
    ]
}

Create task type

Create task type

Authorizations:
Authorization
Request Body schema: application/json
title
required
string

Task type title.

step_nr
required
integer

Task type step number.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "step_nr": 0
}

Response samples

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

Update task type

Update task type

Authorizations:
Authorization
Request Body schema: application/json
entity_id
required
integer

Task type ID.

title
required
string

Task type title.

step_nr
required
integer

Task type step number.

Responses

Request samples

Content type
application/json
{
  • "entity_id": 0,
  • "title": "string",
  • "step_nr": 0
}

Response samples

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

Delete task type

Delete task type

Authorizations:
Authorization
Request Body schema: application/json
entity_id
required
integer

Task type ID.

Responses

Request samples

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

Response samples

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

Change vehicle status

Change one or multiple vehicle status

Authorizations:
Authorization
header Parameters
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.

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "status": "READY",
  • "vehicle_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "message": "string"
}

Get rebalancing zones

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.

Authorizations:
Authorization
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "search": null,
  • "latitude": null,
  • "longitude": null,
  • "radius_in_km": null,
  • "export": false,
  • "page_bookmark": null
}

Response samples

Content type
application/json
{
  • "zones": [
    ],
  • "subaccounts": [
    ],
  • "vehicle_types": [
    ]
}

Get damage reports

Get paginated list of damage reports, filtered by date range, vehicle status and stage.

Authorizations:
Authorization
header Parameters
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.

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "page_length": 50,
  • "page_bookmark": null,
  • "search": null,
  • "date_range": null,
  • "status": [
    ],
  • "stage": [
    ],
  • "export": false,
  • "bookmark_next": null,
  • "page": null
}

Response samples

Content type
application/json
{
  • "bookmark_next": "string",
  • "bookmark_previous": "string",
  • "has_next_page": true,
  • "has_previous_page": true,
  • "data": [
    ]
}

Create damage report

Create a damage report for a vehicle.

Authorizations:
Authorization
header Parameters
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.

Request Body schema: application/json
vehicle_id
required
integer

Vehicle ID.

issue_id
required
integer

Damage tag ID.

string or null
Default: null

Damage report description (max 300 characters).

Responses

Request samples

Content type
application/json
{
  • "vehicle_id": 0,
  • "issue_id": 0,
  • "description": null
}

Response samples

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

Approve, mark as done or delete damage report

Approve, mark as done or delete a damage report (action: APPROVE, DONE, DELETE).

Authorizations:
Authorization
Request Body schema: application/json
entity_id
required
integer

Damage report ID.

action
required
string

Action to perform. Possible values: APPROVE, DONE, DELETE.

Responses

Request samples

Content type
application/json
{
  • "entity_id": 0,
  • "action": "string"
}

Response samples

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

Get damage tags

Get paginated list of damage tags.

Authorizations:
Authorization
Request Body schema: application/json
integer or null
Default: 50

Page length.

string or null
Default: null

Used for pagination.

Responses

Request samples

Content type
application/json
{
  • "page_length": 50,
  • "page_bookmark": null
}

Response samples

Content type
application/json
{
  • "bookmark_next": "string",
  • "bookmark_previous": "string",
  • "has_next_page": true,
  • "has_previous_page": true,
  • "next_order_number": 0,
  • "data": [
    ]
}

Create damage tag

Create a damage tag.

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "step_nr": 0,
  • "vehicle_types": null,
  • "localizations": null
}

Response samples

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

Get vehicle model options

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.

Authorizations:
Authorization

Responses

Response samples

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

Get vehicle models

Get the vehicle models, newest first.

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

Responses

Response samples

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

Create vehicle model

Create a vehicle model. The request mirrors the vehicle model form of the dashboard, section by section.

  • Select fields (subaccount, icon set, add-ons, dynamic pricing, ...) take IDs whose values differ per account - get them from Get vehicle model options. Each field description names its options key.
  • Account settings turn some fields off (special price, pricing packages, hold, Captur, most ride rules). Options disabled_fields lists them: they can only be sent with their default value and are left out of responses.
  • Prices are in options currency_code and are converted to the vehicle model subaccount currency when saved.
  • Image is a base64-encoded PNG in general_info.base64_image, in the same JSON request.
Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "general_info": {
    },
  • "pricing_and_addons": {
    },
  • "battery_and_fuel_settings": {
    },
  • "rules": null,
  • "charging_stations": null
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "data": {
    }
}

Update vehicle model

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.

  • Select fields (subaccount, icon set, add-ons, dynamic pricing, ...) take IDs whose values differ per account - get them from Get vehicle model options. Each field description names its options key.
  • Account settings turn some fields off (special price, pricing packages, hold, Captur, most ride rules). Options disabled_fields lists them: they can only be sent with their default value and are left out of responses.
  • Prices are in options currency_code and are converted to the vehicle model subaccount currency when saved.
  • Image is a base64-encoded PNG in general_info.base64_image, in the same JSON request.
Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "general_info": {
    },
  • "pricing_and_addons": {
    },
  • "battery_and_fuel_settings": {
    },
  • "rules": null,
  • "charging_stations": null,
  • "entity_id": 0
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "data": {
    }
}

Delete vehicle model

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.

Authorizations:
Authorization
Request Body schema: application/json
model_id
required
integer

Vehicle model ID.

Responses

Request samples

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

Response samples

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

Get vehicle model

Get a vehicle model with all its settings, in the format Update vehicle model takes. Prices are in currency_code.

Authorizations:
Authorization
query Parameters
entity_id
required
integer

Vehicle model ID.

Responses

Response samples

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

Get dynamic pricing

Get all dynamic pricings, newest first, with the vehicle models each one is applied to.

Authorizations:
Authorization
query Parameters
string or null
Default: null

Search by title keywords or dynamic pricing ID.

Responses

Response samples

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

Create dynamic pricing

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.

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "multiplicator": 100,
  • "working_time": null,
  • "vehicle_model_ids": null
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "data": {
    }
}

Update dynamic pricing

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.

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "entity_id": 0,
  • "title": "string",
  • "multiplicator": 100,
  • "working_time": null,
  • "vehicle_model_ids": null
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "data": {
    }
}

Taxi dashboard

Taxi dashboard related operations.

Get allowed taxi subaccounts

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.

Authorizations:
Authorization

Responses

Response samples

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

Change taxi subaccount

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.

Authorizations:
Authorization
Request Body schema: application/json
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.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "string",
  • "subaccount_id": 0
}

Get taxi rides

Get paginated list of taxi rides

Authorizations:
Authorization
header Parameters
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.

Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "has_next_page": true,
  • "has_previous_page": true,
  • "bookmark_next": "string",
  • "bookmark_previous": "string"
}

Get taxi drivers

Get paginated list of taxi drivers

Authorizations:
Authorization
header Parameters
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.

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "filter": null,
  • "page_length": 50,
  • "page": 1,
  • "search": null,
  • "map_view": null,
  • "page_bookmark": null,
  • "export": null,
  • "class_ids": null
}

Response samples

Content type
application/json
{
  • "has_next_page": true,
  • "record_count": 0,
  • "data": [
    ]
}

Corporate

Corporate account related operations.

Get corporate accounts

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "page": 1,
  • "page_length": 20,
  • "search": null
}

Response samples

Content type
application/json
{
  • "has_next_page": true,
  • "record_count": 0,
  • "data": [
    ]
}

Get corporate account groups

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
corporate_account_id
required
integer

Corporate account ID

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

Add user to corporate account

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "corporate_account_id": 0,
  • "group_id": 0,
  • "phone_prefix": "str",
  • "phone": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "corporate_account_user_id": 0,
  • "corporate_account_user_status": "string",
  • "user_id": null
}

Remove user from corporate account

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.

Authorizations:
(App-Public-KeyAuthorization)
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "corporate_account_id": 0,
  • "corporate_account_user_id": null,
  • "user_id": null,
  • "phone_prefix": null,
  • "phone": null
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "corporate_account_user_id": 0,
  • "user_id": null
}