# Applications Endpoints for serving and routing platform applications to users ## Install a new application from ZIP file - [POST /api/v1/apps](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps/post.md): Uploads and installs a new application from a ZIP archive. The application is created in a disabled state by default unless the 'enable' parameter is set to true. RBAC: requires Apps.Manage ## List globally available applications - [GET /api/v1/apps](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps/get.md): Returns a list of applications available at the global entry point. These applications are accessible to all users. ## List all enabled applications - [GET /api/v1/apps/enabled](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1enabled/get.md): Returns a list of all currently enabled applications on the platform. Only applications in enabled state are returned. No authentication required. ## List all installed applications - [GET /api/v1/apps/installed](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1installed/get.md): Returns a list of all installed applications on the platform, including both enabled and disabled applications. No authentication required. ## List user's available applications - [GET /api/v1/apps/user](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1user/get.md): Returns a list of applications available to the authenticated user, including both globally available and user-specific applications. ## Remove application from user's list - [DELETE /api/v1/apps/user/{appId}](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1user~1%7Bappid%7D/delete.md): Removes the specified application from the authenticated user's personal application list. ## Add application to user's list - [PUT /api/v1/apps/user/{appId}](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1user~1%7Bappid%7D/put.md): Adds the specified application to the authenticated user's personal application list, making it available in their user-specific context. ## Update an existing application from ZIP file - [PUT /api/v1/apps/{appId}](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D/put.md): Updates an existing application by uploading a new ZIP archive. The application manifest in the ZIP must match the existing application ID. RBAC: requires Apps.Manage ## Get application details by ID - [GET /api/v1/apps/{appId}](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D/get.md): Returns the complete application definition including manifest, routes, and configuration for the specified application ID. ## Delete an application - [DELETE /api/v1/apps/{appId}](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D/delete.md): Permanently deletes an application from the platform. The application cannot be deleted if it's set as default for any routes. This operation is irreversible. RBAC: requires Apps.Manage ## Set application as platform default - [PUT /api/v1/apps/{appId}/default](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D~1default/put.md): Sets the specified application as the default handler for its declared routes at the platform level. This affects all users who haven't set their own defaults. RBAC: requires Apps.Manage ## Disable an application - [PUT /api/v1/apps/{appId}/disable](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D~1disable/put.md): Disables an enabled application, removing its routes and functionality from user access. The application cannot be disabled if it's set as default for any routes. RBAC: requires Apps.Manage ## Enable an application - [PUT /api/v1/apps/{appId}/enable](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D~1enable/put.md): Enables a disabled application, making its routes and functionality available to users. The application must not already be enabled. RBAC: requires Apps.Manage ## Get application with usage statistics - [GET /api/v1/apps/{appId}/stats](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D~1stats/get.md): Returns the application definition along with usage statistics including install count, active users, and other metrics. ## Set application as user's default - [PUT /api/v1/apps/{appId}/user-default](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D~1user-default/put.md): Sets the specified application as the default handler for its declared routes for the authenticated user. This overrides platform-level defaults for this user. ## Remove user's default application - [DELETE /api/v1/apps/{appId}/user-default](https://docs.wellesley.social/openapi/applications/paths/~1api~1v1~1apps~1%7Bappid%7D~1user-default/delete.md): Removes the user's default application setting for the specified application's routes, reverting to platform defaults.