Skip to main content
Use this endpoint to create and deploy a brand-new application on Virtus Cloud. You upload a ZIP archive containing your project files, and Virtus Cloud provisions the application, detects the runtime language, and allocates resources automatically. The response contains the new application’s ID, name, description, subdomain, RAM and CPU allocation, and the detected programming language and recommended version. This endpoint is rate-limited to 1 request every 3 seconds.
The file you upload must be a valid ZIP archive. After the upload succeeds, use the Start endpoint to start the application if it does not start automatically.

Endpoint

POST https://api.virtuscloud.app/v2/apps

Request headers

Authorization
string
required
Your Virtus Cloud API key. See Authentication for details.
Content-Type
string
required
Must be multipart/form-data.

Body parameters

file
file
required
The application ZIP archive to upload. The archive must include all project source files and any configuration files (such as package.json, requirements.txt, or Cargo.toml) that Virtus Cloud needs to detect the runtime and build the application.

Response

status
string
Indicates whether the request succeeded. Returns "success" on a successful upload.
code
string
A machine-readable status code. Returns "SUCCESS" when the application is provisioned successfully.
response
object
The newly created application object.

Code example

curl --request POST \
  --url https://api.virtuscloud.app/v2/apps \
  --header "Authorization: <your_api_key>" \
  --form "file=@./application.zip"

Response example

{
  "status": "success",
  "code": "SUCCESS",
  "response": {
    "id": "945f574e6cc14ea6818f91d7d56de101",
    "name": "Estrelinha Legal",
    "description": "Nossa, fui enviada na velocidade da luz! ✨",
    "domain": null,
    "ram": 1024,
    "cpu": 6,
    "language": {
      "name": "JavaScript",
      "version": "recommended"
    }
  }
}