Maleku System offers two distinct transportation listing APIs: Vehicles for car and ground-transport rentals, and Boats for nautical equipment including boats, jet skis, and kayaks. Both follow the same CRUD pattern. Write operations require an authenticated vendor. Soft deletes are used —Documentation Index
Fetch the complete documentation index at: https://mintlify.com/IvanchoDev89/maleku-system/llms.txt
Use this file to discover all available pages before exploring further.
is_active is set to false rather than removing the record.
Vehicles
The Vehicles API manages rentable ground-transport listings — cars, SUVs, vans, minibuses, and motorcycles.GET /api/v1/vehicles/
Returns a paginated list of active, available vehicles. Results are ordered byprice_per_day ascending.
Auth: Bearer token (authenticated users only)
Filter by pickup location (partial ILIKE match).
Filter by vehicle type. Accepted values:
car, suv, van, minibus, motorcycle.Minimum seating capacity required.
Number of records to skip (offset-based pagination).
Maximum records to return. Capped at 100.
200
POST /api/v1/vehicles/
Creates a new vehicle listing. Only vendors with an existing vendor profile may create listings. Auth: Bearer token — Vendor role required Rate limit: 10 requests/minute per IP Request body201 — full vehicle object including generated id, vendor_id, created_at, and updated_at.
GET /api/v1/vehicles/
Returns detailed information for a specific vehicle by UUID. Auth: Public Response404 — { "detail": "Vehicle not found" }
PUT /api/v1/vehicles/
Updates a vehicle. Only the owning vendor may update. The vendor profile is verified by matchingvendor_id against the authenticated user.
Auth: Bearer token — Owner Vendor
Rate limit: 10 requests/minute per IP
Request body — any subset of VehicleUpdate fields, for example:
DELETE /api/v1/vehicles/
Soft-deletes the vehicle by settingis_active = false.
Auth: Bearer token — Owner Vendor
Response 200
Key Vehicle Fields
| Field | Type | Description |
|---|---|---|
vehicle_type | enum | car, suv, van, minibus, motorcycle |
brand | string(50) | Manufacturer, e.g. "Toyota" |
model | string(100) | Model name, e.g. "RAV4" |
year | integer | Model year (2000–2030) |
transmission | enum | automatic, manual |
fuel_type | enum | gasoline, diesel, electric, hybrid |
seats | integer | Seating capacity (1–50) |
price_per_day | float | Daily rental rate (USD) |
price_per_week | float | Weekly rental rate (USD) |
price_per_month | float | Monthly rental rate (USD) |
deposit_amount | float | Security deposit amount (USD) |
location | string | Primary pickup location |
pickup_locations | string[] | Available pickup points |
dropoff_locations | string[] | Available drop-off points |
features | object | Key/value map of vehicle features |
insurance_options | object | Available insurance tiers and their daily rates (USD) |
requirements | string[] | Renter requirements |
is_available | boolean | Real-time availability flag |
GET /api/v1/vehicles/vendor/my-vehicles
Returns the authenticated vendor’s own vehicle listings. Auth: Bearer token — Vendor role required Response200 — array of VehicleResponse objects belonging to the vendor.
Boats
The Boats API manages nautical rental listings — motor boats, jet skis, kayaks, paddleboards, and dive equipment.GET /api/v1/boats/
Returns a paginated list of active, available nautical equipment. Results are ordered byprice_per_day ascending.
Auth: Bearer token (authenticated users only)
Filter by operating location (partial ILIKE match).
Filter by equipment type. Accepted values:
boat, jet_ski, kayak, paddleboard, equipment.Minimum passenger capacity required.
Offset for pagination.
Maximum records to return. Capped at 100.
200
POST /api/v1/boats/
Creates a new nautical equipment listing. Auth: Bearer token — Vendor role required Rate limit: 10 requests/minute per IP Request body201 — full boat equipment object.
GET /api/v1/boats/
Returns detailed information for a specific piece of nautical equipment. Auth: Public Response404 — { "detail": "Boat equipment not found" }
PUT /api/v1/boats/
Updates a boat listing. Only the owning vendor may update. Auth: Bearer token — Owner Vendor Rate limit: 10 requests/minute per IPDELETE /api/v1/boats/
Soft-deletes the boat by settingis_active = false.
Auth: Bearer token — Owner Vendor
Response 200
Key Boat Fields
| Field | Type | Description |
|---|---|---|
equipment_type | enum | boat, jet_ski, kayak, paddleboard, equipment |
brand | string(50) | Manufacturer name |
model | string(100) | Model name |
year | integer | Manufacture year (2000–2030) |
capacity | integer | Passenger capacity (1–100) |
length_foot | float | Vessel length in feet |
price_per_hour | float | Hourly charter rate (USD) |
price_per_day | float | Daily charter rate (USD) |
price_per_week | float | Weekly charter rate (USD) |
location | string | Marina or base location |
operating_area | string | Geographic area of operation |
requires_license | boolean | Whether a captain’s license is needed |
license_notes | string | Notes about license requirements |
features | object | Key/value map of onboard features |
is_available | boolean | Real-time availability flag |
GET /api/v1/boats/vendor/my-boats
Returns the authenticated vendor’s own nautical equipment listings. Auth: Bearer token — Vendor role required Response200 — array of BoatEquipmentResponse objects belonging to the vendor.
Transportation
Maleku System includes a dedicated Transportation API for airport shuttles and private transfer services. That API lives at/api/v1/transportation/ and is documented separately. It is not part of the Vehicles or Boats APIs.