#203 Apps: Implement API endpoints for tenant app installations
Description
Edit## Parent Epic: #195
## Description
Create API endpoints for tenant app installation management.
## Location
api/blueprints/v1/tenant_apps.py
## Endpoints
### Installation Management
POST /api/v1/tenant/apps/{app_id}/install
- Install app to tenant
- Body: {version_id, configuration, auto_update, update_channel}
- Permission: install_apps
DELETE /api/v1/tenant/apps/{app_id}
- Uninstall app from tenant
- Permission: uninstall_apps
GET /api/v1/tenant/apps
- List installed apps
- Query: status, page, page_size
- Permission: view_apps
GET /api/v1/tenant/apps/{app_id}
- Get installation details
- Permission: view_apps
PATCH /api/v1/tenant/apps/{app_id}/config
- Update app configuration
- Body: {configuration}
- Permission: configure_apps
POST /api/v1/tenant/apps/{app_id}/upgrade
- Upgrade to new version
- Body: {version_id}
- Permission: install_apps
POST /api/v1/tenant/apps/{app_id}/enable
- Enable disabled app
- Permission: configure_apps
POST /api/v1/tenant/apps/{app_id}/disable
- Disable app
- Permission: configure_apps
### Secrets Management
POST /api/v1/tenant/apps/{app_id}/secrets
- Set app secret
- Body: {secret_name, secret_value}
- Permission: manage_app_secrets
- Stores in Vault, records reference in secrets_config
DELETE /api/v1/tenant/apps/{app_id}/secrets/{name}
- Delete secret
- Permission: manage_app_secrets
GET /api/v1/tenant/apps/{app_id}/secrets
- List secret names (NOT values)
- Permission: view_apps
### Execution Logs
GET /api/v1/tenant/apps/{app_id}/logs
- Get execution logs for specific app
- Query: status, from_date, to_date, page, page_size
- Permission: view_app_logs
GET /api/v1/apps/logs
- Get all app execution logs
- Permission: view_app_logs
## Tenant Context
- All endpoints require X-Tenant-ID header
- Tenant isolation enforced
## Testing
- Installation lifecycle tests
- Configuration update tests
- Secret management tests
- Log query tests
Comments
Loading comments...
Context
Loading context...
Audit History
View AllLoading audit history...