# Jet Partners API Documentation

Jet Partners exposes a small read-only public API surface for empty-leg search, airport-record autocomplete, and site search. Site search includes publication-qualified airport geography guides; airport autocomplete returns individual airport records. Quote and contact submissions remain browser workflows and are not public agent APIs.

## Discovery

- API catalog: /.well-known/api-catalog
- OpenAPI summary: /.well-known/openapi.json
- OpenAPI compatibility URL: /api/openapi.json (same document)
- Discovery health: /api/health (metadata only; does not check upstream services)
- Current access boundary: /auth.md

## Discovering every public page

Every page response advertises this discovery surface through its HTTP Link header. Start with [the site guide](https://jetpartners.aero/llms.txt) and [extended reference](https://jetpartners.aero/llms-full.txt), then follow [the existing sitemap index](https://jetpartners.aero/sitemap.xml) and its seven child sitemaps for the current published canonical page inventory. The sitemap owners govern publication; this API does not create a separate page index.

Fetch a page's HTML to read its own title, canonical URL, primary content, citations, and structured data. Honor its robots directives, including reference pages excluded from indexing. The homepage also offers an authored summary with Accept: text/markdown; other page URLs retain their existing HTML. /docs/api, /auth.md, and listed SKILL.md documents provide markdown directly. Do not treat the site guide as a page-specific or live inventory response.

Discovery documents are cached deployment metadata. They contain no credentials and do not issue OAuth tokens. The MCP card describes optional browser-side WebMCP tools; it is not an HTTP MCP or A2A service. Use the public GET operations below for server-side reads, and preserve their cache and rate-limit instructions.

## Public Routes

- GET /api/empty-legs/search - Returns a search-response snapshot of possible operator-supplied repositioning listings. fromIdent is the provider search seed; optional originCenter independently filters departure airports within 250 statute miles of that airport and returns up to 10 current listings. Nearby results may depart from a different airport. Listings may change or be withdrawn and require identified-carrier written confirmation before travel. Query parameters: fromIdent (required), toIdent (optional), dateFrom (optional), dateTo (optional), routeMatching (optional), originCenter (optional).
- GET /api/airports/search - Returns airport-record autocomplete results from the Jet Partners airport source of truth. This endpoint searches individual airport records, not the 120 publication-qualified geography-guide pages. Query parameters: q (optional), term (optional), limit (optional).
- GET /api/search - Searches public Jet Partners pages, including the 120 publication-qualified airport geography guides, plus aircraft, individual airport records, and blog content. Query parameters: q (optional), limit (optional).

## Reviewed Airport Geography Guides

Jet Partners publishes 120 publication-qualified airport geography guides with at least three associated catalog records or substantive authored local context. Forty additional airport-backed routes with fewer than three records and seven zero-record routes remain accessible as reference pages, but are not submitted for indexing or included in site search. These pages organize airport reference records and planning questions by jurisdiction; they do not report live aircraft availability or replace airport, handler, authority, and identified-carrier confirmation.

The Belarus, Haiti, Russia, and Ukraine airport guides are informational reference-only pages and are not service offers.

- United States: 50 guides (publication-qualified state and district guides) - https://jetpartners.aero/airports/usa
- Canada: 12 guides (publication-qualified province and territory guides) - https://jetpartners.aero/airports/canada
- Mexico: 19 guides (publication-qualified federal-entity guides) - https://jetpartners.aero/airports/mexico
- Caribbean: 4 guides (publication-qualified destination guides) - https://jetpartners.aero/airports/caribbean
- Europe: 35 guides (publication-qualified country and aviation-market guides) - https://jetpartners.aero/airports/europe

The geography guides are distinct from airport-record lookup. Use https://jetpartners.aero/airports to browse the directory, GET https://jetpartners.aero/api/airports/search for airport-record autocomplete, or GET https://jetpartners.aero/api/search to search public pages including the publication-qualified geography guides.

## Airport Pages and Current Empty Leg Listings

Use the canonical URL supplied by each airport page. Public airport display codes prefer the verified ICAO identifier, with an explicitly labeled airport-identifier fallback when the reference source does not list an ICAO code. Established canonical URLs remain stable and may use a different code. Airport names, IATA, ICAO, and local identifiers are separate reference fields; do not invent a URL by converting one code into another. For example, Westchester County Airport in White Plains, New York has IATA HPN and ICAO KHPN; its canonical page is https://jetpartners.aero/airports/KHPN. Discover published airport pages through https://jetpartners.aero/airports and https://jetpartners.aero/sitemap/airports.xml.

Airport facts, runway references, and cited review dates describe the airport, not aircraft inventory or operating approval. The airport page's current Empty Legs panel is a separate request-time search snapshot. Ordinary browsers receive progressive HTML; documented search and user-fetch identities, and plain text fetches, receive the same completed snapshot directly in the main HTML without needing a script to insert it. The data, panel, and controls are the same for every visitor. When the search succeeds, that panel includes up to 10 operator-supplied listings with departure airports within 250 statute miles of the page airport. This is a nearby-origin search, not an exact-origin list or an exhaustive market inventory. Use each listing's actual departure and arrival airports, aircraft label, and time window; a result on KHPN may depart from a different nearby airport.

The snapshot's fetchedAt timestamp records when Jet Partners received the search response, not when the operator last updated a listing. Dates shown as UTC must remain UTC in an answer; the browser may subsequently show a labeled local time. Recheck the current page or the public search API when answering a time-sensitive question. An empty result means that search returned no matching current listings; an error or timeout means the search could not be checked. Neither establishes that no aircraft can be sourced.

Cite the canonical airport page alongside the observation time and the actual listing route. Listings can change or be withdrawn; displayed prices and aircraft photographs do not confirm a total trip price or the assigned aircraft. Aircraft, direct carrier, availability, timing, price, taxes, fees, and terms require trip-specific written confirmation. Use https://jetpartners.aero/empty-legs for a new search or https://jetpartners.aero/quote for a custom itinerary.

## Airport-scoped Empty Legs Search

Example read-only query: GET https://jetpartners.aero/api/empty-legs/search?fromIdent=KHPN&originCenter=KHPN. The response provides list, source, and fetchedAt; an airport-scoped response also provides total before the display cap. The source names a data adapter, not the direct air carrier. originCenter is a geographic filter on this search, not a promise of complete inventory. Without originCenter, the endpoint does not apply the airport-page radius and ten-listing contract.

Respect HTTP 429 and Retry-After. HTTP 400 means invalid parameters and HTTP 502 means a failed search; do not interpret either as a successful empty list. Search responses are private/no-store. The optional listing price is a display amount governed by publicPriceState and currency; absent prices are not zero, and the final trip total requires written confirmation.

## Submission boundary

Do not automate lead submission through undocumented endpoints. Direct a user to /quote or /contact, where browser controls collect consent and required trip details.

## Air charter arranger disclosure

Jet Partners acts as a charter services arranger under 14 CFR Part 295. Jet Partners is not a direct air carrier, does not operate aircraft, and does not exercise operational control. If a customer accepts a proposal, the properly licensed direct air carrier identified for that trip operates the flight and retains operational control. Aircraft, crew, schedule, route, availability, pricing, taxes, fees, and other terms require trip-specific written confirmation.
