{
  "schema_version": 2,
  "id": "operate/rc/api/get-started",
  "title": "Get started with the REST API",
  "url": "https://redis.io/docs/latest/operate/rc/api/get-started/",
  "summary": "Describes how Redis Cloud REST API uses keys to authenticate and authorize access.",
  "tags": [
    "docs",
    "operate",
    "rc"
  ],
  "last_updated": "2026-09-25T14:59:52+01:00",
  "children": [
    {
      "id": "operate/rc/api/get-started/enable-the-api",
      "summary": "Use the Redis Cloud dashboard to enable the REST API.",
      "title": "Enable the API",
      "url": "https://redis.io/docs/latest/operate/rc/api/get-started/enable-the-api/"
    },
    {
      "id": "operate/rc/api/get-started/manage-api-keys",
      "summary": "How to use the Redis Cloud console to create and manage API user keys for your account's team owners",
      "title": "Manage API keys",
      "url": "https://redis.io/docs/latest/operate/rc/api/get-started/manage-api-keys/"
    },
    {
      "id": "operate/rc/api/get-started/use-rest-api",
      "summary": "How to use the API with various tools (especially `cURL`)",
      "title": "Use the REST API",
      "url": "https://redis.io/docs/latest/operate/rc/api/get-started/use-rest-api/"
    },
    {
      "id": "operate/rc/api/get-started/manage-tasks",
      "summary": "A task is an API operation that is performed asynchronously because it exceeds the time allowed for the synchronous request/response model.",
      "title": "Manage API tasks",
      "url": "https://redis.io/docs/latest/operate/rc/api/get-started/manage-tasks/"
    },
    {
      "id": "operate/rc/api/get-started/process-lifecycle",
      "summary": "API requests follow specific lifecycle phases and states, based on the complexity and length of execution of the operation.",
      "title": "The API request lifecycle",
      "url": "https://redis.io/docs/latest/operate/rc/api/get-started/process-lifecycle/"
    }
  ],
  "page_type": "content",
  "content_hash": "54b37463af35b5ae3b643c25c3eb985965b5a482b2edbb4d6c0cfd41a3a9d821",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "To use the Redis Cloud REST API, you need to:\n\n- Enable the API\n- Create an account key\n- Create a user key\n- Collect endpoint details\n\nTo use the keys to authenticate and authorize your request, include the keys with the request headers:\n\n| Key name         | HTTP&nbsp;header&nbsp;name   |Description                                            |\n| -----------      | -------------------| ----------------------------------------------------- |\n| Account&nbsp;key | `x-api-key`        | Account-level key assigned to all users of an account |\n| User key       | <nobr>`x-api-secret-key`</nobr> | Personal key associated with a specific user and possibly limited to certain IP ranges                      |"
    },
    {
      "id": "enable-the-api",
      "title": "Enable the API",
      "role": "content",
      "text": "The API is disabled on all accounts by default. You must [enable the API](https://redis.io/docs/latest/operate/rc/api/get-started/enable-the-api) before you can use it."
    },
    {
      "id": "account-key",
      "title": "Account key",
      "role": "content",
      "text": "The account key identifies your specific account when you perform an API request.  This is the account responsible for your subscription.\n\n> [!NOTE]\n> An account key is an account-level secret. Do not share this key with anyone not authorized to use the account.\n\nYou create the account key once when enabling API access.\n\nIf you need to change or delete your account key, please [contact support](https://redislabs.com/company/support/)."
    },
    {
      "id": "user-key",
      "title": "User key",
      "role": "content",
      "text": "The user key is a personal key that belongs to a specific user having the **Owner**, **Viewer**, **Billing admin**, or **Logs viewer** role.  User keys are assigned to users when they're created.  Keys can belong to only one user; however, a user may have multiple keys.\n\nYou can view keys or copy their values _only_ during the [creation process](https://redis.io/docs/latest/operate/rc/api/get-started/manage-api-keys).\n\n> [!NOTE]\n> User keys are personal secrets. Do not share them.\n\nIndividual owners can [generate multiple user keys](https://redis.io/docs/latest/operate/rc/api/get-started/manage-api-keys)\nfor themselves, for separate apps, or for other owners, viewers, or log viewers within the same account.\n\nUse key names to uniquely associate specific API requests to individual users or apps.\n\nDoing so lets you [audit API requests](https://redis.io/docs/latest/operate/rc/api/examples/audit-system-logs) using the system log, which tracks the key used to authenticate each request."
    },
    {
      "id": "authentication-using-api-keys",
      "title": "Authentication using API keys",
      "role": "security",
      "text": "Every API request must use the **account key** and a **user key** to authenticate.\n\nThe keys are provided as [HTTP request headers](https://redis.io/docs/latest/operate/rc/api/get-started/use-rest-api#use-the-curl-http-client), shown earlier."
    },
    {
      "id": "authenticate-a-request",
      "title": "Authenticate a request",
      "role": "security",
      "text": "An API request successfully authenticates when:\n\n1. The account and user keys are valid and properly defined in the HTTP request headers.\n1. The user key is associated with the same account as the account key.\n1. The request originates from a valid source IP address, as defined in a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) allow list associated with the user key.\n\n    This requirement applies when you've [defined a CIDR allow list](https://redis.io/docs/latest/operate/rc/api/get-started/manage-api-keys#manage-cidr-allow-list) for the secret key."
    },
    {
      "id": "more-info",
      "title": "More info",
      "role": "content",
      "text": "To learn more, see:\n\n- [Manage API keys](https://redis.io/docs/latest/operate/rc/api/get-started/manage-api-keys)\n- [Use the API](https://redis.io/docs/latest/operate/rc/api/get-started/use-rest-api)\n- [Full API reference](https://redis.io/docs/latest/operate/rc/api/api-reference)"
    }
  ],
  "examples": []
}
