hosting

PATCH /api/v1/hosting/apps/{app_id}/services/{id}

Request

  • Base URL
    https://composal.com (the document declares no server; this is the origin it was published from)
  • URL
    https://composal.com/api/v1/hosting/apps/{app_id}/services/{id}
  • Auth
    HTTP bearer

Path parameters

app_idstring required
idstring required

Request body

slugstring
namestring
kind'web' | 'worker' | 'cron' | 'static' | 'private'
runtime'docker' | 'node' | 'ruby' | 'python' | 'go' | 'rust' | 'static' | 'generic'
runtime_adapter_kind'nomad' | 'database'
runtime_adapter_settings_jsonstring nullable
nomad_namespacestring nullable
nomad_regionstring nullable
cpu_mhzinteger nullable
memory_mbinteger nullable
memory_max_mbinteger nullable

Hard memory limit in MB the task may burst to (Nomad MemoryMaxMB). Must be >= memory_mb, which stays the scheduler reservation. Memory above the reservation is oversubscribed and best effort. Null clears the override.

disk_mbinteger nullable
nomad_constraints_jsonstring nullable
nomad_update_strategy_jsonstring nullable
nomad_ulimits_jsonstring nullable

Docker task ulimits as a JSON object of rlimit name to "soft:hard" (e.g. {"nofile":"65536:65536"}). Null/absent leaves the container on the daemon default.

nomad_kill_timeout_secondsinteger nullable

Seconds the task gets after SIGTERM before SIGKILL. Null clears the override and leaves Nomad's 5s default. Capped at 30 because a Nomad client silently clamps kill_timeout to its own max_kill_timeout (default 30s).

nomad_shutdown_delay_secondsinteger nullable

Seconds Nomad waits between deregistering the group's services and sending SIGTERM, so the edge stops routing new requests to the allocation before it is signalled. Null clears the override.

source_pathstring
build_commandstring nullable
release_commandstring nullable
prestart_commandstring nullable
start_commandstring nullable
healthcheck_pathstring nullable
schedulestring nullable
internal_portinteger nullable
desired_instancesinteger
publicly_accessibleboolean
auto_deployboolean
deploy_pathsstring[]

Repo-root-relative path prefixes/globs a push must touch for the service to auto-deploy. Empty array clears the override (default to app root_path).

Response

Updated app service

Changes

No recorded changes to this operation across all 4 revisions of this API.