Public API

    Built for AI agents

    Vroam Public API

    A small, read-only API exposing Vroam's Bali scooter rental catalog, supported areas and indicative price estimates. Designed for AI agents, LLMs and price-discovery integrations. Final booking availability requires supplier confirmation.

    Read-only

    Never creates bookings or charges.

    Live DB-backed

    Models & categories pulled fresh per request.

    OpenAPI 3.1

    Machine-readable spec at /openapi.json.

    Base URL

    https://yjahgjlsvggmxtctftje.supabase.co/functions/v1/api

    No auth required. CORS open to all origins. Cache headers set to ~5 minutes for catalog/estimate responses.

    Endpoints

    • GET/health

      Service health probe — returns { status: 'ok' }.

    • GET/openapi.json

      OpenAPI 3.1 specification (application/vnd.oai.openapi+json).

    • GET/catalog/models

      All active scooter & motorbike models with id, brand, name, category, cc.

    • GET/catalog/categories

      All bike categories (Budget, Comfort/Medium, Premium, Sport/Large) with pricing tiers.

    • GET/catalog/locations

      Supported Bali areas (Canggu, Ubud, Uluwatu, Seminyak, Sanur, Kuta, Amed, Sukawati, Nusa Dua, Denpasar).

    • GET/prices/estimate?location=&start_date=&end_date=&category=&delivery=&surf_rack=

      Indicative IDR price estimate. Required: location, start_date (YYYY-MM-DD), end_date (YYYY-MM-DD). Optional: category, delivery, surf_rack.

    Examples

    1. Premium scooter price for one week in Canggu

    curl "https://yjahgjlsvggmxtctftje.supabase.co/functions/v1/api/prices/estimate?location=Canggu&start_date=2026-06-01&end_date=2026-06-08&category=Premium"

    Returns total + per-day estimate in IDR with notes on availability.

    2. Compare Premium scooter prices in Ubud (3-day vs weekly)

    # 3-day rental
    curl "https://yjahgjlsvggmxtctftje.supabase.co/functions/v1/api/prices/estimate?location=Ubud&start_date=2026-06-01&end_date=2026-06-04&category=Premium"
    
    # 7-day rental (typically a cheaper per-day rate)
    curl "https://yjahgjlsvggmxtctftje.supabase.co/functions/v1/api/prices/estimate?location=Ubud&start_date=2026-06-01&end_date=2026-06-08&category=Premium"

    3. Fetch the full model catalog

    curl "https://yjahgjlsvggmxtctftje.supabase.co/functions/v1/api/catalog/models"

    4. Discover this API automatically (RFC 9727)

    curl "https://yjahgjlsvggmxtctftje.supabase.co/functions/v1/api-catalog"
    # Returns application/linkset+json with rel="service-desc", "service-doc", "status".

    A note on pricing

    • All prices in IDR (Indonesian Rupiah).
    • Rentals are billed in 24-hour blocks; 1-day rentals incur a 50% surcharge on the daily base price.
    • Longer rentals (7+ days, 28+ days) automatically tier into cheaper per-day rates.
    • Delivery is free across all major Bali areas — no fee added in the estimate.
    • Damage protection is optional and reported separately, not included in the total.
    • Estimates are indicative. Final availability and confirmed price are returned only when a booking is made through ridevroam.com — supplier confirmation is required.

    Agent discovery

    Every page on ridevroam.com advertises this API via in-document <link rel="api-catalog"> and <link rel="service-desc"> tags (RFC 8288 in-HTML equivalent of HTTP Link headers). The catalog itself is served as application/linkset+json per RFC 9727.

    ← Back to Vroam