REST API · v1

API Documentation

Push empty-leg inventory directly to the LPJFlights feed. Authenticate with your operator API key.

Authentication

Every request must include your operator API key in the x-api-key header. Find it in your dashboard.

x-api-key: <your_operator_api_key>

POST /api/v1/flights

Create or update a flight listing. Rejected automatically if price > $5,000 or departure > 7 days out.

curl -X POST https://lpjflights.com/api/v1/flights \
  -H "x-api-key: $LPJFLIGHTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "flight_number": "LPJ-2201",
    "departure_city": "Teterboro",
    "departure_state": "NJ",
    "departure_icao": "KTEB",
    "arrival_city": "West Palm Beach",
    "arrival_icao": "KPBI",
    "date_time": "2026-06-22T14:30:00Z",
    "aircraft_type": "Citation CJ3",
    "seats_available": 6,
    "is_entire_plane": true,
    "booking_url": "https://yoursite.com/book/flight-id",
    "flight_status": "member_priority",
    "member_window_closes_at": "2026-06-20T18:00:00Z",
    "price": 4250
  }'

booking_url (optional) — The direct URL where travelers can book this flight on your platform. When provided, the Book Now button on LPJFlights sends travelers directly to this page.

flight_status (optional) — "available" (default) or "member_priority". Member priority listings show a priority badge and a Request This Flight button instead of Book Now, so travelers can join the waitlist while your existing customers get first access.

member_window_closes_at (optional, ISO 8601) — Required when flight_status is "member_priority". At this time the listing automatically switches to "available" and everyone who requested it is notified. Omitting it returns: member_window_closes_at is required when flight_status is member_priority

Existing integrations that omit both fields continue to work unchanged — listings default to "available".

POST /api/webhooks/inventory

Real-time updates. Send { event: "delete", flight_id: "..." } to remove a listing.

curl -X POST https://lpjflights.com/api/webhooks/inventory \
  -H "x-api-key: $LPJFLIGHTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "event": "delete", "flight_id": "uuid-here" }'

Rate Limits & Validation

  • · API access is available on Growth, Pro, and Enterprise plans only. Starter plan operators use the manual dashboard instead.
  • · Growth plan: 60 requests per minute
  • · Pro plan: 150 requests per minute
  • · Enterprise plan: Custom rate limit set by admin
  • · Price must be greater than $0 and at most $5,000 USD
  • · Departure must be in the future and within the next 7 days
  • · Operators cannot exceed their plan's active listing limit
  • · If subscription is inactive, paused, or past due, API access is automatically disabled
  • · Expired flights are auto-purged after the departure date/time