This repository manages the APIs.json and OpenAPI for the Train Travel API template, building on the excellent work of Bump.sh with their Train Travel API. The Train Travel API is a realistic, well-documented example of an API for finding and booking train trips across Europe—making it an ideal, self-contained template for demos, testing, and learning.
Within API Commons this is a Base template: an APIs.json index and OpenAPI definition meant to be used as a starting point for creating other open-source APIs in the commons. Rather than inventing a toy API from scratch, you can fork this real, complete example and adapt it, giving you a solid foundation of documentation, authentication, getting-started material, and a change log to build on.
- apis.yml — The APIs.json index for the Train Travel API, typed as a
Basetemplate. It catalogs the API along with its Documentation, OpenAPI, Postman Collection, Insomnia run, Authentication, Getting Started, Change Log, and Compare properties. - openapi.yml — The full OpenAPI 3.1.0 definition for the Train Travel API (finding and booking train trips across Europe).
Because it ships as both an APIs.json index and a complete OpenAPI definition, this template drops cleanly into API tooling for documentation, mocking, testing, and discovery, and it can be surfaced through apis.io. Point your tools at apis.yml to pick up the full set of referenced artifacts, or at openapi.yml for just the API definition.
Leave any comments via issues on this repository, and feel free to submit any pull requests with changes you'd like to see. For questions about the API Commons more broadly, you can also email kin@apievangelist.com.
A machine-readable building block from API Commons — open specifications and schemas for the APIs you produce and consume. See all building blocks and tools at apicommons.org and the tools at apicommons.org/tools.
Related building blocks
- examples — shared request/response examples for API operations
- problem-details-for-http-apis — the RFC 9457/7807 error base this template builds on
- change-log — a machine-readable way to publish an API's changelog
- json-api — JSON:API schemas and governance for standardizing API responses