{
  "schema_version": 2,
  "id": "operate/rs/references/rest-api/requests/services",
  "title": "Services requests",
  "url": "https://redis.io/docs/latest/operate/rs/references/rest-api/requests/services/",
  "summary": "REST API requests to list or modify Redis Software services.",
  "tags": [
    "docs",
    "operate",
    "rs"
  ],
  "last_updated": "2026-10-05T16:11:44+01:00",
  "children": [],
  "page_type": "content",
  "content_hash": "56fa0914fdd4ed416f326273b7699303758fb78c46bb0d0a6b587fedbee63696",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "| Method | Path | Description |\n|--------|------|-------------|\n| [GET](#get-local-services) | `/v1/local/services` | List Redis Software services on the local node |\n| [POST](#post-local-services) | `/v1/local/services` | Modify or perform operations on local processes |\n| [POST](#post-services) | `/v1/services` | Modify or perform operations on primary node processes |\n\n> [!WARNING]\n> This API is dangerous and should only be run with guidance from [Redis support](https://redis.io/support/).\n>\n> Stop, start, or restart optional services only. Changing the status of required services can negatively affect cluster behavior and cause a complete loss of the cluster and its data.\n>\n> For a list of optional services, see the [services configuration object reference](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/services_configuration) or use a [`GET /v1/cluster/services_configuration`](https://redis.io/docs/latest/operate/rs/references/rest-api/requests/cluster/services_configuration#get-cluster-services_config) request."
    },
    {
      "id": "get-local-services",
      "title": "Get local services",
      "role": "content",
      "text": "[code example]\n\nLists all Redis Software services currently running on the local node and relevant metadata."
    },
    {
      "id": "get-request",
      "title": "Request",
      "role": "content",
      "text": "#### Example HTTP request\n\n[code example]\n\n\n#### Headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cnm.cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |"
    },
    {
      "id": "get-response",
      "title": "Response",
      "role": "returns",
      "text": "Returns a JSON object that describes all Redis Software services currently running on the local node and relevant metadata.\n\nPossible `status` values: \n- RESTARTING\n- RUNNING\n- STARTING\n- STOPPED\n\n#### Example JSON response body\n\n[code example]\n\n#### Status codes {#get-status-codes}\n\n| Code | Description |\n|------|-------------|\n| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error |"
    },
    {
      "id": "post-local-services",
      "title": "Modify local services",
      "role": "content",
      "text": "[code example]\n\nModify Redis Software services or perform operations that directly interact with processes on the local node. To perform operations on the primary node, use [`POST /v1/services`](#post-services) instead.\n\nSupported `operation_type` values:\n\n- stop\n- start\n- restart\n\n> [!WARNING]\n> This API is dangerous and should only be run with guidance from [Redis support](https://redis.io/support/).\n>\n> Stop, start, or restart optional services only. Changing the status of required services can negatively affect cluster behavior and cause a complete loss of the cluster and its data.\n>\n> For a list of optional services, see the [services configuration object reference](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/services_configuration) or use a [`GET /v1/cluster/services_configuration`](https://redis.io/docs/latest/operate/rs/references/rest-api/requests/cluster/services_configuration#get-cluster-services_config) request."
    },
    {
      "id": "post-local-request",
      "title": "Request",
      "role": "content",
      "text": "#### Example HTTP request\n\n[code example]\n\n#### Headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cnm.cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |\n\n\n#### Example JSON request body\n\n[code example]"
    },
    {
      "id": "post-local-response",
      "title": "Response",
      "role": "returns",
      "text": "Returns a JSON object that shows whether the operation ran successfully or failed for each requested service.\n\n#### Example JSON response body\n\n[code example]\n\n\n#### Status codes {#post-local-status-codes}\n\n| Code | Description |\n|------|-------------|\n| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error. |"
    },
    {
      "id": "post-services",
      "title": "Modify primary node services",
      "role": "content",
      "text": "[code example]\n\nModify Redis Software services or perform operations that directly interact with processes on the primary node. For operations on secondary nodes, use [`POST /v1/local/services`](#post-local-services) instead.\n\nSupported `operation_type` values:\n\n- stop\n- start\n- restart\n\n> [!WARNING]\n> This API is dangerous and should only be run with guidance from [Redis support](https://redis.io/support/).\n>\n> Stop, start, or restart optional services only. Changing the status of required services can negatively affect cluster behavior and cause a complete loss of the cluster and its data.\n>\n> For a list of optional services, see the [services configuration object reference](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/services_configuration) or use a [`GET /v1/cluster/services_configuration`](https://redis.io/docs/latest/operate/rs/references/rest-api/requests/cluster/services_configuration#get-cluster-services_config) request."
    },
    {
      "id": "post-request",
      "title": "Request",
      "role": "content",
      "text": "#### Example HTTP request\n\n[code example]\n\n#### Headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cnm.cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |\n\n\n#### Example JSON request body\n\n[code example]"
    },
    {
      "id": "post-response",
      "title": "Response",
      "role": "returns",
      "text": "Returns a JSON object that shows whether the operation ran successfully or failed for each requested service.\n\n#### Example JSON response body\n\n[code example]\n\n\n#### Status codes {#post-status-codes}\n\n| Code | Description |\n|------|-------------|\n| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error. |"
    }
  ],
  "examples": [
    {
      "id": "get-local-services-ex0",
      "language": "sh",
      "code": "GET /v1/local/services",
      "section_id": "get-local-services"
    },
    {
      "id": "get-request-ex0",
      "language": "sh",
      "code": "GET /v1/local/services",
      "section_id": "get-request"
    },
    {
      "id": "get-response-ex0",
      "language": "json",
      "code": "{\n    \"alert_mgr\": {\n        \"start_time\": \"2024-05-13T18:38:00Z\",\n        \"status\": \"RUNNING\",\n        \"uptime\": \"3 days, 0:58:59\"\n    },\n    \"ccs\": {\n        \"start_time\": \"2024-05-13T18:38:59Z\",\n        \"status\": \"RUNNING\",\n        \"uptime\": \"3 days, 0:58:00\"\n    },\n    ...\n}",
      "section_id": "get-response"
    },
    {
      "id": "post-local-services-ex0",
      "language": "sh",
      "code": "POST /v1/local/services",
      "section_id": "post-local-services"
    },
    {
      "id": "post-local-request-ex0",
      "language": "sh",
      "code": "POST /v1/local/services",
      "section_id": "post-local-request"
    },
    {
      "id": "post-local-request-ex1",
      "language": "json",
      "code": "{\n  \"operation_type\": \"restart\",\n  \"services\": [\n    \"alert_mgr\"\n  ]\n}",
      "section_id": "post-local-request"
    },
    {
      "id": "post-local-response-ex0",
      "language": "json",
      "code": "{\n    \"alert_mgr\": true,\n    \"metrics_exporter\": true\n}",
      "section_id": "post-local-response"
    },
    {
      "id": "post-services-ex0",
      "language": "sh",
      "code": "POST /v1/services",
      "section_id": "post-services"
    },
    {
      "id": "post-request-ex0",
      "language": "sh",
      "code": "POST /v1/services",
      "section_id": "post-request"
    },
    {
      "id": "post-request-ex1",
      "language": "json",
      "code": "{\n  \"operation_type\": \"restart\",\n  \"services\": [\n    \"alert_mgr\"\n  ]\n}",
      "section_id": "post-request"
    },
    {
      "id": "post-response-ex0",
      "language": "json",
      "code": "{\n    \"alert_mgr\": true,\n    \"metrics_exporter\": true\n}",
      "section_id": "post-response"
    }
  ]
}
