compute

POST /v1/compute/servers/{serverId}/services/action

Start, stop or restart one service inside a server.

所有 compute 端点

身份验证

请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 sites.view 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。

此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。

免费试用

将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。

curl -X POST https://api.zinndigital.com/v1/compute/servers/{serverId}/services/action \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "unit": <string>, "action": <string<start, stop, restart>> }'

已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点

详细信息

Acts on a single service unit inside the machine - Apache, MariaDB, ProFTPD - while the machine itself stays up. This is the difference between a customer whose site is down fixing it themselves in ten seconds and a customer opening a ticket. ⛔ **Not the same blast radius as `setComputeServerPower`.** That one moves the whole machine; this moves one unit inside a machine that keeps running. Stopping a web server or a database still takes every website on that box off the air, so the operation is audit-logged with the real actor. ⛔ **`unit` must be a service the machine is currently running.** The engine checks the name against the machine's own live service list before sending anything, so an arbitrary systemd unit - `sshd.service`, a firewall, the enrolment agent - is refused with a `422` that names what is available instead. The list this endpoint's sibling `listComputeServerServices` returns is exactly the set that may be named here. The response carries the provider's own confirmation sentence, which is worth showing to the customer verbatim. `404` for a server that is not the caller's; `422` for a machine that is not `active`, a unit it does not run, or a verb outside start/stop/restart. Requires `sites.view` **and** `sites.restart`.

参数

名称类型必填内容简介
serverId (path)UuidThe server's id, as `listComputeServers` reports it. **Ours** (UUIDv7), minted when the order row was written — never the provider's own identifier for the machine.

请求正文

名称类型必填内容简介
unitstringThe service unit to act on, exactly as `listComputeServerServices` reports it (`httpd.service`, `mariadb.service`, `proftpd.service`). ⛔ Must be a unit the machine is **currentl…
actionstring<start, stop, restart>⛔ A closed vocabulary. `reload`, `enable` and `disable` are deliberately absent: they have never been proven against a provider, and a verb we have not proven is a button that m…

响应

名称类型必填内容简介
messagestringThe provider's own confirmation sentence — *"Service proftpd.service was stopped successfully."* — passed through verbatim, because it is more specific than anything we would su…

此端点可能返回的错误

401 · 403 · 404 · 422 · 429 · 503