curl --request POST \
--url https://api.camposcloud.com/v1/apps/{appId}/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"appName": "My Updated Application",
"memoryMB": 256,
"startupCommand": "",
"runtimeEnvironment": null,
"exposedViaWeb": false,
"autoRestartEnabled": true
}
'import requests
url = "https://api.camposcloud.com/v1/apps/{appId}/update"
payload = {
"appName": "My Updated Application",
"memoryMB": 256,
"startupCommand": "",
"runtimeEnvironment": None,
"exposedViaWeb": False,
"autoRestartEnabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
appName: 'My Updated Application',
memoryMB: 256,
startupCommand: '',
runtimeEnvironment: null,
exposedViaWeb: false,
autoRestartEnabled: true
})
};
fetch('https://api.camposcloud.com/v1/apps/{appId}/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.camposcloud.com/v1/apps/{appId}/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'appName' => 'My Updated Application',
'memoryMB' => 256,
'startupCommand' => '',
'runtimeEnvironment' => null,
'exposedViaWeb' => false,
'autoRestartEnabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.camposcloud.com/v1/apps/{appId}/update"
payload := strings.NewReader("{\n \"appName\": \"My Updated Application\",\n \"memoryMB\": 256,\n \"startupCommand\": \"\",\n \"runtimeEnvironment\": null,\n \"exposedViaWeb\": false,\n \"autoRestartEnabled\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.camposcloud.com/v1/apps/{appId}/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"appName\": \"My Updated Application\",\n \"memoryMB\": 256,\n \"startupCommand\": \"\",\n \"runtimeEnvironment\": null,\n \"exposedViaWeb\": false,\n \"autoRestartEnabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.camposcloud.com/v1/apps/{appId}/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"appName\": \"My Updated Application\",\n \"memoryMB\": 256,\n \"startupCommand\": \"\",\n \"runtimeEnvironment\": null,\n \"exposedViaWeb\": false,\n \"autoRestartEnabled\": true\n}"
response = http.request(request)
puts response.read_body{
"_id": "60c72b2f9b1e8d001c8e4f3a",
"containerId": "da886ad3-88e9-4012-b893-130e87f6b747",
"teamId": "60c72b2f9b1e8d001c8e4f3b",
"restartRequired": false,
"name": "My Application",
"userId": "60c72b2f9b1e8d001c8e4f3a",
"allocatedMemoryMB": 256,
"allocatedVCpu": 8,
"workerNodeId": {
"_id": "60c72b2f9b1e8d001c8e4f3c",
"nodeName": "ODIN"
},
"containerImage": "kevencampos/camposcloud-python",
"exposedViaWeb": false,
"startupCommand": "python -u index.py",
"installDependenciesCmd": "pip install -r requirements.txt",
"runtimeEnvironment": "python",
"autoRestartEnabled": false,
"status": "active",
"currentResourceMetrics": {
"timestamp": "2025-07-19T17:57:05.069Z",
"online": true,
"uptime": 35980,
"cpuUsagePercent": 0,
"memoryUsageBytes": 43671552,
"memoryLimitBytes": 268435456,
"networkRxBytes": 228961,
"networkTxBytes": 228190
},
"environmentVariables": [
{
"key": "API_PORT",
"value": "3005",
"_id": "60c72b2f9b1e8d001c8e4f3d"
}
],
"createdAt": "2025-07-19T00:02:54.455Z",
"updatedAt": "2025-07-19T17:57:05.069Z",
"githubDeploys": [
{
"commitId": "c505366f3ba913044f65750ab7de60ccbb3d7b5f",
"branch": "main",
"status": "success",
"message": "first commit",
"createdAt": "2025-07-19T17:57:05.069Z",
"commitedAt": "2025-07-19T17:57:05.069Z",
"commitedBy": "Keven Campos",
"_id": "60c72b2f9b1e8d001c8e4f3d",
"duration": 120
}
],
"externalPort": 123,
"assignedCustomDomain": "myapp.domain.com",
"repository": {
"name": "my-awesome-repo",
"owner": "KevenCampos",
"id": "12345678923",
"branch": "main"
}
}{
"error": "Not found"
}{
"error": "Not found"
}/v1/apps/{appId}/update
This endpoint updates an application by its ID.
curl --request POST \
--url https://api.camposcloud.com/v1/apps/{appId}/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"appName": "My Updated Application",
"memoryMB": 256,
"startupCommand": "",
"runtimeEnvironment": null,
"exposedViaWeb": false,
"autoRestartEnabled": true
}
'import requests
url = "https://api.camposcloud.com/v1/apps/{appId}/update"
payload = {
"appName": "My Updated Application",
"memoryMB": 256,
"startupCommand": "",
"runtimeEnvironment": None,
"exposedViaWeb": False,
"autoRestartEnabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
appName: 'My Updated Application',
memoryMB: 256,
startupCommand: '',
runtimeEnvironment: null,
exposedViaWeb: false,
autoRestartEnabled: true
})
};
fetch('https://api.camposcloud.com/v1/apps/{appId}/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.camposcloud.com/v1/apps/{appId}/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'appName' => 'My Updated Application',
'memoryMB' => 256,
'startupCommand' => '',
'runtimeEnvironment' => null,
'exposedViaWeb' => false,
'autoRestartEnabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.camposcloud.com/v1/apps/{appId}/update"
payload := strings.NewReader("{\n \"appName\": \"My Updated Application\",\n \"memoryMB\": 256,\n \"startupCommand\": \"\",\n \"runtimeEnvironment\": null,\n \"exposedViaWeb\": false,\n \"autoRestartEnabled\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.camposcloud.com/v1/apps/{appId}/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"appName\": \"My Updated Application\",\n \"memoryMB\": 256,\n \"startupCommand\": \"\",\n \"runtimeEnvironment\": null,\n \"exposedViaWeb\": false,\n \"autoRestartEnabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.camposcloud.com/v1/apps/{appId}/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"appName\": \"My Updated Application\",\n \"memoryMB\": 256,\n \"startupCommand\": \"\",\n \"runtimeEnvironment\": null,\n \"exposedViaWeb\": false,\n \"autoRestartEnabled\": true\n}"
response = http.request(request)
puts response.read_body{
"_id": "60c72b2f9b1e8d001c8e4f3a",
"containerId": "da886ad3-88e9-4012-b893-130e87f6b747",
"teamId": "60c72b2f9b1e8d001c8e4f3b",
"restartRequired": false,
"name": "My Application",
"userId": "60c72b2f9b1e8d001c8e4f3a",
"allocatedMemoryMB": 256,
"allocatedVCpu": 8,
"workerNodeId": {
"_id": "60c72b2f9b1e8d001c8e4f3c",
"nodeName": "ODIN"
},
"containerImage": "kevencampos/camposcloud-python",
"exposedViaWeb": false,
"startupCommand": "python -u index.py",
"installDependenciesCmd": "pip install -r requirements.txt",
"runtimeEnvironment": "python",
"autoRestartEnabled": false,
"status": "active",
"currentResourceMetrics": {
"timestamp": "2025-07-19T17:57:05.069Z",
"online": true,
"uptime": 35980,
"cpuUsagePercent": 0,
"memoryUsageBytes": 43671552,
"memoryLimitBytes": 268435456,
"networkRxBytes": 228961,
"networkTxBytes": 228190
},
"environmentVariables": [
{
"key": "API_PORT",
"value": "3005",
"_id": "60c72b2f9b1e8d001c8e4f3d"
}
],
"createdAt": "2025-07-19T00:02:54.455Z",
"updatedAt": "2025-07-19T17:57:05.069Z",
"githubDeploys": [
{
"commitId": "c505366f3ba913044f65750ab7de60ccbb3d7b5f",
"branch": "main",
"status": "success",
"message": "first commit",
"createdAt": "2025-07-19T17:57:05.069Z",
"commitedAt": "2025-07-19T17:57:05.069Z",
"commitedBy": "Keven Campos",
"_id": "60c72b2f9b1e8d001c8e4f3d",
"duration": 120
}
],
"externalPort": 123,
"assignedCustomDomain": "myapp.domain.com",
"repository": {
"name": "my-awesome-repo",
"owner": "KevenCampos",
"id": "12345678923",
"branch": "main"
}
}{
"error": "Not found"
}{
"error": "Not found"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of the application to update
Body
Application data to update
The name of the application
"My Updated Application"
The amount of memory allocated to the application in MB
256
The command used to start the application, null if not updated
""
The runtime environment of the application, null if not updated
null, python, nodejs null
Indicates if the application is exposed via the web
false
Indicates if auto-restart is enabled for the application
true
Response
Application updated successfully
The unique identifier of the application
"60c72b2f9b1e8d001c8e4f3a"
The unique identifier of the container
"da886ad3-88e9-4012-b893-130e87f6b747"
The unique identifier of the team associated with the application
"60c72b2f9b1e8d001c8e4f3b"
Indicates if a restart is required for the application
false
The name of the application
"My Application"
The unique identifier of the user who owns the application
"60c72b2f9b1e8d001c8e4f3a"
The amount of memory allocated to the application in MB
256
The number of virtual CPUs allocated to the application
8
Show child attributes
Show child attributes
The Docker image used for the application
"kevencampos/camposcloud-python"
Indicates if the application is exposed via the web
false
The command used to start the application
"python -u index.py"
The command used to install dependencies for the application
"pip install -r requirements.txt"
The runtime environment of the application
"python"
Indicates if auto-restart is enabled for the application
false
The current status of the application
"active"
Current resource metrics of the application
Show child attributes
Show child attributes
List of environment variables set for the application
Show child attributes
Show child attributes
The date and time when the application was created
"2025-07-19T00:02:54.455Z"
The date and time when the application was last updated
"2025-07-19T17:57:05.069Z"
List of GitHub repositories connected to the application for deployment
Show child attributes
Show child attributes
The external port exposed by the application, null if the application is not exposed via the web
The custom domain assigned to the application, null if no custom domain is assigned
"myapp.domain.com"
The GitHub repository connected to the application for deployment, null if no repository is connected
Show child attributes
Show child attributes