Connect API v1

REST API to search vehicles and create bookings on the Fly & Drive OTA.

Base URL

Canonical API host: https://api.fly-and-drive.com/v1

OpenAPI spec: api.fly-and-drive.com/openapi. Legacy portal path /api/connect/v1 on developer.fly-and-drive.com remains supported.

Authentication

Header Authorization: Bearer fd_connect_test_... or fd_connect_live_...

Rate limit: 10 requests per second per Connect partner. Every response includes X-RateLimit-Limit and X-RateLimit-Remaining. HTTP 429 when exceeded.

Search: GET /search/drive

Query: airport, from, to (YYYY-MM-DD)

GET https://api.fly-and-drive.com/v1/search/drive?airport=NCE&from=2026-09-01&to=2026-09-08

Booking: POST /bookings

JSON body: offerId, airportIata, pickupDate, returnDate, customer

Optional: Idempotency-Key header (1–256 chars, 24h TTL — replays return the same response; concurrent duplicate returns HTTP 409); anytimeFlex defaults to false

Status: GET /bookings/:id

Returns booking status and voucherToken when confirmed.

Embed widget: GET /api/connect/widget-config

Returns theme (accent color, logo, allowed domains) for the embed widget loader at /connect/widget.js. Authenticate with Bearer or ?key=fd_connect_....

Customize theme in the dashboard; this endpoint is read-only for the widget runtime.

Webhooks

Register separate test and live URLs in the dashboard. Events are routed by API key environment only.

Events: booking.created, booking.confirmed, booking.rejected, booking.cancelled

booking.cancelled includes cancelledBy, refundAmount, and penaltyAmount when a customer cancels via the app.

Failed deliveries are retried automatically (3 attempts, 60s then 5min backoff). Verify with the Fly-Drive-Signature HMAC header.

Signature: Fly-Drive-Signature header (HMAC-SHA256). Use the whsec_ signing secret from the dashboard to verify payloads.

Environments

  • test: sandbox inventory (is_sandbox partners), wallet payment
  • live: production fleet, Stripe Checkout

Full OpenAPI specification: openapi.yaml