Skip to main content
PUT
/
containers
/
{serviceId}
Update a container service definition
curl --request PUT \
  --url https://core.cyberun.cloud/api/v1/containers/{serviceId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "display_name": "<string>",
  "service_desc": "<string>",
  "docker_image": "<string>",
  "exposed_port": 32768,
  "health_path": "<string>",
  "env_config": [
    {
      "env_name": "<string>",
      "env_value": "<string>"
    }
  ],
  "volume_config": [
    {
      "host_path": "<string>",
      "container_path": "<string>"
    }
  ],
  "required_labels": [
    "<string>"
  ],
  "gpu_count": 123,
  "replica_count": 5,
  "usage_prompt": "<string>",
  "openapi_url": "<string>",
  "external_url": "<string>",
  "external_auth_credential_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'
{
  "id": "019abc12-3456-7890-abcd-ef1234567890"
}

Documentation Index

Fetch the complete documentation index at: https://docs.cyberun.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

User session JWT (Bearer ). Must be paired with the X-Team-ID request header on team-scoped endpoints so the server knows which team's resources to operate on.

Headers

X-Team-ID
string<uuid>

UUID of the team to scope the request to. Used by dual-auth endpoints (runtime + scoped management):

  • JWT callers MUST send it — a user may belong to multiple teams and the runtime cannot otherwise know which one to operate on. Missing header → 400.
  • Credential callers (sk-, dk-) can omit it because the team is derived from the credential row itself. Any value sent is ignored.
Example:

"019abc12-4567-7890-abcd-ef1234567891"

Path Parameters

serviceId
string<uuid>
required

Body

application/json
display_name
string
Maximum string length: 255
service_desc
string
docker_image
string
exposed_port
integer
Required range: 1 <= x <= 65535
health_path
string
env_config
object[]
volume_config
object[]
required_labels
string[]
gpu_count
integer

GPU count: -1=all GPUs, 0=none, N=specific count

replica_count
integer
Required range: 1 <= x <= 10
usage_prompt
string

Optional AI-facing description. See ContainerServiceCreateRequest.

openapi_url
string

Optional path served by the container with an OpenAPI document. See ContainerServiceCreateRequest.

Maximum string length: 500
external_url
string<uri>

Only valid on rows whose service_type is already external. The service_type cannot be changed after creation.

Maximum string length: 2048
Pattern: ^https://
external_auth_credential_id
string<uuid> | null

Only valid on external services. Send a UUID to attach a new credential reference; omit (or send null — the server treats them the same in v1) to leave the existing reference unchanged.

Clearing a previously-set reference via API is not supported in v1: the server cannot distinguish omitted from explicit-null in the request body, so it conservatively defaults to "leave alone". To remove an attached credential, delete and recreate the service. A tristate request shape (omitted / null / value) is filed for a future revision if real demand appears.

Response

Service updated

id
string<uuid>
required

UUID of the created or updated resource.

Example:

"019abc12-3456-7890-abcd-ef1234567890"