Overview
TAHO provides a REST API for invoking WebAssembly service components and managing the runtime. The API is available via HTTP(S) and follows standard REST conventions.Base URL
By default, the API is available at:config.toml:
API Structure
The TAHO API is organized into two main categories:Services API
Invoke and manage WebAssembly service components:- POST
/services/{domain}/{service}/invoke/{method}- Invoke a service method - POST
/services/{domain}/{service}/restart- Restart a service with new config - PUT
/services/{domain}/{service}/quiesce- Gracefully stop a service
System API
Manage the TAHO runtime:- POST
/reload- Reload all components from repositories
URL Pattern
Service endpoints follow a consistent pattern:- domain: Component namespace (e.g.,
example,myapp,ai) - service: Service name (e.g.,
hello,calculator,txt2img) - method: Method to invoke (e.g.,
greet,add,generate)
Request Format
JSON Requests
Most service methods accept JSON request bodies:Binary Requests
For binary data (e.g., image processing):Response Format
JSON Responses
Structured data returned as JSON:Binary Responses
Raw binary data (e.g., generated images):Streaming Responses
For large datasets or real-time output:Error Handling
Standard HTTP status codes are used:- 200 OK: Request succeeded
- 404 Not Found: Service or method not found
- 500 Internal Server Error: Service execution error
Authentication
Current Version: TAHO does not require authentication. All API endpoints are open.Future versions may add optional authentication mechanisms for production deployments.
Rate Limiting
Current Version: No rate limiting is enforced.Configure timeouts in
config.toml to prevent long-running requests:CORS
Cross-Origin Resource Sharing (CORS) is enabled by default for development. Configure CORS settings inconfig.toml:
Quick Start Examples
Invoke a Service
Restart a Service
Reload All Components
Configuration
View your merged configuration using the CLI:Next Steps
Invoke Service
Learn how to call service methods
Restart Service
Update service configuration
Quiesce Service
Gracefully stop services
Reload System
Reload all components
Support
- Quickstart Guide - Get TAHO running
- Configuration - Configure the runtime
- GitHub Issues - Report bugs
- Discord - Community support