Xeonr Developer Docs
API SpecificationApps

Update App

POST
/containers.api.v1.AppService/UpdateApp

Changes an App's operational envelope in place: scaling, resources, env, egress and label. Only fields named in update_mask are applied; an empty mask applies all of them (scaling only when set). An egress change takes effect by replacing replicas once the App is idle. Also repairs a stored hostname or a missing key. access and auto_start are not applied by this call today.

Access: namespace OPERATOR or above (write)

Authorization

BearerAuth
AuthorizationBearer <token>

A namespace-scoped API key (cpk_…) for machines, or a Xeonr Auth OIDC token for humans. The key's namespace and role are pinned server-side.

In: header

Header Parameters

Connect-Protocol-Version?number

Define the version of the Connect protocol

Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

appId?string
Length1 <= length <= 64
scaling?
resources?
env?
Propertiesproperties <= 1000
egress?|
label?string
Lengthlength <= 4096
updateMask?update_mask

which of the above to apply; empty applies all

access?string

enum.defined_only = true

Value in"APP_ACCESS_UNSPECIFIED" | "APP_ACCESS_KEY" | "APP_ACCESS_PUBLIC"
autoStart?boolean

validate:skip a bool has no bounds

[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://containers.xeonr.io/containers.api.v1.AppService/UpdateApp" \  -H "Connect-Protocol-Version: 1" \  -H "Connect-Timeout-Ms: 1000" \  -H "Content-Type: application/json" \  -d '{}'
{
  "app": {
    "appId": "string",
    "namespace": "string",
    "label": "string",
    "scaling": {
      "minInstances": 0,
      "maxInstances": 0,
      "concurrency": 0,
      "idleTimeoutSec": 0,
      "activationTimeoutSec": 0
    },
    "resources": {
      "cpuMillis": 0,
      "memoryMb": 0,
      "ephemeralMb": 0,
      "pids": 0
    },
    "env": {
      "property1": "string",
      "property2": "string"
    },
    "egress": {
      "egressPolicyId": "string"
    },
    "state": "APP_STATE_UNSPECIFIED",
    "createdAtUnix": "string",
    "updatedAtUnix": "string",
    "hostname": "string",
    "activeVersionId": "string",
    "autoStart": true,
    "access": "APP_ACCESS_UNSPECIFIED",
    "key": "string"
  }
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}