> ## Documentation Index > Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt > Use this file to discover all available pages before exploring further. # Install Private Apps > Install a private app via URL. Permission required: `Manage Apps`. ### Changelog | Version | Description | | ---------------- | ------------| |3.1.0 | Added | ## OpenAPI ````json POST /api/apps { "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "Marketplace Apps" }, "servers": [ { "url": "https://apiexplorer.support.rocket.chat" } ], "tags": [ { "name": "Rasa App" }, { "name": "WhatsApp App" }, { "name": "Manage Apps" }, { "name": "Jitsi App" } ], "paths": { "/api/apps": { "post": { "summary": "Install Private Apps", "tags": [ "Manage Apps" ], "description": "Install a private app via URL. Permission required: `Manage Apps`.\n\n### Changelog\n| Version | Description |\n| ---------------- | ------------|\n|3.1.0 | Added |", "operationId": "post-api-apps", "parameters": [ { "$ref": "#/components/parameters/Auth-Token" }, { "$ref": "#/components/parameters/UserId" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "url": { "type": "string", "description": "The app URL where the zip file is located." }, "app": { "type": "string", "format": "binary", "description": "The zip file containing the app." }, "permissions": { "type": "array", "description": "An array of the [permissions](https://developer.rocket.chat/docs/app-permission-system) required for your app. This is required if permissions are defined in your `app.json` file.", "items": { "type": "object", "properties": { "name": { "type": "string" } } } } } }, "examples": { "Example": { "value": { "url": "https://github.com/RocketChat/Apps.RocketChat.Tester/blob/master/dist/appsrocketchattester_0.0.5.zip?raw=true", "app": "path to the zip file" } } } } }, "description": "You can use either the `app` or `url` parameter to upload the file." }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "app": { "type": "object", "properties": { "id": { "type": "string" }, "version": { "type": "string" }, "requiredApiVersion": { "type": "string" }, "iconFile": { "type": "string" }, "author": { "type": "object", "properties": { "name": { "type": "string" }, "homepage": { "type": "string" }, "support": { "type": "string" } } }, "name": { "type": "string" }, "nameSlug": { "type": "string" }, "classFile": { "type": "string" }, "description": { "type": "string" }, "implements": { "type": "array", "items": { "type": "object" } }, "iconFileContent": { "type": "string" }, "status": { "type": "string" } } }, "implemented": { "type": "object", "properties": { "IPreMessageSentPrevent": { "type": "boolean" }, "IPreMessageSentExtend": { "type": "boolean" }, "IPreMessageSentModify": { "type": "boolean" }, "IPostMessageSent": { "type": "boolean" }, "IPreMessageDeletePrevent": { "type": "boolean" }, "IPostMessageDeleted": { "type": "boolean" }, "IPreMessageUpdatedPrevent": { "type": "boolean" }, "IPreMessageUpdatedExtend": { "type": "boolean" }, "IPreMessageUpdatedModify": { "type": "boolean" }, "IPostMessageUpdated": { "type": "boolean" }, "IPostMessageReacted": { "type": "boolean" }, "IPostMessageFollowed": { "type": "boolean" }, "IPostMessagePinned": { "type": "boolean" }, "IPostMessageStarred": { "type": "boolean" }, "IPostMessageReported": { "type": "boolean" }, "IPreRoomCreatePrevent": { "type": "boolean" }, "IPreRoomCreateExtend": { "type": "boolean" }, "IPreRoomCreateModify": { "type": "boolean" }, "IPostRoomCreate": { "type": "boolean" }, "IPreRoomDeletePrevent": { "type": "boolean" }, "IPostRoomDeleted": { "type": "boolean" }, "IPreRoomUserJoined": { "type": "boolean" }, "IPostRoomUserJoined": { "type": "boolean" }, "IPreRoomUserLeave": { "type": "boolean" }, "IPostRoomUserLeave": { "type": "boolean" }, "IPostExternalComponentOpened": { "type": "boolean" }, "IPostExternalComponentClosed": { "type": "boolean" }, "IUIKitInteractionHandler": { "type": "boolean" }, "IUIKitLivechatInteractionHandler": { "type": "boolean" }, "IPostLivechatRoomStarted": { "type": "boolean" }, "IPostLivechatRoomClosed": { "type": "boolean" }, "ILivechatRoomClosedHandler": { "type": "boolean" }, "IPostLivechatAgentAssigned": { "type": "boolean" }, "IPostLivechatAgentUnassigned": { "type": "boolean" }, "IPostLivechatRoomTransferred": { "type": "boolean" }, "IPostLivechatGuestSaved": { "type": "boolean" }, "IPostLivechatRoomSaved": { "type": "boolean" }, "IPreFileUpload": { "type": "boolean" }, "IPreEmailSent": { "type": "boolean" }, "IPostUserCreated": { "type": "boolean" }, "IPostUserUpdated": { "type": "boolean" }, "IPostUserDeleted": { "type": "boolean" }, "IPostUserLoggedIn": { "type": "boolean" }, "IPostUserLoggedOut": { "type": "boolean" }, "IPostUserStatusChanged": { "type": "boolean" } } }, "licenseValidation": { "type": "object", "properties": { "errors": { "type": "object" }, "warnings": { "type": "object" } } }, "success": { "type": "boolean" } } }, "examples": { "Success": { "value": { "app": { "id": "bc4dd4a1-bf9b-408e-83a4-aba7eba0bf02", "version": "0.0.5", "requiredApiVersion": "^1.33.0", "iconFile": "icon.png", "author": { "name": "Rocket.Chat", "homepage": "https://github.com/RocketChat", "support": "a" }, "name": "Apps.RocketChat.Tester", "nameSlug": "appsrocketchattester", "classFile": "AppsRocketChatTesterApp.js", "description": "An app that provides endpoints to test Apps integration to Rocket.Chat", "implements": [], "iconFileContent": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQBAMAAACAGwOrAAAAG1BMVEUAAAD///9fX19/f38/Pz+fn5/f398fHx+/v7F+DAse5zMkkE4D1Jf6exKnYRje4LriXRQ0JzTVP2t7hLNtFWODfxNqiaa6VE8tGjFCxXyc1HHsTisiQ0rijg4mTvyAAAElFTkSuQmCC", "status": "auto_enabled" }, "implemented": { "IPreMessageSentPrevent": false, "IPreMessageSentExtend": false, "IPreMessageSentModify": false, "IPostMessageSent": false, "IPreMessageDeletePrevent": false, "IPostMessageDeleted": false, "IPreMessageUpdatedPrevent": false, "IPreMessageUpdatedExtend": false, "IPreMessageUpdatedModify": false, "IPostMessageUpdated": false, "IPostMessageReacted": false, "IPostMessageFollowed": false, "IPostMessagePinned": false, "IPostMessageStarred": false, "IPostMessageReported": false, "IPreRoomCreatePrevent": false, "IPreRoomCreateExtend": false, "IPreRoomCreateModify": false, "IPostRoomCreate": false, "IPreRoomDeletePrevent": false, "IPostRoomDeleted": false, "IPreRoomUserJoined": false, "IPostRoomUserJoined": false, "IPreRoomUserLeave": false, "IPostRoomUserLeave": false, "IPostExternalComponentOpened": false, "IPostExternalComponentClosed": false, "IUIKitInteractionHandler": false, "IUIKitLivechatInteractionHandler": false, "IPostLivechatRoomStarted": false, "IPostLivechatRoomClosed": false, "ILivechatRoomClosedHandler": false, "IPostLivechatAgentAssigned": false, "IPostLivechatAgentUnassigned": false, "IPostLivechatRoomTransferred": false, "IPostLivechatGuestSaved": false, "IPostLivechatRoomSaved": false, "IPreFileUpload": false, "IPreEmailSent": false, "IPostUserCreated": false, "IPostUserUpdated": false, "IPostUserDeleted": false, "IPostUserLoggedIn": false, "IPostUserLoggedOut": false, "IPostUserStatusChanged": false }, "licenseValidation": { "errors": {}, "warnings": {} }, "success": true } } } } } }, "401": { "$ref": "#/components/responses/authorizationError" } } } } }, "components": { "parameters": { "Auth-Token": { "name": "X-Auth-Token", "in": "header", "description": "The `authToken` of the authenticated user.", "required": true, "schema": { "type": "string" }, "example": "RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f" }, "UserId": { "name": "X-User-Id", "in": "header", "description": "The `userId` of the authenticated user.", "required": true, "schema": { "type": "string" }, "example": "rbAXPnMktTFbNpwtJ" } }, "responses": { "authorizationError": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" } } }, "examples": { "Authorization Error": { "value": { "success": false, "error": "You must be logged in to do this." } } } } } } } } } ````