{
  "id": "rest-api",
  "title": "REST API",
  "url": "https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/",
  "summary": "Documents the REST API available to Redis Enterprise Software deployments.",
  "content": "Redis Enterprise Software provides a REST API to help you automate common tasks.\n\nHere, you'll find the details of the API and how to use it.  \n\nFor more info, see:\n\n- Supported [request endpoints](), organized by path\n- Supported [objects](), both request and response\n- Built-in roles and associated [permissions]()\n- [Redis Enterprise Software REST API quick start]() with examples\n\n## Authentication\n\nAuthentication to the Redis Enterprise Software API occurs via [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication). Provide your username and password as the basic auth credentials.\n\nIf the username and password is incorrect or missing, the request will fail with a [`401 Unauthorized`](https://www.rfc-editor.org/rfc/rfc9110.html#name-401-unauthorized) status code.\n\nExample request using [cURL](https://curl.se/):\n\n``` bash\ncurl -u \"demo@redislabs.com:password\" \\\n    https://localhost:9443/v1/bdbs\n```\n\nFor more examples, see the [Redis Enterprise Software REST API quick start]().\n\n### Permissions\n\nBy default, the admin user is authorized for access to all endpoints. Use [role-based access controls]() and [role permissions]() to manage access.\n\nIf a user attempts to access an endpoint that is not allowed in their role, the request will fail with a [`403 Forbidden`](https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden) status code. For more details on which user roles can access certain endpoints, see [Permissions]().\n\n### Certificates\n\nThe Redis Enterprise Software REST API uses [Self-signed certificates]() to ensure the product is secure. When you use the default self-signed certificates, the HTTPS requests will fail with `SSL certificate problem: self signed certificate` unless you turn off SSL certificate verification.\n\n## Ports\n\nAll calls must be made over SSL to port 9443. For the API to work, port 9443 must be exposed to incoming traffic or mapped to a different port.\n\nIf you are using a [Redis Enterprise Software Docker image](), run the following command to start the Docker image with port 9443 exposed:\n\n```sh\ndocker run -p 9443:9443 redislabs/redis\n```\n\n## Versions\n\nAll API requests are versioned in order to minimize the impact of backwards-incompatible API changes and to coordinate between different versions operating in parallel.\n\nSpecify the version in the request [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier), as shown in the following table:\n\n| Request path | Description |\n|--------------|-------------|\n| POST `/v1/bdbs` | A version 1 request for the `/bdbs` endpoint. |\n| POST `/v2/bdbs` | A version 2 request for the `/bdbs` endpoint. |\n\nWhen an endpoint supports multiple versions, each version is documented on the corresponding endpoint.  For example, the [bdbs request]() page documents POST requests for [version 1]() and [version 2]().\n\n## Headers\n\n### Requests\n\nRedis Enterprise REST API requests support the following HTTP headers:\n\n| Header | Supported/Required Values |\n|--------|---------------------------|\n| Accept | `application/json` |\n| Content-Length | Length (in bytes) of request message |\n| Content-Type | `application/json` (required for PUT or POST requests) |\n\nIf the client specifies an invalid header, the request will fail with a [`400 Bad Request`](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) status code.\n\n### Responses\n\nRedis Enterprise REST API responses support the following HTTP headers:\n\n| Header | Supported/Required Values |\n|--------|---------------------------|\n| Content-Type | `application/json` |\n| Content-Length | Length (in bytes) of response message |\n\n## JSON requests and responses\n\nThe Redis Enterprise Software REST API uses [JavaScript Object Notation (JSON)](http://www.json.org) for requests and responses. See the [RFC 4627 technical specifications](http://www.ietf.org/rfc/rfc4627.txt) for additional information about JSON.\n\nSome responses may have an empty body but indicate the response with standard [HTTP codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).\n\nBoth requests and responses may include zero or more objects.\n\nIf the request is for a single entity, the response returns a single JSON object or none. If the request is for a list of entities, the response returns a JSON array with zero or more elements.\n\nIf you omit certain JSON object fields from a request, they may be assigned default values, which often indicate that these fields are not in use.\n\n## Response types and error codes\n\n[HTTP status codes](https://www.rfc-editor.org/rfc/rfc9110.html#name-status-codes) indicate the result of an API request. This can be `200 OK` if the server accepted the request, or it can be one of many error codes.\n\nThe most common responses for a Redis Enterprise API request are:\n\n| Response | Condition/Required handling |\n|----------|-----------------------------|\n| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success |\n| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | The request failed, generally due to a typo or other mistake. |\n| [401 Unauthorized](https://www.rfc-editor.org/rfc/rfc9110.html#name-401-unauthorized) | The request failed because the authentication information was missing or incorrect. |\n| [403 Forbidden](https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden) | The user cannot access the specified [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier). |\n| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | The [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) does not exist. |\n| [503 Service Unavailable](https://www.rfc-editor.org/rfc/rfc9110.html#name-503-service-unavailable) | The node is not responding or is not a member of the cluster. |\n| [505\u0026nbsp;HTTP\u0026nbsp;Version\u0026nbsp;Not\u0026nbsp;Supported](https://www.rfc-editor.org/rfc/rfc9110.html#name-505-http-version-not-suppor) | An unsupported `x-api-version` was used. See [versions](#versions). |\n\nSome endpoints return different response codes. The request references for these endpoints document these special cases.\n",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-04-01T08:10:08-05:00",
  "children": [{"id":"quick-start","summary":"Redis Enterprise Software REST API quick start","title":"Redis Enterprise Software REST API quick start","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/quick-start/"},{"id":"encryption","summary":"","title":"Encrypt REST API requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/encryption/"},{"id":"requests","summary":"Documents the requests supported by the Redis Enterprise Software REST API calls.","title":"Redis Enterprise REST API requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/"},{"id":"objects","summary":"Documents the objects used with Redis Enterprise Software REST API calls.","title":"Redis Enterprise REST API objects","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/objects/"},{"id":"permissions","summary":"Documents the permissions used with Redis Enterprise Software REST API calls.","title":"Permissions","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/permissions/"}]
}

