Microservices API Documentation
Microservices API
Welcome to the RiverGen Microservices API documentation. This documentation covers all internal microservices that power the RiverGen platform.
Microservices provide specialized functionality that is separated from the main API for scalability, maintainability, and independent deployment. Each service has its own API endpoints and can be scaled independently.
Quick Navigation
Architecture
RiverGen's microservices architecture consists of:
- Data Orchestration Service - Query execution, catalog management, and data lineage
- Storage Service - File storage, quota management, and model registry
- Staging Service - Data staging for Model Studio consumption
These services communicate with the main API through HTTP requests and share the same database and infrastructure.
Available Services
Data Orchestration Service
Base URL: http://data-orchestration:8000 (internal) or http://localhost:8000 (development)
Purpose: Handles query execution, data catalog management, schema discovery, and data lineage tracking.
Endpoints: 17 endpoints
- Health & Status (2)
- Execution (2)
- Connectors (3)
- Catalog (7)
- Lineage (3)
Documentation: Data Orchestration Service
Storage Service
Base URL: http://storage-service:8002 (internal) or http://localhost:8002 (development)
Purpose: Manages file storage, quota tracking, vector storage, caching, and model artifacts.
Endpoints: 22 endpoints
- Files - Public API (5)
- Quota - Public API (2)
- Vectors - Internal API (3)
- Files - Internal API (2)
- Cache - Internal API (3)
- Lifecycle - Internal API (3)
- Model Registry - Public API (4)
Documentation: Storage Service
Staging Service
Base URL: http://staging-service:8003 (internal) or http://localhost:8003 (development)
Purpose: Handles data staging operations for Model Studio, converting data sources to Parquet format for ML consumption.
Endpoints: 8 endpoints (Not Implemented)
- Job Management (4)
- Job Control (2)
- Chunk Management (2)
Status: All endpoints return 501 Not Implemented
Documentation: Staging Service
Quick Start
- Understand Architecture: Review the Microservices Overview to understand the architecture
- Data Operations: Use Data Orchestration Service for query execution and catalog management
- File Management: Use Storage Service for file operations and model artifacts
- Data Staging: Check Staging Service for Model Studio integration (coming soon)
Base URLs
| Service | Internal URL | Development URL | Port |
|---|---|---|---|
| Data Orchestration | http://data-orchestration:8000 | http://localhost:8000 | 8000 |
| Storage Service | http://storage-service:8002 | http://localhost:8002 | 8002 |
| Staging Service | http://staging-service:8003 | http://localhost:8003 | 8003 |
Authentication
Microservices use header-based authentication:
X-Org-ID: <organization_id>
X-User-ID: <user_id> (optional)
Note: Most microservices are called internally by the main API, which handles authentication and passes the organization context via headers.
Response Format
All API responses follow a consistent structure:
{
"success": true,
"data": { ... },
"message": "Operation successful"
}
Error responses:
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Human-readable error message"
}
}
Status Codes
200- Success201- Created204- No Content400- Bad Request401- Unauthorized403- Forbidden404- Not Found409- Conflict422- Validation Error429- Too Many Requests500- Internal Server Error501- Not Implemented
Internal Notes
- Microservices are typically accessed internally by the main API
- Direct access to microservices requires proper network configuration
- All services share the same PostgreSQL database
- Services use header-based authentication (
X-Org-ID,X-User-ID) - Internal APIs (marked as "Internal") are for service-to-service communication only
- Public APIs can be accessed directly but require proper authentication headers