π Open Bus API Client
October 27, 2025 Β· View on GitHub
A TypeScript client library for interacting with the Open-Bus API.
π’ Get Involved
- π¬ For general help and system updates, join the Hasadna Slack: #open-bus channel
- π Found a bug or have a feature request? Open an issue
- π€ Want to contribute? See our contributing guidelines
π Related Projects
- πΊοΈ Open Bus Map Search (Client App) - Live Website
- π Open Bus Stride API (REST) β API Docs
- π Open Bus Backend (REST) β API Docs
- π¦ NPM Package
π¦ Installation
# Instal Genetae Depencdy
npm install
# Instal NPM Package
npm install @hasadna/open-bus-api-client
π How to Generate & Publish the Client
Before publishing, ensure the NODE_AUTH_TOKEN environment variable is set.
This is required to authenticate with the npm registry.
β Steps
# 1. Download the latest OpenAPI schema
npm run download
# 2. Generate the client code from OpenAPI spec
npm run generate
# 3. Publish the package to npm
npm run publish
β οΈ
NODE_AUTH_TOKENmust be available in your environment (e.g.,.env, terminal, or CI/CD pipeline).
π οΈ Usage Example
import {
AggregationsApi,
ComplaintsApi,
Configuration,
GovernmentTransportationApi,
GtfsApi,
HealthApi,
IssuesApi,
SiriApi,
UserCasesApi,
} from '@hasadna/open-bus-api-client'
// URL: https://open-bus-stride-api.hasadna.org.il
export const STRIDE_API_BASE_PATH = process.env.VITE_STRIDE_API
const STRIDE_API_CONFIG = new Configuration({ basePath: STRIDE_API_BASE_PATH })
export const AGGREGATIONS_API = new AggregationsApi(STRIDE_API_CONFIG)
export const GTFS_API = new GtfsApi(STRIDE_API_CONFIG)
export const SIRI_API = new SiriApi(STRIDE_API_CONFIG)
export const USER_CASE_API = new UserCasesApi(STRIDE_API_CONFIG)
// URL: https://open-bus-backend.k8s.hasadna.org.il
const BACKEND_API_BASE_PATH = process.env.VITE_BACKEND_API
const BACKEND_API_CONFIG = new Configuration({ basePath: BACKEND_API_BASE_PATH })
export const HEALTH_API = new HealthApi(BACKEND_API_CONFIG)
export const ISSUES_API = new IssuesApi(BACKEND_API_CONFIG)
export const COMPLAINTS_API = new ComplaintsApi(BACKEND_API_CONFIG)
export const GOVERNMENT_TRANSPORTATION_API = new GovernmentTransportationApi(BACKEND_API_CONFIG)
const stops = await GTFS_API.gtfsRideStopsListGet(...)
console.log(stops);
π Project Structure
.
βββ openapi-templates/ # README templets
βββ scripts/ # Custom JS scripts
βββ config.json # Open-API generator config
βββ openapi-merge.json # Open-API merge cli config
βββ openapitools.json # Open-API generator cli config
βββ package.json # NPM config