Services run your own container image as long-running compute. Supply volumes if the service needs persistent storage.
List services
Create a service
Provision a long-running service from your own container image.
Supply volumes if the service needs persistent storage. Each
instance receives its own disk of the requested size.
path Parameters
workspace_idproject_idCreate a service › Request Body
imagenameportdomainsinstancestagsCreate a service › Responses
Service created
messagestatusGet a service
Returns the service's configured spec: image, port, instances, env vars, domains, and volumes.
path Parameters
workspace_idproject_idservice_idGet a service › Responses
Service detail
messagestatusUpdate a service
Applies the updated configuration. Any field omitted from the request is left unchanged.
path Parameters
workspace_idproject_idservice_idUpdate a service › Request Body
domainsimageinstancesnameporttagsUpdate a service › Responses
Service updated
messagestatusDelete a service
Removes the service and all of its backing resources. Instances, ingress routing, and volumes (for stateful services) are cleaned up. Irreversible.
path Parameters
workspace_idproject_idservice_idDelete a service › Responses
Service deleted
datamessagestatusGet service logs
Returns stdout and stderr lines from every instance of the service
within the requested time window. Supply ?since=<seconds> for a
relative window, or ?start=<ISO 8601 timestamp>&end=<ISO 8601 timestamp>
for an absolute one. Timestamps look like 2026-04-22T15:30:00Z. Use
?filter= for a case-sensitive substring match.
path Parameters
workspace_idproject_idservice_idquery Parameters
sincestartendlimitfilterGet service logs › Responses
Logs
messagestatusGet service metrics
Returns a batch of time series for the requested metrics. Pass a
comma-separated list in ?names=. Each metric's result is wrapped
with its own status so one failing query does not fail the whole
request.
Available metrics:
cpu_usage: average CPU across instances, in coresmemory_usage: total memory across instances, in bytesrequest_rate: ingress requests per seconderror_rate: 5xx responses per secondlatency_p95: 95th-percentile request latency, in seconds
The request-related metrics (request_rate, error_rate,
latency_p95) only produce data for services that have configured
domains.
path Parameters
workspace_idproject_idservice_idquery Parameters
namessincestartendGet service metrics › Responses
All metrics succeeded
messagestatusGet service access logs
Returns one row per HTTP request routed to this service through its
ingress. Only meaningful for services with configured domains.
Supports filtering by ?status=200,404, ?method=GET,POST, and
?path_contains=/api/v1.
path Parameters
workspace_idproject_idservice_idquery Parameters
sincestartendlimitstatusmethodpath_containsGet service access logs › Responses
Request logs
messagestatusRestart a service
Triggers a rolling restart of every instance. Instances are replaced one at a time so traffic to the service is never interrupted. Useful for picking up new secrets, rotating long-lived connections, or recovering from transient bad state.
path Parameters
workspace_idproject_idservice_idRestart a service › Responses
Restart triggered
datamessagestatusScale a service
Adjusts the number of running instances. Scaling to 0 pauses the service without deleting it. For stateful services, each instance has its own volume: scaling up provisions new volumes, scaling down retains them.
path Parameters
workspace_idproject_idservice_idScale a service › Responses
Scaled
datamessagestatusGet service status
Returns live instance counts (total, ready) and whether the service is currently available. Poll this endpoint after a create, update, scale, or restart to know when the service has converged.
path Parameters
workspace_idproject_idservice_idGet service status › Responses
Status
messagestatus