Contents
On this page

List Vehicles - Plugixa Chauffeur

GET /plugixa-chauffeur/v1/vehicles

List vehicles, published and draft, one page at a time.

Needs a signed-in user with the plugixa_chauffeur_manage capability (administrators have it after activation).

Request

GET https://your-site.example/wp-json/plugixa-chauffeur/v1/vehicles?status=published&orderby=display_order&order=ASC

Query parameters

Name Type Default Description
search string Matches part of the name or the description.
status string published or draft.
vehicle_type_id integer Vehicles of this type only.

Plus the list parameters every list accepts. orderby accepts created_at (the default), name, display_order, base_price and status. To get the order the wizard uses, ask for orderby=display_order&order=ASC.

Responses

200 OK. data.items is one page of vehicles.

{
  "success": true,
  "message": "",
  "data": {
    "items": [
      {
        "id": "3",
        "language_code": null,
        "translation_group": null,
        "name": "Mercedes E-Class",
        "slug": "mercedes-e-class",
        "description": "<p>Executive sedan with leather seats and Wi-Fi.</p>",
        "vehicle_type_id": "1",
        "image_id": "57",
        "gallery": [
          58,
          59
        ],
        "max_passengers": 3,
        "max_luggage": 3,
        "base_location_id": null,
        "base_price": 20.0,
        "price_per_distance": 1.8,
        "price_per_hour": 55.0,
        "min_price": 45.0,
        "status": "published",
        "display_order": "0",
        "created_at": "2026-11-12 09:30:00",
        "created_by": "1",
        "modified_at": "2026-11-12 09:30:00",
        "modified_by": "1",
        "image_url": "https://your-site.example/wp-content/uploads/2026/11/e-class-300x200.jpg",
        "vehicle_type_name": "Executive sedan",
        "base_location_name": null
      }
    ],
    "total": 6,
    "limit": 20,
    "offset": 0
  }
}
Field Type Meaning
data.items array One page of rows
data.total integer Rows matching the filters, before paging
data.limit integer Rows per page used. 999999 when you asked for every row
data.offset integer Rows skipped
data.items[] object A vehicle, as in Get Vehicle
data.items[].vehicle_type_name string|null Its type’s name. Only in the list
data.items[].base_location_name string|null Its base location’s name. Only in the list

Errors

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-chauffeur/v1/vehicles?status=published&orderby=display_order&order=ASC" \
  -u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query([
    'status'  => 'published',
    'orderby' => 'display_order',
    'order'   => 'ASC',
]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-chauffeur/v1/vehicles?' . $query);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_USERPWD        => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const auth = Buffer.from(`admin:${process.env.WP_APP_PASSWORD}`).toString('base64');
const query = new URLSearchParams({ status: 'published', orderby: 'display_order', order: 'ASC' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-chauffeur/v1/vehicles?${query}`, {
  headers: {
    'Authorization': `Basic ${auth}`,
  },
});
const { data } = await response.json();

Quick Links

Share