{"product":"Train Experience Graph","principles":["vendor-neutral canonical capability layer","source-backed facts and explicit confidence","freshness and provenance preserved","publication and commercial eligibility are separate gates","unknown values remain unknown"],"capabilities":[{"key":"collection.get","function":"get_collection_v1","description":"Retrieve a ready or published dynamic collection.","entity_scope":"ExperienceCollection","adapter_ready":true,"contract_version":"m15/collection-v1","http":{"method":"GET","url":"https://farbyrail.com/data/collections/{slug}.json","operation_id":"getCollection"}},{"key":"experience.compare","function":"compare_published_experiences_v1","description":"Compare up to four published experiences across canonical comparison dimensions.","entity_scope":"TrainExperience","adapter_ready":true,"contract_version":"m15/comparison-v1","http":{"method":"GET","url":"https://farbyrail.com/data/compare.json","operation_id":"compareJourneys"}},{"key":"experience.facets","function":"get_discovery_facets_v1","description":"Retrieve current public discovery facets.","entity_scope":"DiscoveryFacet","adapter_ready":true,"contract_version":"m14/facets-v1","http":{"method":"GET","url":"https://farbyrail.com/data/facets.json","operation_id":"getFacets"}},{"key":"experience.get","function":"get_machine_experience_v1","description":"Retrieve one machine-publishable canonical train experience with route, decision data, provenance and rights metadata.","entity_scope":"TrainExperience","adapter_ready":true,"contract_version":"train-experience-graph/v1","http":{"method":"GET","url":"https://farbyrail.com/data/experiences/{slug}.json","operation_id":"getJourney"}},{"key":"experience.list","function":"get_machine_catalog_v1","description":"List compact machine-publishable train experience nodes.","entity_scope":"TrainExperience","adapter_ready":true,"contract_version":"train-experience-catalog/v1","http":{"method":"GET","url":"https://farbyrail.com/data/experiences.json","operation_id":"listJourneys"}},{"key":"experience.map","function":"get_published_experience_map_v1","description":"Retrieve representative route polylines as GeoJSON.","entity_scope":"RailJourney","adapter_ready":true,"contract_version":"m15/map-v1","http":{"method":"GET","url":"https://farbyrail.com/data/map.json","operation_id":"getMap"}},{"key":"experience.search","function":"search_published_experiences_v1","description":"Search published experiences with canonical filters.","entity_scope":"TrainExperience","adapter_ready":true,"contract_version":"m14/search-v1","http":{"method":"GET","url":"https://farbyrail.com/data/search.json","operation_id":"searchJourneys"}},{"key":"platform.capabilities","function":"get_machine_capabilities_v1","description":"Vendor-neutral capability manifest for the Train Experience Graph and its adapter policy.","entity_scope":"platform","adapter_ready":true,"contract_version":"train-experience-capabilities/v1","http":{"method":"GET","url":"https://farbyrail.com/data/capabilities.json","operation_id":"getCapabilities"}},{"key":"seo.sitemap","function":"get_public_sitemap_v2","description":"Retrieve indexable public page paths.","entity_scope":"PageManifest","adapter_ready":true,"contract_version":"m16/sitemap-v2","http":{"method":"GET","url":"https://farbyrail.com/sitemap.xml","operation_id":"getSitemap"}},{"key":"taxonomy.get","function":"get_taxonomy_landing_v1","description":"Retrieve a structured country, archetype, operator or collection landing payload.","entity_scope":"TaxonomyLanding","adapter_ready":true,"contract_version":"m16/landing-v1","http":null}],"generated_at":"2026-09-18T15:55:35.249Z","adapter_targets":{"A2A":{"available":false,"upstream_status":"contract_ready","note":"NOT available: no server for this transport is running. `contract_ready` upstream describes readiness of the contract, not an endpoint you can call."},"MCP":{"available":false,"upstream_status":"contract_ready","note":"NOT available: no server for this transport is running. `contract_ready` upstream describes readiness of the contract, not an endpoint you can call."},"note":{"available":false,"upstream_status":"Canonical contracts are transport-neutral; individual transport adapters can expose these capabilities without changing the core data model.","note":"NOT available: no server for this transport is running. `contract_ready` upstream describes readiness of the contract, not an endpoint you can call."},"WebMCP":{"available":false,"upstream_status":"contract_ready","note":"NOT available: no server for this transport is running. `contract_ready` upstream describes readiness of the contract, not an endpoint you can call."},"REST/OpenAPI":{"available":true,"url":"https://farbyrail.com/openapi.json","upstream_status":"contract_ready","note":"Served now over HTTP; see the OpenAPI description."},"http_openapi":{"available":true,"url":"https://farbyrail.com/openapi.json","upstream_status":null,"note":"Served now over HTTP."}},"canonical_entity":"TrainExperience","contract_version":"canonical-capability-layer/v1","machine_publishable_experience_count":222,"openapi":"https://farbyrail.com/openapi.json","documentation":"https://farbyrail.com/data","http_invocations":[{"capability":"experience.search","method":"GET","url":"https://farbyrail.com/data/search.json","operation_id":"searchJourneys"},{"capability":"experience.list","method":"GET","url":"https://farbyrail.com/data/experiences.json","operation_id":"listJourneys"},{"capability":"experience.get","method":"GET","url":"https://farbyrail.com/data/experiences/{slug}.json","operation_id":"getJourney"},{"capability":"experience.compare","method":"GET","url":"https://farbyrail.com/data/compare.json","operation_id":"compareJourneys"},{"capability":"experience.facets","method":"GET","url":"https://farbyrail.com/data/facets.json","operation_id":"getFacets"},{"capability":"experience.map","method":"GET","url":"https://farbyrail.com/data/map.json","operation_id":"getMap"},{"capability":"collection.get","method":"GET","url":"https://farbyrail.com/data/collections/{slug}.json","operation_id":"getCollection"},{"capability":"platform.capabilities","method":"GET","url":"https://farbyrail.com/data/capabilities.json","operation_id":"getCapabilities"},{"capability":"seo.sitemap","method":"GET","url":"https://farbyrail.com/sitemap.xml","operation_id":"getSitemap"}]}