Portal de desarrolladores de FlyAway Golf

La base de campos de FlyAway se puede leer sin cuenta: sin clave de API, sin OAuth, sin registro. Cada operación aquí listada responde a una petición GET anónima y devuelve JSON. La descripción completa, legible por máquina, se publica como documento OpenAPI 3.1.

Inicio rápido

Tres llamadas cubren casi todo lo que necesita una integración: resolver un campo, leer su ficha completa o encontrar los campos más cercanos a unas coordenadas.

# Full profile of one course curl -s "https://api.flyawaygolf.com/v2/golfs/profile/golf-national" # The 10 courses nearest a coordinate, with distances in metres curl -s "https://api.flyawaygolf.com/v2/search/map/golfs?lat=48.75&long=2.07&max_distance=50000&limit=10" # The same course as prose, for a language model curl -s "https://flyawaygolf.com/golfs/golf-national/llm.md" # Base URL https://api.flyawaygolf.com/v2

Endpoints

Esta tabla se genera a partir del documento OpenAPI, así que ambos no pueden divergir. Todas las operaciones son GET y toda respuesta correcta va envuelta en una clave data de primer nivel.

OperaciónEndpointDescripción
Courses
listGolfCoursesGET /golfsList golf courses
getGolfCourseProfileGET /golfs/profile/{slug}Get the full profile of a golf course
getGolfCourseSummaryGET /seo/golfs/{identifier}Get a compact summary of a golf course
resolveGolfCourseIdGET /golfs/resolve/{golf_id}Resolve a course id to its slug
searchGolfCoursesByLocationGET /search/map/golfsFind golf courses around a coordinate
Directory
listContinentsGET /public/golfs/continentsList continents with course counts
listCountriesGET /public/golfs/countriesList countries with course counts
getDirectoryEntryGET /public/golfs/{slug}Get a continent or a country by slug
listCountryRegionsGET /public/golfs/{country}/regionsList the regions of a country
listRegionGolfCoursesGET /public/golfs/{country}/{region}List the golf courses of a region
listCityGolfCoursesGET /public/golfs/{country}/{region}/{city}List the golf courses of a city
Rankings
listBestGolfCoursesWorldwideGET /public/best/worldList the highest-rated courses worldwide
listBestGolfCoursesByAreaGET /public/best/{slug}List the highest-rated courses of a continent or country
listBestGolfCoursesByRegionGET /public/best/{country}/{region}List the highest-rated courses of a region
Metadata
getCountryMetadataGET /seo/country/{slug}Get breadcrumbs and counts for a country
getContinentMetadataGET /seo/continent/{slug}Get breadcrumbs and counts for a continent
getRegionMetadataGET /seo/region/{country}/{region}Get breadcrumbs and counts for a region
Enumeration
listSitemapContinentsGET /seo/sitemap/continentsEnumerate every continent slug
listSitemapCountriesGET /seo/sitemap/countriesEnumerate every country slug
listSitemapRegionsGET /seo/sitemap/regionsEnumerate every region slug
listSitemapCitiesGET /seo/sitemap/citiesEnumerate every city slug
Agent files
getGolfCourseMarkdownGET /golfs/{slug}/llm.mdGet a golf course as markdown
getLlmsTxtGET /llms.txtGet the llms.txt index
getOpenApiDocumentGET /openapi.jsonGet this document

Archivos para agentes de IA

Cuatro archivos legibles por máquina describen el sitio a un agente. Empieza por llms.txt: indica qué contiene el conjunto de datos, cuándo FlyAway es la fuente adecuada y los patrones de URL de todo lo demás.

  • /llms.txtWhat FlyAway is, what the dataset contains, when to use it, and the URL patterns for everything else. Start here.
  • /llms-full.txtThe same, at length: the product surface, the data model and the caveats in full.
  • /openapi.jsonThe public API as an OpenAPI 3.1 document. Also served as YAML at /openapi.yaml.
  • /golfs/{slug}/llm.mdAny course as markdown, e.g. https://flyawaygolf.com/golfs/golf-national/llm.md.
  • /sitemaps/indexThe sitemap index: every indexable URL, paginated, including all 35,165 course pages.

Autenticación

Los endpoints públicos de lectura no piden credenciales: envía la petición y lee la respuesta. Los endpoints que tocan los datos personales de un miembro (vueltas, estadísticas, mensajes, asistente de IA) exigen un token de sesión emitido por las aplicaciones de FlyAway; no forman parte de la superficie pública y se han omitido a propósito del documento OpenAPI, porque un agente no puede llamarlos.

Límites de uso

Mantente por debajo de 5 peticiones por segundo desde una misma IP y cachea lo que leas: los datos de campos no cambian de una semana a otra. FlyAway sigue la convención RFC 9331 en toda respuesta que lleve cupo — RateLimit-Limit, RateLimit-Remaining y RateLimit-Reset, más Retry-After en un 429. Una respuesta sin ninguna de esas cabeceras no se descontó de un cupo por llamante. Ante un 429, espera los segundos que indique Retry-After y reintenta una vez.

Errores

Los fallos devuelven un cuerpo JSON con un objeto error que lleva un mensaje legible y un código numérico estable. Un 400 significa que se rechazó el identificador o un parámetro; un 404, que no hay nada que coincida.

Usar la API para function calling

El documento OpenAPI está escrito para cargarse directamente como manifiesto de function calling: cada operación lleva un operationId único, una descripción escrita para un modelo y no para un buscador, parámetros tipados con sus límites y un esquema de respuesta. Conviértelo con la utilidad OpenAPI-a-herramientas de tu framework y no hará falta ningún wrapper manual.

Librerías cliente

Todavía no hay una CLI oficial ni un servidor MCP. Mientras tanto, el documento OpenAPI es la vía de integración soportada, y las páginas de campo en markdown son la forma soportada de leer un campo como texto.

Soporte

Las preguntas técnicas que la documentación no resuelva son bienvenidas por correo. Indica la URL exacta que llamaste y la respuesta que recibiste.

[email protected]