#202 Apps: Implement API endpoints for app registry
Description
Edit## Parent Epic: #195
## Description
Create API endpoints for app registry CRUD operations.
## Location
api/blueprints/v1/apps.py
## Endpoints
### App Registry (requires register_apps/update_apps/delete_apps)
POST /api/v1/apps
- Register new app
- Body: {app_name, display_name, description, category, tags, visibility}
- Permission: register_apps
GET /api/v1/apps
- List apps with pagination/filters
- Query: page, page_size, category, status, visibility
- Permission: view_apps
GET /api/v1/apps/{app_id}
- Get app details with versions
- Permission: view_apps
PATCH /api/v1/apps/{app_id}
- Update app metadata
- Permission: update_apps
DELETE /api/v1/apps/{app_id}
- Soft delete app
- Permission: delete_apps
### Version Management
POST /api/v1/apps/{app_id}/versions
- Create new version (draft)
- Body: {version, entrypoint_type, entrypoint_config, actions, configuration_schema, required_secrets}
- Permission: update_apps
GET /api/v1/apps/{app_id}/versions
- List all versions
- Permission: view_apps
GET /api/v1/apps/{app_id}/versions/{version_id}
- Get version details
- Permission: view_apps
POST /api/v1/apps/{app_id}/versions/{version_id}/publish
- Publish draft version
- Permission: publish_apps
POST /api/v1/apps/{app_id}/versions/{version_id}/deprecate
- Deprecate version
- Permission: update_apps
### Discovery
GET /api/v1/apps/marketplace
- Browse public/tenant apps
- Permission: view_apps
GET /api/v1/apps/categories
- List categories
- Permission: view_apps
GET /api/v1/apps/search
- Search apps
- Query: q, category, tags
- Permission: view_apps
## Response Format
Standard response.py patterns with pagination
## Error Handling
- 400: Invalid input
- 403: Permission denied
- 404: App/version not found
- 409: Conflict (duplicate name)
## Testing
- API integration tests
- Permission tests
- Pagination tests
- Error handling tests
Comments
Loading comments...
Context
Loading context...
Audit History
View AllLoading audit history...