Zum Hauptinhalt springen

API für Operatoren

Verbinden Sie Ihre Software mit PrivJet Ops. Für Ihre eigenen Daten kostenlos.

Anmeldung

Legen Sie im Portal unter „API & Webhooks“ einen Schlüssel an (beginnt mit pj_op_) und senden Sie ihn als Bearer-Token. Schlüssel lassen sich jederzeit sperren; je Schlüssel gilt ein Limit gegen Missbrauch.

OpenAPI 3.1 (JSON)

Endpunkte

Empty legs

  • GET/api/v1/empty-legsList your empty legs
  • POST/api/v1/empty-legsCreate up to 50 empty legs
  • POST/api/v1/operator/legs/importRead empty legs from text, a PDF or an image into a draft
  • GET/api/v1/operator/legs/draftsOpen leg drafts (portal, API, email, WhatsApp, Telegram)
  • GET/api/v1/operator/legs/drafts/{id}One leg draft
  • POST/api/v1/operator/legs/drafts/{id}Confirm a draft and create the selected legs
  • DELETE/api/v1/operator/legs/drafts/{id}Discard a draft
  • GET/api/v1/operator/statsStatistics of your empty legs

Fleet

  • GET/api/v1/operator/aircraftList your aircraft
  • POST/api/v1/operator/aircraftAdd an aircraft
  • GET/api/v1/operator/aircraft/{id}Get one aircraft
  • PATCH/api/v1/operator/aircraft/{id}Update an aircraft
  • DELETE/api/v1/operator/aircraft/{id}Deactivate an aircraft

Availability

  • GET/api/v1/operator/aircraft/{id}/availabilityCalendar entries of an aircraft
  • POST/api/v1/operator/aircraft/{id}/availabilityAdd a calendar entry (optionally publish a repositioning flight as an empty leg)
  • PATCH/api/v1/operator/availability/{id}Update a calendar entry
  • DELETE/api/v1/operator/availability/{id}Delete a calendar entry (an unbooked empty leg published from it goes offline)
  • POST/api/v1/operator/availability/{id}/publishPublish an existing future repositioning flight as an empty leg

Requests

  • GET/api/v1/operator/requestsOpen charter requests matching your fleet and base (anonymous)
  • POST/api/v1/operator/requests/{id}/bidOpen the quote form for a request

Quotes

  • POST/api/v1/operator/requests/{id}/quotesSubmit or update a quick quote on a request
  • DELETE/api/v1/operator/requests/{id}/quotesWithdraw your quick quote
  • POST/api/v1/operator/quoteCalculate a quote from your rates
  • POST/api/v1/operator/quote/pdfQuotation PDF for your client, under your company name: only the client’s flights and the price (no registration, positioning, margin or estimates). Admin/sales.
  • GET/api/v1/operator/quote/settingsYour quote settings
  • PUT/api/v1/operator/quote/settingsSave quote settings (admin/sales)

Integrations

  • GET/api/v1/operator/legs/exportYour empty legs as CSV (same columns as the CSV import, plus status and link; max 1,000)
  • GET/api/v1/operator/availability/exportFleet calendar as CSV (times in UTC)
  • GET/api/v1/operator/icalSecret iCal subscription link (fleet calendar, your empty legs, confirmed bookings, no customer data). A new link is created in the portal.
  • GET/api/v1/operator/aircraft/{id}/ical-importStatus of the calendar import of an aircraft
  • PUT/api/v1/operator/aircraft/{id}/ical-importConnect an iCal calendar (Leon, FL3XX, Google …) to an aircraft and sync it now. Busy times are imported every 30 minutes
  • POST/api/v1/operator/aircraft/{id}/ical-importSync the connected calendar now
  • DELETE/api/v1/operator/aircraft/{id}/ical-importDisconnect the calendar (future imported entries are removed)

Bookings

  • GET/api/v1/operator/contractsYour bookings and quotes
  • POST/api/v1/operator/contracts/{id}/cancelCancel a confirmed booking
  • POST/api/v1/operator/contracts/{id}/crew-confirmConfirm the crew for a booking

Beispiel: Empty Leg anlegen

curl -X POST https://www.privjet.net/api/v1/empty-legs \
  -H "Authorization: Bearer pj_op_…" \
  -H "Content-Type: application/json" \
  -d '{"emptyLegs":[{"departureAirport":{"icao":"LSGG"},"arrivalAirport":{"icao":"LFMN"},
       "departureDate":"2026-11-03","departureTime":"14:30",
       "aircraft":{"model":"Citation XLS+","manufacturer":"Cessna"},
       "maxPassengers":8,"price":6400,"currency":"EUR"}]}'

Webhooks melden Ereignisse an Ihre Systeme (signiert mit HMAC-SHA256, ohne Kundendaten); Sie richten sie im Portal unter „API & Webhooks“ ein. Diese Ereignisse gibt es:

  • contract.signedKunde hat einen Vorvertrag für Ihr Leg bzw. Ihr Angebot unterschrieben
  • contract.confirmedSie haben die Buchung bestätigt, Servicegebühr offen
  • contract.service_fee_paidServicegebühr bezahlt, Kunde überweist jetzt den Flugpreis an Sie
  • contract.paidFlugpreis eingegangen (von Ihnen bestätigt)
  • contract.completedFlug abgeschlossen
  • contract.cancelledBuchung storniert
  • contract.refundedBuchung erstattet
  • rfq.createdNeue Charter-Anfrage im Marktplatz, die zu Ihrer Flotte passt
  • charter.bid_requestedWir haben Sie direkt um ein Angebot gebeten
  • charter.bid_submittedIhr Angebot ist eingegangen
  • charter.bid_wonDer Kunde hat Ihr Angebot gewählt
  • charter.bid_outbidDer Kunde hat ein anderes Angebot gewählt
  • charter.no_quotes_receivedAnfrage ohne Angebote beendet
  • leg.approvedLeg nach Prüfung freigegeben
  • leg.rejectedLeg nach Prüfung abgelehnt
  • leg.bookedLeg gebucht (Flugpreis bezahlt)
  • test.pingTest-Ereignis (Knopf „Testen“)

Marktdaten anderer Anbieter gehören zur kostenpflichtigen Broker-API. Zur Broker-API