Retour API publiquev1
DEVIS

Devis

Calculez un devis pour une course A→B : prix HT, TVA, distance et durée — sans créer de ressource.

POST/v1/quotes

Calculate a quote

Calcule le prix d'une course A→B en utilisant la grille tarifaire de votre compte (par défaut ou explicite). Ne crée aucune ressource. N'utilise pas votre quota de calcul de distance.

Body fields

NameTypeRequiredDescription
pickupstring required Pickup address (formatted).
e.g. "10 rue de Rivoli, 75004 Paris"
dropoffstring required Drop-off address (formatted).
e.g. "15 avenue Montaigne, 75008 Paris"
serviceTierIdstring (Mongo ID) required Service tier identifier (e.g. "Berline", "Van").
pricingSchemeIdstring (Mongo ID) optional Override the user's default pricing scheme. Must be of type STANDARD.
tripType"TRIP" | "AVAILABILITY" optional TRIP = standard A→B (VAT 10%). AVAILABILITY = vehicle-with-driver service (VAT 20%). Defaults to TRIP.
scheduledAtstring (ISO 8601) optional Scheduled pickup time. Used for traffic-aware ETA when present.

Response fields

NameTypeRequiredDescription
route.distanceKmnumber required Total distance in kilometres (2-decimal precision).
route.durationMinutesnumber required Total duration in minutes, traffic-aware when scheduledAt is recent.
price.totalCentsinteger required Pre-VAT total in cents (HT).
vat.ratenumber required Applied VAT rate (0, 10 or 20). 0 if the user is VAT-exempt.
vat.totalTTCnumber required Final price in EUR (TTC) — what the rider pays.

Example

curl -X POST https://api.mastro.app/v1/quotes \
  -H "Authorization: Bearer $MASTRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "pickup": "10 rue de Rivoli, 75004 Paris",
    "dropoff": "Aéroport CDG, 95700 Roissy",
    "serviceTierId": "65a1f3e7c8b1d2e3f4a5b6c7"
  }'

Error codes

SERVICE_TIER_NOT_FOUNDPRICING_SCHEME_NOT_FOUNDPRICING_SCHEME_REQUIREDPRICING_SCHEME_NOT_QUOTE_CAPABLERATE_LIMITED