---
title: "Stop a service on an owned node"
method: POST
path: "/api/nodes/{node_id}/services/{service_name}/stop"
tags: ["nodes"]
---

# Stop a service on an owned node

`POST /api/nodes/{node_id}/services/{service_name}/stop`

## Request

- Base URL: `https://app.nerdit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.nerdit.ai/api/nodes/{node_id}/services/{service_name}/stop`
- Auth: none declared

## Path parameters

- `service_name` string, required
- `node_id` string, uuid, required

## Response `200`

Successful Response

- NodeServiceActionView: What one verb came to, in the only terms this cloud can vouch for.
  - `node_id` string, uuid, required
  - `service_name` string, required
  - `action` 'restart' | 'stop' | 'redeploy' | 'rollback', required
  - `service` NodeServiceView, required: One service as the node describes it, with nothing added and nothing kept. Every field is the daemon's own, read defensively off its ``ServiceResponse``. What is deliberately *absent* is as load-bearing as what is here: no logs and no resource numbers (plan §1 defers both, with reasons), and no owner token — ``manageable`` is a boolean precisely so the console never learns *whose* a service is (D-NC5).
    - `operation` ServiceOperationView: Dated operation metadata; arbitrary errors and output never enter this view.
      - `identity` string, nullable
      - `phase` string, nullable
      - `action` string, nullable
      - `started_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
      - `failure` string, nullable
    - `name` string, required
    - `service` string, nullable
    - `project_id` string, nullable
    - `kind` string, nullable, required
    - `status` string, nullable, required
    - `image` string, nullable, required
    - `url` string, nullable, required
    - `last_deploy_phase` string, nullable, required
    - `last_deploy_action` string, nullable, required
    - `source_type` string, nullable, required
    - `source_repo` string, nullable, required
    - `source_ref` string, nullable, required
    - `manageable` boolean, required
    - `rollback_available` boolean, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Unprocessable Content
- `502`: Bad Gateway

---

[API](https://skmtc.dev/nerdit/apis/nerdit-cloud-web.md) · [All operations](https://skmtc.dev/nerdit/apis/nerdit-cloud-web/llms.txt) · [OpenAPI document](https://skmtc.dev/nerdit/apis/nerdit-cloud-web/revisions/06e3b44b58be?raw)
