compute
POST /v1/compute/servers/{serverId}/services/action
Start, stop or restart one service inside a server.
Նույնականացում
Ուղարկեք API բանալին որպես bearer token: Բանալին պետք է ունենա 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) | Uuid | Այո | The 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. |
Հարցման մարմին
| Անուն | Տեսակ | Պահանջվում է | Ինչ է դա |
|---|---|---|---|
unit | string | Այո | The service unit to act on, exactly as `listComputeServerServices` reports it (`httpd.service`, `mariadb.service`, `proftpd.service`). ⛔ Must be a unit the machine is **currentl… |
action | string<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… |
Պատասխան
| Անուն | Տեսակ | Պահանջվում է | Ինչ է դա |
|---|---|---|---|
message | string | Այո | The 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