API Endpoints Reference

Detailed documentation of all available API endpoints and methods

Get Tariff

GET
/dispatch/v2/tariff

Searching for tariffs at some location filtered by the provided parameters. In each request, there should be at least an origin parameter.

Parameters

ParameterDescriptionExample
originOrigin location (latitude & longitude) where service is ordered from.origin=37.4192,-122.0574
pickupTimeFilter tariffs that allow booking the order now, at a specified time with timezone. Please use proper URL encodingpickupTime=2020-09-29T12%3A56%3A26.834%2B03%3A00
numberOfSeatsFilter tariffs with not less than a specified number of seats.numberOfSeats=4
vehicleTypeFilter for tariffs only of specified vehicle classvehicleType=CLASSIC
tariffTypeFilter for tariffs only of specified tariff typetariffType=HOURLY
paymentMethodsSearch only for tariffs with given payment methodspaymentMethods=CASH
prepaidIf true - search only for prepaid tariff.prepaid=true
tariffIdGet single tarifftariffId=12345678-1234-1234-1234-1234567890AB

Response

Type: Array of TariffObject

{
  "tariffs": [
    {
      "tariffId": "12345678-1234-1234-1234-1234567890AB",
      "name": "Classic",
      "companyName": "My company",
      "vehicleType": "CLASSIC",
      "tariffType": "PRECISE",
      "numberOfSeats": 4,
      "paymentMethods": ["CREDIT_CARD", "THIRD_PARTY"],
      "currency": "USD",
      "unitOfLength": "KILOMETER",
      "minimumCharge": 4,
      "maximumCharge": 5,
      "flagDownFee": 3,
      "perDistanceUnitFee": 2,
      "perHourFee": 60,
      "taximeterMode": "TIME_AND_MILEAGE",
      "tariffMode": "AUTO",
      "driverCanSetCost": true,
      "fixedFaresAvailable": false,
      "fixedCost": false,
      "prepaidSupported": false,
      "asapBooking": true,
      "preBooking": false,
      "minimumPreBookingDelay": 0
    }
  ]
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Prepare an Order

POST
/dispatch/v2/order/prepare

Prepares data for a new order. Preparation request is needed to fix estimation price.

Request Body

Type: OrderPrepareRequestObject

{
  "waypoints": [
    {
      "exactLatLng": {
        "lat": 37.5,
        "lng": -122.1
      },
      "premise": "Google Store",
      "houseNumber": "22",
      "street": "Avenue",
      "subLocality": "California",
      "locality": "California",
      "city": "Mountain view",
      "district": "California",
      "province": "California",
      "country": "United States",
      "postalCode": "94043",
      "countryCode": "US",
      "poiName": "Google Store",
      "placeLatLng": {
        "lat": 37.5192,
        "lng": -122.0574
      }
    }
  ],
  "unitOfLength": "METER",
  "pickupTime": "2000-01-01T12:00:27.87+00:20",
  "currency": "USD",
  "specialCost": 33.34,
  "includedDistance": 1500,
  "includedDuration": 60000
}

Response

Type: OrderPrepareResponseObject

{
  "orderId": "12345678-1234-1234-1234-1234567890AB",
  "confirmationId": "12345678-1234-1234-1234-1234567890AB",
  "orderPreparationData": {
    "allTariffsTripEstimations": [
      {
        "cost": 33.34,
        "fixedCost": true,
        "priceMultiplier": 2.1,
        "tariffId": "12345678-1234-1234-1234-1234567890AB"
      }
    ]
  }
}

Update Prepared Data

PUT
/dispatch/v2/order/prepare/{ORDER_ID}

Updates data prepared in Prepare an order V2 for a new order.

Request Body

Type: OrderPrepareRequestObject

{
  "waypoints": [
    {
      "exactLatLng": {
        "lat": 37.5,
        "lng": -122.1
      },
      "premise": "Google Store",
      "houseNumber": "22",
      "street": "Avenue",
      "subLocality": "California",
      "locality": "California",
      "city": "Mountain view",
      "district": "California",
      "province": "California",
      "country": "United States",
      "postalCode": "94043",
      "countryCode": "US",
      "poiName": "Google Store",
      "placeLatLng": {
        "lat": 37.5192,
        "lng": -122.0574
      }
    }
  ],
  "unitOfLength": "METER",
  "pickupTime": "2000-01-01T12:00:27.87+00:20",
  "currency": "USD",
  "specialCost": 33.34,
  "includedDistance": 1500,
  "includedDuration": 60000
}

Response

Type: OrderPrepareResponseObject

{
  "orderId": "12345678-1234-1234-1234-1234567890AB",
  "confirmationId": "12345678-1234-1234-1234-1234567890AB",
  "orderPreparationData": {
    "allTariffsTripEstimations": [
      {
        "cost": 33.34,
        "fixedCost": true,
        "priceMultiplier": 2.1,
        "tariffId": "12345678-1234-1234-1234-1234567890AB"
      }
    ]
  }
}

Confirm an Order

POST
/dispatch/v2/order/confirm/{ORDER_ID}

Confirm order creation. The order will be visible in the Dispatch panel. Important Notes: - For manual driver assignment, add the driver ID to the request body using the manualAssignDriver field - Manual driver assignment is only available for Operator users with Full Access or Limited Access permissions - For paymentMethods: "THIRD_PARTY", use a Partner access operator and their API token

Request Body

Type: OrderConfirmRequestObject

{
  "confirmationId": "12345678-1234-1234-1234-1234567890AB",
  "extraOptions": ["CHILD_SEAT"],
  "client": {
    "clientId": "12345678-1234-1234-1234-1234567890AB",
    "name": "John Smith",
    "phone": "+123121231212",
    "imageUrl": "https://image.com/"
  },
  "notes": "Some text",
  "numberOfSeats": 4,
  "vehicleType": "BUS",
  "tariffType": "PRECISE",
  "paymentMethods": ["CASH", "TERMINAL"],
  "prepaid": false,
  "manualAssignDriver": "12345678-1234-1234-1234-1234567890AB"
}

Response

Type: OrderConfirmResponseObject

{
  "orderId": "12345678-1234-1234-1234-1234567890AB"
}

Get All Companies

GET
/v1/company

Retrieve a list of all available companies.

Response

Type: Array of CompanyObject

{
  "companies": [
    {
      "id": "12345678-1234-1234-1234-1234567890AB",
      "name": "Example Company",
      // ... other company fields
    }
  ]
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Get Company Details

GET
/v1/company/{COMPANY_ID}

Get detailed information about a specific company.

Parameters

ParameterDescriptionExample
COMPANY_IDUnique identifier of the company12345678-1234-1234-1234-1234567890AB

Response

Type: CompanyObject

{
  "id": "12345678-1234-1234-1234-1234567890AB",
  "name": "Example Company",
  // ... other company fields
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Get Company Drivers

GET
/v1/company/{COMPANY_ID}/driver

Retrieve a list of all drivers associated with a specific company.

Parameters

ParameterDescriptionExample
COMPANY_IDUnique identifier of the company12345678-1234-1234-1234-1234567890AB

Response

Type: Array of DriverObject

{
  "drivers": [
    {
      "id": "12345678-1234-1234-1234-1234567890AB",
      "name": "John Doe",
      // ... other driver fields
    }
  ]
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Get Driver Details

GET
/v1/company/{COMPANY_ID}/driver/{DRIVER_ID}

Get detailed information about a specific driver in a company.

Parameters

ParameterDescriptionExample
COMPANY_IDUnique identifier of the company12345678-1234-1234-1234-1234567890AB
DRIVER_IDUnique identifier of the driver12345678-1234-1234-1234-1234567890AB

Response

Type: DriverObject

{
  "id": "12345678-1234-1234-1234-1234567890AB",
  "name": "John Doe",
  // ... other driver fields
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Request Driver Topup Invoice

POST
/v1/company/{COMPANY_ID}/driver/{DRIVER_ID}/topup

Request a topup invoice for a specific driver.

Parameters

ParameterDescriptionExample
COMPANY_IDUnique identifier of the company12345678-1234-1234-1234-1234567890AB
DRIVER_IDUnique identifier of the driver12345678-1234-1234-1234-1234567890AB

Request Body

Type: TopupRequestObject

{
  "money": {
    "amount": 20.00,
    "currency": "EUR"
  },
  "comment": "Bank wire transfer #1234567890. Some comment for the top up"
}

Response

Type: InvoiceObject

{
  "invoiceId": "12345678-1234-1234-1234-1234567890AB",
  // ... other invoice fields
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Request Driver Withdraw Invoice

POST
/v1/company/{COMPANY_ID}/driver/{DRIVER_ID}/withdraw

Request a withdrawal invoice for a specific driver.

Parameters

ParameterDescriptionExample
COMPANY_IDUnique identifier of the company12345678-1234-1234-1234-1234567890AB
DRIVER_IDUnique identifier of the driver12345678-1234-1234-1234-1234567890AB

Request Body

Type: WithdrawRequestObject

{
  "money": {
    "amount": 20.00,
    "currency": "EUR"
  },
  "comment": "Some reason of 20 EUR return."
}

Response

Type: InvoiceObject

{
  "invoiceId": "12345678-1234-1234-1234-1234567890AB",
  // ... other invoice fields
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Commit Driver Invoice

POST
/v1/company/{COMPANY_ID}/driver/{DRIVER_ID}/commit

Commit a pending invoice for a specific driver.

Parameters

ParameterDescriptionExample
COMPANY_IDUnique identifier of the company12345678-1234-1234-1234-1234567890AB
DRIVER_IDUnique identifier of the driver12345678-1234-1234-1234-1234567890AB

Request Body

Type: CommitInvoiceRequestObject

{
  "invoiceId": "12345678-1234-1234-1234-1234567890AB"
}

Response

Type: InvoiceObject

{
  "invoiceId": "12345678-1234-1234-1234-1234567890AB",
  "status": "committed",
  // ... other invoice fields
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Get Order Details

GET
/dispatch/v1/order/{ORDER_ID}/request

Get request data for the order. Customer email is shown in case it was initially set in the Customer app.

Response

Type: OrderRequestObject

{
  "waypoints": [
    {
      "exactLatLng": {
        "lat": 37.4192,
        "lng": -122.0574
      },
      "premise": "Google Store",
      "houseNumber": "22",
      "street": "Avenue",
      "subLocality": "California",
      "locality": "California",
      "city": "Mountain View",
      "district": "California",
      "province": "California",
      "country": "United States",
      "postalCode": "94043",
      "countryCode": "US",
      "poiName": "Google Store",
      "placeLatLng": {
        "lat": 37.4192,
        "lng": -122.0574
      }
    }
  ],
  "extraOptions": ["CHILD_SEAT", "AIR_CONDITION"],
  "client": {
    "clientId": "12345678-1234-1234-1234-1234567890AB",
    "name": "John Smith",
    "phone": "+123456789012",
    "imageUrl": "https://example.com/profile.jpg",
    "email": "[email protected]"
  },
  "notes": "Please wait at the main entrance",
  "unitOfLength": "KILOMETER",
  "specialCost": 50.00,
  "tripDistance": 15.5,
  "tripDuration": 1800000,
  "pickupTime": "2024-03-20T14:30:00.000Z",
  "numberOfSeats": 4,
  "vehicleType": "BUSINESS",
  "tariffType": "PRECISE",
  "paymentMethods": ["CASH", "TERMINAL"],
  "prepaid": false,
  "tariffId": "12345678-1234-1234-1234-1234567890AB",
  "manualAssignDriver": "12345678-1234-1234-1234-1234567890AB",
  "orderSource": "DISPATCH_API"
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Get Order Offer

GET
/dispatch/v1/order/{ORDER_ID}/offer

When a driver accepts an order, it transforms into an offer. This method lets you get the offer information that consists of driver and car details, tariff, and ETA.

Response

Type: OrderOfferObject

{
  "eta": "2024-03-20T14:45:00.000Z",
  "driver": {
    "driverId": "12345678-1234-1234-1234-1234567890AB",
    "name": "Michael Brown",
    "phone": "+123456789012",
    "email": "[email protected]",
    "imageUrl": "https://example.com/driver.jpg"
  },
  "car": {
    "model": "Tesla Model S",
    "color": "Black",
    "year": 2023,
    "imageUrl": "https://example.com/car.jpg",
    "plateNumber": "ABC123",
    "numberOfSeats": 4,
    "vehicleType": "BUSINESS",
    "options": ["AIR_CONDITION", "NON_SMOKING"]
  },
  "tariff": {
    "tariffId": "12345678-1234-1234-1234-1234567890AB",
    "name": "Business Class",
    "companyName": "Premium Rides",
    "vehicleType": "BUSINESS",
    "tariffType": "PRECISE",
    "numberOfSeats": 4,
    "paymentMethods": ["CASH", "TERMINAL"],
    "currency": "USD",
    "unitOfLength": "KILOMETER",
    "minimumCharge": 20,
    "maximumCharge": 200,
    "flagDownFee": 5,
    "perDistanceUnitFee": 2.5,
    "perHourFee": 60,
    "taximeterMode": "TIME_AND_MILEAGE",
    "tariffMode": "AUTO",
    "driverCanSetCost": false,
    "fixedFaresAvailable": false,
    "fixedCost": false,
    "prepaidSupported": false,
    "asapBooking": true,
    "preBooking": true,
    "minimumPreBookingDelay": 3600000
  }
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields
204No contentThe driver hasn't accepted an order

Get Order Update

GET
/dispatch/v1/order/{ORDER_ID}/update

Get order status and driver's location update. Note: For real-time updates, use the WebSocket notification channel instead of polling this endpoint.

Response

Type: OrderUpdateObject

{
  "driverId": "12345678-1234-1234-1234-1234567890AB",
  "driverLocation": {
    "accuracy": 10.5,
    "time": "2024-03-20T14:40:00.000Z",
    "bearing": 180.5,
    "speed": 13.8,
    "lat": 37.4192,
    "lng": -122.0574
  },
  "status": "ON_WAY_TO_CLIENT"
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Get Trip Summary

GET
/dispatch/v1/order/{ORDER_ID}/summary

Get trip summary information after the trip is completed.

Response

Type: TripSummaryObject

{
  "createTime": "2024-03-20T14:30:00.000Z",
  "pickupTime": "2024-03-20T14:45:00.000Z",
  "dropoffTime": "2024-03-20T15:15:00.000Z",
  "currency": "USD",
  "unitOfLength": "KILOMETER",
  "tripDistance": 15.5,
  "tripDuration": 1800000,
  "tripCost": 50.00,
  "extraCost": 5.00,
  "finalCost": 55.00,
  "payments": [
    {
      "time": "2024-03-20T15:15:00.000Z",
      "amount": 55.00,
      "method": "TERMINAL"
    }
  ],
  "ratingByDriver": 5,
  "pickupLocation": {
    "lat": 37.4192,
    "lng": -122.0574
  },
  "dropoffLocation": {
    "lat": 37.4292,
    "lng": -122.1574
  },
  "orderSource": "DISPATCH_API"
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Update Passenger Location

PUT
/dispatch/v1/order/{ORDER_ID}/passenger/location

Update the passenger's location. The updated location can be viewed in the Driver App.

Request Body

Type: LocationObject

{
  "accuracy": 20,
  "time": "2000-09-29T12:56:26.834+03:00",
  "lat": 37.4192,
  "lng": -122.0574
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

Change Order Status

PUT
/dispatch/v1/order/{ORDER_ID}/status

Change order status. Only canceling (status: "CANCELLED_BY_DISPATCH") is available via the API.

Request Body

Type: OrderStatusObject

{
  "status": "CANCELLED_BY_DISPATCH"
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields
403ForbiddenCheck if the order is active or status is correct

Get Nearby Vehicles

GET
/dispatch/v1/vehicle

Search for active vehicles at a location filtered by the provided parameters. At least an origin parameter is required. Please ensure your drivers are online.

Parameters

ParameterDescriptionExample
originOrigin location (latitude & longitude) where service is ordered from.origin=37.4192,-122.0574
numberOfSeatsFilter vehicles with not less than specified number of seats.numberOfSeats=4
vehicleTypeFilter for vehicles of specified classvehicleType=CLASSIC

Response

Type: Array of VehicleObject

{
  "vehicles": [
    {
      "location": {
        "accuracy": 20.0,
        "time": "2020-10-30T11:49:43.761Z",
        "bearing": 143.26556,
        "speed": 24.873869,
        "lat": 144.8997145,
        "lng": 27.5600882
      },
      "vehicleType": "CLASSIC"
    }
  ]
}

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields

WebSocket Notifications

WS
/dispatch/v1/notification/{AUTH_TOKEN}

WebSocket to listen for order update notifications. Connection limit is 100 connections/hour. IMPORTANT NOTES: - The connection limit is set to 100 connections/hour - To properly utilize WebSocket, connect once and maintain an active connection - Connection is automatically closed after 30 seconds of inactivity - Send keep-alive messages within 20 seconds to maintain the connection - There is no need for constant reconnection

Response Codes

CodeMessageSolution
200Standard response for successful HTTP requests.No solution required
400Bad requestCheck the correctness of the request fields
401Authorization failureCheck your Operator API token
404Not foundCheck the request URL
500Internal server errorCheck the correctness of the request fields
502Bad gatewayCheck the correctness of the request fields