Applications
Create, configure, start and stop Applications, with their variables, ports, mounts, basic auth, patches and logs.
An Application is a Service built from your code or a Docker image: a web service, a worker, a private web service or a cron job. Deploying one is on the Deployments page; these routes create and configure it.
Every request goes to https://cloudgate.octabyte.app/backend on the Hosted instance, or to your console address followed by /backend when you self-host. Send a Personal key in x-api-key and the Organization in x-organization-id; Authentication shows how to make the key, and Errors explains every refusal. The examples setCLOUDGATE_KEY and CLOUDGATE_ORG_ID in the shell first. To do the same in the console, read Applications in the user guide.
Applications
Create an Application
POST/applications
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Request body
| Field | Type | Notes |
|---|---|---|
namerequired | string | 1 to 100 characters. |
appName | string | 1 to 63 characters. Matches ^[a-zA-Z0-9_][a-zA-Z0-9._-]*$. |
description | string | |
environmentIdrequired | string | Not empty. |
serverId | string or null | |
gpus | integer | At least 0. |
aiModel | object | |
aiModel.runtimerequired | string | One of ollama, vllm, llama.cpp. |
aiModel.modelrequired | string | Up to 255 characters. Matches ^[A-Za-z0-9][A-Za-z0-9._-]*(\/[A-Za-z0-9._-]+)*(:[A-Za-z0-9._-]+)?$. |
aiModel.imageTag | string | Matches ^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$. |
aiModel.hfToken | string | 1 to 512 characters. Matches ^\S+$. |
Responses
201Created- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"name": "storefront-web",
"environmentId": "UVFRqyCfWEtSm6NdDvrZc"
}'Get an Application
GET/applications/{id}
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
curl https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Update an Application
PATCH/applications/{id}
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Request body
| Field | Type | Notes |
|---|---|---|
name | string | 1 to 100 characters. |
description | string or null | |
env | string or null | |
buildArgs | string or null | |
buildSecrets | string or null | |
watchPaths | array of string or null | |
memoryReservation | string or null | |
memoryLimit | string or null | |
cpuReservation | string or null | |
cpuLimit | string or null | |
command | string or null | |
args | array of string or null | |
port | integer | 1 to 65535. |
sourceType | string | One of docker, git, github, gitlab, bitbucket, gitea, drop. |
cleanCache | boolean or null | |
repository | string or null | |
owner | string or null | |
branch | string or null | |
buildPath | string or null | |
triggerType | string or null | One of push, tag, null. |
autoDeploy | boolean or null | |
githubId | string or null | |
gitlabProjectId | integer or null | At least -9007199254740991. |
gitlabRepository | string or null | |
gitlabOwner | string or null | |
gitlabBranch | string or null | |
gitlabBuildPath | string or null | |
gitlabPathNamespace | string or null | |
gitlabId | string or null | |
giteaRepository | string or null | |
giteaOwner | string or null | |
giteaBranch | string or null | |
giteaBuildPath | string or null | |
giteaId | string or null | |
bitbucketRepository | string or null | |
bitbucketRepositorySlug | string or null | |
bitbucketOwner | string or null | |
bitbucketBranch | string or null | |
bitbucketBuildPath | string or null | |
bitbucketId | string or null | |
username | string or null | |
password | string or null | |
dockerImage | string or null | Matches ^(?:(?:(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))*|\[(?:[a-fA-F0-9:]+)\])(?::[0-9]+)?\/)?[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*(?:\/[a-z0-9]+(?:(?:[._]|__|[-]+)[a-z0-9]+)*)*(?::[\w][\w.-]{0,127})?(?:@[A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*:[0-9a-fA-F]{32,})?)?$. |
registryUrl | string or null | |
customGitUrl | string | |
customGitBranch | string or null | |
customGitBuildPath | string or null | |
customGitSSHKeyId | string or null | |
enableSubmodules | boolean | |
dockerfile | string or null | |
dockerContextPath | string or null | |
dockerBuildStage | string or null | |
dropBuildPath | string or null | |
healthCheckSwarm | object or null | |
healthCheckSwarm.Test | array of string | |
healthCheckSwarm.Interval | number | |
healthCheckSwarm.Timeout | number | |
healthCheckSwarm.StartPeriod | number | |
healthCheckSwarm.Retries | number | |
restartPolicySwarm | object or null | |
restartPolicySwarm.Condition | string | |
restartPolicySwarm.Delay | number | |
restartPolicySwarm.MaxAttempts | number | |
restartPolicySwarm.Window | number | |
placementSwarm | object or null | |
placementSwarm.Constraints | array of string | |
placementSwarm.Preferences | array of object | |
placementSwarm.Preferences[].Spreadrequired | object | |
placementSwarm.MaxReplicas | number | |
placementSwarm.Platforms | array of object | |
placementSwarm.Platforms[].Architecturerequired | string | |
placementSwarm.Platforms[].OSrequired | string | |
updateConfigSwarm | object or null | |
updateConfigSwarm.Parallelismrequired | number | |
updateConfigSwarm.Delay | number | |
updateConfigSwarm.FailureAction | string | |
updateConfigSwarm.Monitor | number | |
updateConfigSwarm.MaxFailureRatio | number | |
updateConfigSwarm.Orderrequired | string | |
rollbackConfigSwarm | object or null | |
rollbackConfigSwarm.Parallelismrequired | number | |
rollbackConfigSwarm.Delay | number | |
rollbackConfigSwarm.FailureAction | string | |
rollbackConfigSwarm.Monitor | number | |
rollbackConfigSwarm.MaxFailureRatio | number | |
rollbackConfigSwarm.Orderrequired | string | |
modeSwarm | object or null | |
modeSwarm.Replicated | object | |
modeSwarm.Replicated.Replicas | number | |
modeSwarm.Global | object | |
modeSwarm.ReplicatedJob | object | |
modeSwarm.ReplicatedJob.MaxConcurrent | number | |
modeSwarm.ReplicatedJob.TotalCompletions | number | |
modeSwarm.GlobalJob | object | |
labelsSwarm | map of string or null | |
networkSwarm | array of object or null | |
networkSwarm[].Target | string | |
networkSwarm[].Aliases | array of string | |
networkSwarm[].DriverOpts | map of string | |
stopGracePeriodSwarm | number or null | |
endpointSpecSwarm | object or null | |
endpointSpecSwarm.Mode | string | |
endpointSpecSwarm.Ports | array of object | |
endpointSpecSwarm.Ports[].Protocol | string | |
endpointSpecSwarm.Ports[].TargetPort | number | |
endpointSpecSwarm.Ports[].PublishedPort | number | |
endpointSpecSwarm.Ports[].PublishMode | string | |
ulimitsSwarm | array of object or null | |
ulimitsSwarm[].Namerequired | string | |
ulimitsSwarm[].Softrequired | number | |
ulimitsSwarm[].Hardrequired | number | |
rollbackActive | boolean | |
isPreviewDeploymentsActive | boolean | |
requestedPreviewsAllowed | boolean | |
previewWildcard | string or null | Matches ^\*\..*. |
previewDnsChallenge | boolean | |
previewLimit | integer | At least 0. |
requestedPreviewLimit | integer | At least 1. |
previewPort | integer | 1 to 65535. |
previewEnv | string or null | |
previewBuildArgs | string or null | |
replicas | integer | At least 0. |
gpus | integer | At least 0. |
aiModel | object or null | |
aiModel.runtime | string | One of ollama, vllm, llama.cpp. |
aiModel.model | string | Up to 255 characters. Matches ^[A-Za-z0-9][A-Za-z0-9._-]*(\/[A-Za-z0-9._-]+)*(:[A-Za-z0-9._-]+)?$. |
aiModel.imageTag | string or null | Matches ^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$. |
aiModel.hfToken | string | |
buildType | string | One of dockerfile, heroku_buildpacks, paketo_buildpacks, nixpacks, static, railpack. |
railpackVersion | string or null | |
herokuVersion | string or null | |
publishDirectory | string or null | |
isStaticSpa | boolean or null | |
createEnvFile | boolean | |
registryId | string or null | |
buildRegistryId | string or null | |
buildServerId | string or null |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
curl -X PATCH https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"name": "storefront-web",
"description": "Storefront for Northwind Labs",
"env": "NODE_ENV=production"
}'Delete an Application
DELETE/applications/{id}
?force=true is the escape hatch for a Server that is gone for good: it drops the row even though Cloudgate could not confirm the swarm service is gone, and the response names what was left behind. Default false, a string query parameter compared to 'true' like compose's deleteVolumes.
Who can call it: Owner or Admin. Needs service: delete, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
forcerequired | query | string | |
deleteVolumesrequired | query | string |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X DELETE "https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC?force=example&deleteVolumes=example" \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Save the environment variables of an Application
PATCH/applications/{id}/environment
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Request body
| Field | Type | Notes |
|---|---|---|
env | string | |
buildArgs | string | |
buildSecrets | string | |
createEnvFile | boolean |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
curl -X PATCH https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/environment \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"env": "NODE_ENV=production",
"buildArgs": "example",
"buildSecrets": "<secret>"
}'List runtime variable names
GET/applications/{id}/variables
The Application's own runtime variables by name, each with the Output it is wired to.
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- Every variable name the Application has, with the Output each wired one links to; never a value.
- Refusals
401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
| Field | Type | Notes |
|---|---|---|
variablesalways | array of object | |
variables[].namealways | string | |
variables[].linkedToalways | object or null | |
variables[].linkedTo.sourcealways | string | |
variables[].linkedTo.outputalways | string |
curl https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/variables \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Set or unset runtime variables
PATCH/applications/{id}/variables
Sets and unsets named keys, leaving every other one as it was, and answers the names as the GET does. VARIABLE_IS_LINKED (409) for a wired name, VARIABLE_NOT_SET (404) for unsetting a name not set.
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Request body
| Field | Type | Notes |
|---|---|---|
set | map of string | |
unset | array of string | Up to 100 items. |
Responses
200OK- The variable names after the change, as GET answers them; never a value.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
| Field | Type | Notes |
|---|---|---|
variablesalways | array of object | |
variables[].namealways | string | |
variables[].linkedToalways | object or null | |
variables[].linkedTo.sourcealways | string | |
variables[].linkedTo.outputalways | string |
curl -X PATCH https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/variables \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"set": {},
"unset": [
"example"
]
}'Test a registry login
POST/applications/{id}/test-registry-login
Does the registry a Docker-image source pulls from accept this login? 204 when it does, a 400 carrying the registry's own refusal when it does not.
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Request body
| Field | Type | Notes |
|---|---|---|
registryUrl | string or null | |
usernamerequired | string | Not empty. |
password | string or null |
Responses
204No content- Done. The answer has no body.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/test-registry-login \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"username": "deploy"
}'Upload files for a drop deployment
POST/applications/{id}/drop
The upload half of a drop deployment: the zip arrives as the multipart zip part and is extracted into the application's code directory. Deploying it stays POST /applications/:id/deployments.
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Request body
| Field | Type | Notes |
|---|---|---|
dropBuildPath | string | Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/drop \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"dropBuildPath": "/"
}'Compare a folder with the uploaded files
POST/applications/{id}/drop/compare
Who can call it: Owner, Admin or Member. Needs service: update, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Request body
| Field | Type | Notes |
|---|---|---|
dropBuildPath | string | Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/drop/compare \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"dropBuildPath": "/"
}'Upload only the changed files
POST/applications/{id}/drop/apply
The second half: the multipart files part is the whole folder's file list, the zip part only the files compare asked for, and the fields are /drop's. Answers what /drop answers. Any member who may update the Application may call it; the service scopes it to the caller's organization.
Who can call it: Owner, Admin or Member. Needs service: update, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Request body
| Field | Type | Notes |
|---|---|---|
dropBuildPath | string | Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/drop/apply \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"dropBuildPath": "/"
}'Start an Application
POST/applications/{id}/start
Who can call it: Owner, Admin or Member. Needs deployment: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/start \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Stop an Application
POST/applications/{id}/stop
Who can call it: Owner, Admin or Member. Needs deployment: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/stop \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Reload an Application
POST/applications/{id}/reload
Restart the Swarm service without rebuilding the image.
Who can call it: Owner, Admin or Member. Needs deployment: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/reload \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Set the copy range
PUT/applications/{id}/copy-range
Who can call it: Owner, Admin or Member. Needs service: update, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Request body
| Field | Type | Notes |
|---|---|---|
minCopiesrequired | integer | 0 to 1000. |
maxCopiesrequired | integer | 1 to 1000. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X PUT https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/copy-range \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"minCopies": 0,
"maxCopies": 1
}'Rotate the deploy-webhook token
POST/applications/{id}/refresh-token
Rotate the secret in the deploy-webhook URL.
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/refresh-token \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Check whether it waits for a GPU
GET/applications/{id}/gpu-wait
"Waiting for a GPU" on the Overview: { waiting: true, free, cards } when the Application reserves GPUs and Swarm has left its task pending for want of a node, else { waiting: false }. Read live; writes nothing.
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
curl https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/gpu-wait \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Retry deleting an Application
POST/applications/{id}/delete/retry
Retry a cloud Service's incomplete Delete: another destroy-only Cloud run from the kept state.
Who can call it: Owner or Admin. Needs service: delete, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/delete/retry \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Forget the incomplete delete of an Application
POST/applications/{id}/delete/forget
Forget a cloud Service's incomplete Delete: the row dropped, what is left in AWS written into the audit entry.
Who can call it: Owner or Admin. Needs service: delete, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The Application's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/delete/forget \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Ports
List ports for an Application
GET/ports
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
applicationIdrequired | query | string | Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl "https://cloudgate.octabyte.app/backend/ports?applicationId=j9ct9tCzxUD9FjoxV2gtc" \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Create a port
POST/ports
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Request body
| Field | Type | Notes |
|---|---|---|
publishedPortrequired | integer | 1 to 65535. |
targetPortrequired | integer | 1 to 65535. |
protocol | string | One of tcp, udp. Default "tcp". |
publishMode | string | One of ingress, host. Default "ingress". |
applicationIdrequired | string | Not empty. |
Responses
201Created- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/ports \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"publishedPort": 3000,
"targetPort": 3000,
"applicationId": "j9ct9tCzxUD9FjoxV2gtc"
}'Get a port
GET/ports/{portId}
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
portIdrequired | path | string | The port's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl https://cloudgate.octabyte.app/backend/ports/kyipRhkkXUt2hkNXJE5Gk \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Update a port
PATCH/ports/{portId}
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
portIdrequired | path | string | The port's id. |
Request body
| Field | Type | Notes |
|---|---|---|
publishedPort | integer | 1 to 65535. |
targetPort | integer | 1 to 65535. |
protocol | string | One of tcp, udp. |
publishMode | string | One of ingress, host. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X PATCH https://cloudgate.octabyte.app/backend/ports/kyipRhkkXUt2hkNXJE5Gk \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"publishedPort": 3000,
"targetPort": 3000,
"protocol": "tcp"
}'Delete a port
DELETE/ports/{portId}
Who can call it: Owner or Admin. Needs service: delete, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
portIdrequired | path | string | The port's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X DELETE https://cloudgate.octabyte.app/backend/ports/kyipRhkkXUt2hkNXJE5Gk \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Mounts
List mounts for a Service
GET/mounts
Who can call it: Owner, Admin or Member. Needs volume: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
serviceIdrequired | query | string | Not empty. |
serviceTyperequired | query | string | One of application, postgres, mysql, mariadb, mongo, redis, compose, libsql. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl "https://cloudgate.octabyte.app/backend/mounts?serviceId=ikGaJLrdLoCZDcimNaVV3&serviceType=application" \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Create a mount
POST/mounts
Who can call it: Owner, Admin or Member. Needs volume: create, which a custom role can also grant.
Request body
| Field | Type | Notes |
|---|---|---|
typerequired | string | Must be 'file' when serviceType is 'compose'. Nothing assembles a Compose stack's mount rows into a deploy spec, so a bind or a volume attached to one would never be read; declare those in the stack's own compose file. One of bind, volume, file. |
hostPath | string | |
volumeName | string | Not empty. Matches ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$. |
filePath | string | |
content | string | |
mountPath | string | Required unless serviceType is 'compose'. A compose stack's mount rows are never assembled into a deploy spec, so a compose mount has no container target to name; every other serviceType is refused without one. Not empty. |
serviceType | string | One of application, postgres, mysql, mariadb, mongo, redis, compose, libsql. Default "application". |
serviceIdrequired | string | Not empty. |
Responses
201Created- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/mounts \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"type": "bind",
"serviceId": "ikGaJLrdLoCZDcimNaVV3"
}'Get a mount
GET/mounts/{mountId}
Who can call it: Owner, Admin or Member. Needs volume: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
mountIdrequired | path | string | The mount's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl https://cloudgate.octabyte.app/backend/mounts/SWLRAHMW7ah3BRmikvVaK \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Update a mount
PATCH/mounts/{mountId}
Who can call it: Owner, Admin or Member. Needs volume: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
mountIdrequired | path | string | The mount's id. |
Request body
| Field | Type | Notes |
|---|---|---|
type | string | Must be 'file' when the mount belongs to a Compose stack. Nothing assembles a Compose stack's mount rows into a deploy spec, so a bind or a volume attached to one would never be read; declare those in the stack's own compose file. One of bind, volume, file. |
hostPath | string | |
volumeName | string | Not empty. Matches ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$. |
filePath | string | |
content | string | |
mountPath | string | Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X PATCH https://cloudgate.octabyte.app/backend/mounts/SWLRAHMW7ah3BRmikvVaK \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"type": "bind",
"hostPath": "/",
"volumeName": "example"
}'Delete a mount
DELETE/mounts/{mountId}
Who can call it: Owner, Admin or Member. Needs volume: delete, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
mountIdrequired | path | string | The mount's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X DELETE https://cloudgate.octabyte.app/backend/mounts/SWLRAHMW7ah3BRmikvVaK \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Basic auth
List basic-auth users for an Application
GET/security
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
applicationIdrequired | query | string | Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl "https://cloudgate.octabyte.app/backend/security?applicationId=j9ct9tCzxUD9FjoxV2gtc" \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Create a basic-auth user
POST/security
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Request body
| Field | Type | Notes |
|---|---|---|
usernamerequired | string | 1 to 255 characters. |
passwordrequired | string | Not empty. |
applicationIdrequired | string | Not empty. |
Responses
201Created- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/security \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"username": "deploy",
"password": "<secret>",
"applicationId": "j9ct9tCzxUD9FjoxV2gtc"
}'Get a basic-auth user
GET/security/{securityId}
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
securityIdrequired | path | string | The security's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl https://cloudgate.octabyte.app/backend/security/D5MY8hVPgJb9rENJ4nD7Z \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Update a basic-auth user
PATCH/security/{securityId}
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
securityIdrequired | path | string | The security's id. |
Request body
| Field | Type | Notes |
|---|---|---|
username | string | 1 to 255 characters. |
password | string | Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X PATCH https://cloudgate.octabyte.app/backend/security/D5MY8hVPgJb9rENJ4nD7Z \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"username": "deploy",
"password": "<secret>"
}'Delete a basic-auth user
DELETE/security/{securityId}
?force=true is the escape hatch for a Server that is gone for good, as on an Application Delete: without it, a Server that cannot be reached is a 409 naming it and the row is kept; with it, the row goes and the response names the router left in that Server's file. Compared to 'true' like the Application Delete's.
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
securityIdrequired | path | string | The security's id. |
forcerequired | query | string |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X DELETE "https://cloudgate.octabyte.app/backend/security/D5MY8hVPgJb9rENJ4nD7Z?force=example" \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Patches
List a Service's patches
GET/patches
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | query | string | Not empty. |
typerequired | query | string | One of application, compose. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl "https://cloudgate.octabyte.app/backend/patches?id=example&type=example" \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Create a patch
POST/patches
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Request body
| Field | Type | Notes |
|---|---|---|
filePathrequired | string | A path relative to the repository root, with no ".." segment and none of ", `, $, a backslash, NUL or a line break. Not empty. |
contentrequired | string | |
type | string | One of create, update, delete. |
enabled | boolean | |
applicationId | string | The owning Application. Exactly one of applicationId or composeId must be sent; a body carrying both is refused. |
composeId | string | The owning Compose stack. Exactly one of applicationId or composeId must be sent; a body carrying both is refused. |
Responses
201Created- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/patches \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"filePath": "/",
"content": "example"
}'Save file as patch
POST/patches/save-file
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Request body
| Field | Type | Notes |
|---|---|---|
idrequired | string | Not empty. |
typerequired | string | One of application, compose. |
filePathrequired | string | A path relative to the repository root, with no ".." segment and none of ", `, $, a backslash, NUL or a line break. Not empty. |
contentrequired | string | |
patchType | string | One of create, update. Default "update". |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/patches/save-file \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"id": "7x69ERQdJG36GHb5z54Qw",
"type": "application",
"filePath": "/",
"content": "example"
}'Mark file for deletion
POST/patches/mark-for-deletion
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Request body
| Field | Type | Notes |
|---|---|---|
idrequired | string | Not empty. |
typerequired | string | One of application, compose. |
filePathrequired | string | A path relative to the repository root, with no ".." segment and none of ", `, $, a backslash, NUL or a line break. Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/patches/mark-for-deletion \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"id": "7x69ERQdJG36GHb5z54Qw",
"type": "application",
"filePath": "/"
}'Ensure repo
POST/patches/repo/ensure
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Request body
| Field | Type | Notes |
|---|---|---|
idrequired | string | Not empty. |
typerequired | string | One of application, compose. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/patches/repo/ensure \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"id": "7x69ERQdJG36GHb5z54Qw",
"type": "application"
}'Read repo directories
GET/patches/repo/directories
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | query | string | Not empty. |
typerequired | query | string | One of application, compose. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl "https://cloudgate.octabyte.app/backend/patches/repo/directories?id=example&type=example" \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Read repo file
GET/patches/repo/file
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | query | string | Not empty. |
typerequired | query | string | One of application, compose. |
filePathrequired | query | string | |
source | query | string | One of patch, repo. Default "patch". |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches. The error body.
curl "https://cloudgate.octabyte.app/backend/patches/repo/file?id=example&type=example&filePath=example" \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Clean repos
POST/patches/repo/clean
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Request body
| Field | Type | Notes |
|---|---|---|
serverId | string or null |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403You may not reach what it touches. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/patches/repo/clean \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"serverId": "Ni7mAbWKjbWy4KErPjtrY"
}'Get a patch
GET/patches/{patchId}
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
patchIdrequired | path | string | The patch's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl https://cloudgate.octabyte.app/backend/patches/aKJKDSmq8mHGaxCdYQwUZ \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Update a patch
PATCH/patches/{patchId}
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
patchIdrequired | path | string | The patch's id. |
Request body
| Field | Type | Notes |
|---|---|---|
filePath | string | A path relative to the repository root, with no ".." segment and none of ", `, $, a backslash, NUL or a line break. Not empty. |
content | string | |
type | string | One of create, update, delete. |
enabled | boolean |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X PATCH https://cloudgate.octabyte.app/backend/patches/aKJKDSmq8mHGaxCdYQwUZ \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"filePath": "/",
"content": "example",
"type": "create"
}'Delete a patch
DELETE/patches/{patchId}
Who can call it: Owner or Admin. Needs service: delete, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
patchIdrequired | path | string | The patch's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X DELETE https://cloudgate.octabyte.app/backend/patches/aKJKDSmq8mHGaxCdYQwUZ \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Toggle enabled
POST/patches/{patchId}/toggle
Who can call it: Owner or Admin. Needs service: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
patchIdrequired | path | string | The patch's id. |
Request body
| Field | Type | Notes |
|---|---|---|
enabledrequired | boolean |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/patches/aKJKDSmq8mHGaxCdYQwUZ/toggle \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"enabled": true
}'Runtime log
Read the runtime log
GET/applications/{id}/runtime-log
Every task's lines from since on, merged by time, each naming its task, and the since of the next read.
Who can call it: Any signed-in member. The route names no permission of its own; Cloudgate checks your role and your access to what it touches as it runs.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The id. |
since | query | integer | At least 0. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403You may not reach what it touches;404Nothing with that id in this Organization. The error body.
curl https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/runtime-log \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Cron runs
Run a cron Service now
POST/applications/{id}/run
Who can call it: Owner, Admin or Member. Needs deployment: create, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The id. |
Responses
201Created- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/run \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Cloud resources
List cloud resources
GET/applications/{id}/cloud-resources
What Cloudgate made for the Service: type, AWS id, region and tags only.
Who can call it: Owner, Admin or Member. Needs service: read, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The cloud resource's id. |
Responses
200OK- The result, as JSON.
- Refusals
401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/cloud-resources \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID"Rebuild a cloud resource
POST/applications/{id}/state/rebuild
Discards an unreadable state and plans an adopt by tag; confirmed by the Service's name.
Who can call it: Owner, Admin or Member. Needs service: update, which a custom role can also grant.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string | The cloud resource's id. |
Request body
| Field | Type | Notes |
|---|---|---|
confirmNamerequired | string | Not empty. |
Responses
200OK- The result, as JSON.
- Refusals
400Validation failed;detailsnames each field;401No key, or the key is not valid;403Your role does not allow it, or you were not granted what it touches;404Nothing with that id in this Organization. The error body.
curl -X POST https://cloudgate.octabyte.app/backend/applications/RAU6yAYUXFRdXdPLyLoPC/state/rebuild \
-H "x-api-key: $CLOUDGATE_KEY" \
-H "x-organization-id: $CLOUDGATE_ORG_ID" \
-H "content-type: application/json" \
-d '{
"confirmName": "example"
}'Something missing or wrong on this page? Email support@octabyte.io, or start a free trial and try it in the console.