Complete API documentation for Meteo Weather App with multiple formats for different use cases.
1. API_REFERENCE.md - Human-Readable Documentation
Best for: Reading, learning, understanding the API
- Complete endpoint documentation with examples
- Request/response payloads in JSON
- Authentication and rate limiting guides
- Error handling documentation
- Searchable markdown format
- 1,681 lines of comprehensive docs
Start here if you're new to the API!
2. openapi.yaml - OpenAPI 3.0 Specification
Best for: Interactive API exploration, code generation, API tools
Features:
- Machine-readable API specification
- OpenAPI 3.0.3 compliant
- Complete schema definitions
- Request/response examples
- Authentication schemes
How to use:
- Go to Swagger Editor
- Upload
openapi.yaml - Click "Try it out" to test endpoints live!
# Install Swagger UI globally
npm install -g swagger-ui-watcher
# Serve API docs
swagger-ui-watcher docs/api/openapi.yaml
# Open http://localhost:8080# Install Redoc CLI
npm install -g redoc-cli
# Generate static HTML
redoc-cli bundle docs/api/openapi.yaml -o api-docs.html
# Open api-docs.html in browserGenerate client libraries in any language:
# Install OpenAPI Generator
npm install @openapitools/openapi-generator-cli -g
# Generate JavaScript client
openapi-generator-cli generate \
-i docs/api/openapi.yaml \
-g javascript \
-o generated/js-client
# Generate Python client
openapi-generator-cli generate \
-i docs/api/openapi.yaml \
-g python \
-o generated/python-client
# Generate TypeScript client
openapi-generator-cli generate \
-i docs/api/openapi.yaml \
-g typescript-axios \
-o generated/ts-clientSupported languages: JavaScript, Python, Java, Go, Ruby, PHP, C#, Swift, Kotlin, and 50+ more!
3. postman_collection.json - Postman Collection
Best for: API testing, development, debugging
Features:
- All 60+ endpoints included
- Auto-authentication with test scripts
- Environment variable management
- Example requests with realistic data
- Ready to import into Postman
How to use:
- Open Postman
- Click "Import" button
- Select
docs/api/postman_collection.json - Collection loads with all endpoints!
Create a Postman environment with these variables:
baseUrl: http://localhost:5001/api (dev) or https://api.meteo-beta.tachyonfuture.com/api (prod)
accessToken: (leave empty - auto-filled after login)
refreshToken: (leave empty - auto-filled after login)
- Run "Auth > Login" or "Auth > Register" first
- Access token auto-populates from response
- All subsequent requests use the token automatically
- Test any endpoint with example data
- Auto-authentication: Login sets token for all requests
- Test scripts: Validate responses automatically
- Example data: Realistic payloads for testing
- Organized folders: Endpoints grouped by category
1. Start with the human-readable docs:
# Read the API reference
open docs/api/API_REFERENCE.md2. Test endpoints with Postman:
# Import Postman collection
# File → Import → docs/api/postman_collection.json3. Generate a client library:
# Generate JavaScript client from OpenAPI spec
openapi-generator-cli generate \
-i docs/api/openapi.yaml \
-g javascript \
-o my-weather-client1. Update the OpenAPI spec when adding endpoints:
# Edit docs/api/openapi.yaml
paths:
/your/new/endpoint:
get:
tags: [Your Category]
summary: Your endpoint description
# ... rest of definition2. Regenerate documentation:
# Update API_REFERENCE.md manually (or use tooling)
# Update Postman collection (export from Postman)3. Validate OpenAPI spec:
# Install validator
npm install -g @apidevtools/swagger-cli
# Validate spec
swagger-cli validate docs/api/openapi.yaml| Format | Best For | Interactive | Code Gen | Searchable |
|---|---|---|---|---|
| API_REFERENCE.md | Learning, reading | ❌ | ❌ | ✅ |
| openapi.yaml | Tools, automation | ✅ (via Swagger UI) | ✅ | ❌ |
| postman_collection.json | Testing, debugging | ✅ | ❌ | ✅ (in Postman) |
Recommendation:
- New to the API? Start with API_REFERENCE.md
- Building an integration? Use openapi.yaml to generate a client
- Testing endpoints? Import postman_collection.json
- Authentication (6 endpoints) - User registration, login, profile management
- Weather (4 endpoints) - Current weather, forecasts, alerts
- Climate Data (5 endpoints) - Historical data, climate normals, records
- Locations (5 endpoints) - Search, geocoding, reverse geocoding
- Air Quality (2 endpoints) - AQI data by coordinates or location
- AI Features (4 endpoints) - AI weather questions, location finder
- User Preferences (4 endpoints) - Settings, notifications
- Favorites (4 endpoints) - Saved locations management
- Cache (3 endpoints) - Cache statistics and management
Total: 37+ documented endpoints (60+ including all variations)
- Swagger Editor - Edit and test OpenAPI specs
- Swagger UI - Beautiful interactive docs
- Redoc - Three-panel API documentation
- Postman - API testing and development
- OpenAPI Generator - Generate clients in 50+ languages
- Swagger Codegen - Alternative code generator
- AutoRest - Microsoft's code generator
- Swagger CLI - Validate OpenAPI specs
- Spectral - OpenAPI linter
- Dredd - API testing against OpenAPI specs
- Getting Started Guide - Set up the app
- Authentication Guide - Security and auth details
- Database Schema - Database structure
- Deployment Guide - Deploy to production
- Visual Crossing Weather API - Primary weather data
- OpenWeather API - Radar overlays
- Anthropic Claude API - AI features
Help us improve the API documentation!
To add new endpoints:
- Update openapi.yaml with new endpoint definition
- Update API_REFERENCE.md with examples
- Add to postman_collection.json
- Submit a pull request
To report issues:
- Incorrect documentation: Open an issue
- Missing examples: Submit a PR
- Typos or unclear docs: Quick fix PR
- Live API: https://api.meteo-beta.tachyonfuture.com/api
- Health Check: https://api.meteo-beta.tachyonfuture.com/api/health
- GitHub Repository: https://github.com/mbuckingham74/meteo-weather
- Live Demo: https://meteo-beta.tachyonfuture.com
Last Updated: November 7, 2025 API Version: 1.0 Maintained by: Michael Buckingham